I have been absolutely astounded by the spectacular rise in the number of Apps for the iPhone. From 2008’s launch date’s 40 apps to 5000 apps three months later and now more than 50,000 apps as of the turn of Summer 2009. Last time I saw this type of programming support and take-off was with Visual Basic back in the early 19990’s … and VB did not have such a instantaneous app explosion. Credit NYTimes Reviewer David Pogue for getting this spectacular rise right with his prediction back in March of 2008.
See the complete iPhone/iOS development history here.
So I decided to take a look at the programming strategy behind iPhone because David only mentions an SDK and lavishes attention rightfully on the other key ingredient for success – the online iPhone App Store. So a little poking around the Apple development site reveals the following:
1)First signup for a developer registration;
2)Then access the SDK and gobs of documentation including a good example of your first iPhone App;
3)You will need to come up to speed in Objective C, Cocoa Framework with the help of Interface Builder;
4)You will be working on Leopard OS/x Mac though VMware is working on Windows virtual Machine running Leopard OS/x- but that appears to be the closest Windows developers can get to iPhone development.
With these helpful hints you are off to developing your own iPhone app. One can think of iPhone Apps as the culmination of two trends in IT and modern economics – Open Source Development using open APIs and the evolution of Mass Production to Mass Customization – where users buys the basic tool [iPhone], and either customize it themselves or have others do the bulk of the work for them. Oops – there is one fly in the ointment here – the source code for iPhone apps is not always available to the end user as in true Open Source Development. That is a key reason developers can charge for their iPhone apps if they so chose. The code for an iPhone app is not readily available for duplication in contrast to all Open Source applications. So now for contrast lets take a look at the Palm Pre App Development Strategy
Palm Pre App Development Strategy
Palm had long been the leader first in PDA – Personal Digital Assitant devices and then married its PDAs to a phone very successfully with its Treo line. But Palm fell behind in two key areas – supporting the Web or Internet and being able to handle the ‘server push’ needed to make mail and instant messaging work well with its Treos. Enter the Palm Pre – a smartphone with all the Web smarts plus credit for a better phone interface than iPhone by most reviewers. WebOS, the Palm operating system is credited with this advantage.
So how is the Palm Pre delivering App development ? With HTML5, JavaScript, CSS, and its Palm Pre APIs and Java Eclipse-based emulator and development tools. The development site for Palm’s webOS is here and a view of the key tools ise here. For those familiar with Eclipse running Palm Pre is reasonably staright forward – but there is also a command line interface as well. If you look at the Hello World Palm Pre app you will see that you are using JSON, HTML, JavaScript, CSS, etc. Yes, if you are a Web developer you have the basic skills to develop Pal Pre apps. Here is what one developer has to say about the Palm Pre in comparison to iPhone’s SDK. Also because the Pre uses much of HTML5 you will be getting a leg up on HTML5 which is rapidly being adopted by the the major browser vendors less one[guess – could they be located in the Redmond Washington area?].
So clearly Palm has taken a much more Open Approach to its app development. But there are some hiccups as the Pre App Stor will be delayed by the full release of the Pre SDK estimated for early September. There will be developers using a pre-release version; but don’t expect Pre apps to take off immediately. But the wider view is that Palm with the Pre has taken a more familiar to developers route using Open Source software for the bulk of its SDK and development tools. Will this win developers ? Stay tuned; but clearly Palm will have to have a good array of apps to compete with Apple in the smartphone market.