Tuesday, February 21, 2012
Friday, February 17, 2012
Phone App Development: Windows Phone 7
Windows Phone 7 has some really great features. If you are a .Net developer, it doesn't take much to build a WP7 application. But that's not what blew my mind last night.
It's all about the infrastructure!
I've been teaching myself hybrid phone development for a couple of months. Since I cannot learn everything at once, I've focused on the phone application itself. I really want to have a single code base that is cross platform so I've been looking at hybrid development with PhoneGap. I know that eventually I'll bump into limitations this way and end up writing native applications. But you've got to start somewhere.
The throw-away application I'm using to learn is an "X Shop" application (where X is a coffee shop, pizza store, bakery, ...). It would give customers a mobile app to view the shop menu, select favorites, and place orders. The shop owner could push information like the coffee flavor of the day or other promotions to the customer. While brainstorming the features I'd like, I've started to consider how I'm going to implement the needed infrastructure for these features. Eventually, the mobile app would need to be part of an integrated solution. I think my code base just grew rather large.
The actual phone application has become the easiest piece of the puzzle. How am I going to interface with the point of sale application? Should I offer one? What about inventory?
Microsoft has created a really great enterprise infrastructure behind their phone. In future posts, I'll flesh out how this can be used to support my "throw-away" coffee shop experiment.
Thursday, February 9, 2012
iOS App Development with PhoneGap and Spine Mobile: Coffee Shop App
Most first applications should be tossed out. I'm learning new stuff and whatever I create in this first application is guaranteed to have, at best, a whiff of code smell (if not reek of it). I don’t want to be saddled with an application that will most likely be mangled by the time I’m done. It’s a proof of concept prototype, or at least it should be. This also takes away the pressure to make it perfect.
I need something more than a sample application, but nothing too complex. It should be something I can start small and build on while still being somewhat useful. I’d like it to perform at least the following functions:
- CRUD operations
- Navigation between modules
- Local data storage
- Auto-magic data updates from the "cloud"
- Some form of membership or identity
Version 0.1
- A home page with a logo
- A menu of available beverages
- Location and hours of operation information
Version 0.2
- A list of “my favorite” beverages
- Loyalty punch card
- Build a beverage (size, to go, flavors, etc.)
Version 0.3
- Order a beverage and update my loyalty card
Version 0.4
- Coupons and/or promotions
- Management of coupons and/or promotions
Wednesday, February 1, 2012
JavaScript Frameworks: Still looking...
So many choices!
There are so many MV* frameworks and libraries available for client side JavaScript application development it’s nearly impossible to give them the proper amount of time to investigate them.
I’ve looked at Backbone.js, Knockout.js, Spine.js, Ember.js, Zappa, Express, JavaScriptMVC, Require.js, jQuery, jQuery Mobile, Handlebars.js, Jasmine, Angular.js, the list goes on.
For the server side I’m looking at Node.js and possibly MongoDB or CouchDB. Not sure…
I’ve also learned just how much I don’t know about JavaScript and how far it’s come. I had no idea what a REPL was until someone mentioned jsFiddle on Twitter.
Then there’s the whole JavaScript or CoffeeScript thing. I think it’s important to learn JavaScript before jumping into CoffeeScript, but it sure looks inviting…
At the moment, entirely subject to change, it looks like either Knockout.js or Backbone.js. I like the MVVM-like nature of Knockout.js data binding. But, Backbone.js has a very active community behind it. I’m nearing the point where I’ll just have to bite the bullet and pick one or I’ll never get going.
More examples soon. I promise!
I’m cursed, but I love it. May you live in interesting times or something like that…
Wednesday, January 18, 2012
Protesting SOPA and PIPA
http://arstechnica.com/tech-policy/news/2012/01/protesting-sopa-what-you-can-do.ars
Monday, January 16, 2012
Open Handed Blocks - Lesson Learned
![]() |
| Feels worse than it looks! |
My wife convinced me to have it checked at the clinic. It's a bit more than a sprain - it's fractured at the knuckle. Other than a longer recovery, there isn't really anything I can do about it.
Managed to sprain my middle finger with a poorly executed open handed block at Friday night's lower Kyū belt grading. It hurt as much as rolling my toe on the old dojo's mats. I could tell my partner didn't much care for me trying to drive my finger through his arm either but we both shook it off and continued. Lesson learned.
First time I've jammed my finger. It really should not be surprising how hard it is not to use your fingers. Especially when they are on your dominant hand. Fortunately, it's not broken, but try typing and using a computer mouse.
![]() |
| Computer mouse and Ice rig |
Once it heals, I'll have to work on those blocks. Obviously I'm not practicing them enough.
Saturday, January 7, 2012
Javascript Frameworks: turing.js
On the second post, Let's Make a Framework: Classes, Inheritance, Extend he mentions Douglas Crockford's excellent discussion of the classical and prototypal inheritance models.
These are really great references for someone learning Javascript and why the language is the way it is. There is a long and dramatic history to Javascript. It's been tested by fire and made stronger for it. I think I'm going to really enjoy learning it.


