|By Bruce Armstrong||
|June 23, 2011 03:00 PM EDT||
I was sort of wondering where application development is headed nowadays. What struck me recently is how long Microsoft has been trying to foster widespread adoption of smartphones and tablet PC devices. They released their first Pocket PC operating system in 2000 and the tablet-specific version of the Windows operating system in 2001 (they'd actually released a pen computing version of Windows in 1992!). Yet it wasn't until Apple released the iPhone in 2007 and the iPad in 2010 that those markets really took off, leaving Microsoft in the dust. The race doesn't always go to the swiftest though. I actually started PC programming on an Apple device (an Apple ][ in the late 70s). However, 4 years after the Apple ][ was released, IBM released their own PC. Because the IBM PC was based on a published specification made available to third-party hardware vendors, the market soon gathered behind the IBM PC and its clones. Today, the more "open" economic ecosystem that could give Apple some stiff competition might be Google Android, but there's still time for Microsoft to do a repeat performance as well.
Think of the impact that the iPod had on how we buy and use music. Tape decks are a thing of the past and CD players are probably not long for the world either. I don't actually own more than a few CDs anymore, and I used to have quite a collection. Now think of the impact that the iPhone had on the smartphone market. That is the kind of change I expect to see the iPad (and the tablet devices coming out to challenge it) have on the personal computing market. Forrester seems to agree - they predict that tablet sales will exceed netbook sales by 2012 and desktop sales by 2015. What they show in their estimates is laptop and netbook sales remaining steady and tablet sales increasing while desktop sales decrease. I actually expect netbook sales to drop. The main advantage of a netbook over a tablet right now might be price, but I expect the price of tablets to drop as competition increases. As a power-conscious road warrior, I realize that there isn't a netbook that comes close to matching the battery life of the iPad, which is a major consideration.
Assuming that tablets do take off in the future, what does that mean for application development? Are we going to see the swift adoption of HTML5, which will run everywhere - so it won't matter what device you're on - you just write it once and run it anywhere? (And why does that sound so familiar?) I think not.
The reasons are twofold. One is that the World Wide Consortium (W3C) has recently announced the target date for HTML5 reaching "Recommended" status, and it's 2014. Meanwhile, the Web Hypertext Application Technology Group (WHATWG) - the group that actually originated the HTML5 specification - decided to move to a specification that is a "living document." The HTML5 standard that W3C is working on, at least from the perspective of WHATWG, is a "snapshot" of the living "HTML" standard. The sense I'm getting is a divergence in HTML specifications, three years before HTML5 is actually delivered.
The second reason has to do with the native versus web application argument. One major issue with web applications is that they require continuous Internet access. That is supposed to change a bit with the offline storage capability of HTML5. However, native applications still offer a number of advantages over web-based applications such as local device support, multitasking, and marketing/sales handled through the app store. Further, a recent report from the GSMA indicate that smartphone users spend significantly more time with native apps than web apps and voice, and are close to exceeding the amount of time they spend messaging.
Taking all of that together, I expect to see a significant increase in the market penetration of tablet devices in the near future, and that the majority of application development done for those devices will be the development of native apps, not web apps. If that holds, then the development tool we should be looking for is one that is capable of generating native apps for those devices - ideally one that might be able to generate device-specific code from a common code base. We would like to be able to create the application once and then be able to "generate" clients for each of the various mobile devices out there, clients that still interact appropriately with native device capabilities. That's something that companies like RhoMobile and Appcelerator are trying to achieve. I've had some experience with the attempt by OpenPlug as well, and Adobe is attempting much the same thing with their emitters for iOS, Android, and BlackBerry tablets in their upcoming 4.5 release.
What this is getting down to is this: "What, if any, mobile device development options are open for PowerBuilder developers given that PocketBuilder only supports Windows Mobile, and only through version 6.5?" If PowerBuilder 15 does provide us with the capability to generate Silverlight, that should allow us to continue support for Windows Mobile 7 devices. There's talk about Microsoft revamping the Silverlight player for iOS now that Apple has eased up on their developer license agreement a bit. And there is Moonlight for Android devices. It's not certain that either of those would work with PowerBuilder-generated Silverlight or would even materialize.
If PowerBuilder 15 does provide use with the capability of generating HTML5 applications, that would allow us to generate web apps that could run on the devices, but not native apps. It looks like native apps is where the action is at.
If PowerBuilder 15 might support native apps on mobile devices, it might have to be through an emitter, similar to the emitter they are now using to convert PowerScript to C#. Sue Dunnell, product manager for PowerBuilder, suggested they were looking at something like that for iOS. I'd suggest that's a good call, but Android at least should be a target as well. Perhaps it's all just a matter of what the developers can get done by the time PowerBuilder 15 is released. They've got plenty on their hands with Silverlight and/or HTML5 support.