Earlier this week, Apple unveiled the second-generation iPhone with everything from GPS to very high-speed wireless connectivity. Along with a software developers kit (SDK) that will enable developers to create applications that are not web-based, but literal applications, things seem to be shaping up well for Apple.
And even with several restrictions as to what developers will be able to do, the SDK — not even out of beta yet — has allowed the creation of many applications from developers who have figured out the process.
Despite all this, I think that Apple made a mistake in letting the loud voice of developers change the course of how it wanted to improve mobile computing.
Apple, with its own browser, Safari, and a fresh mobile platform, had the opportunity to really change the game when it came to making web applications. These could have become a standard type of software platform model for mobile devices. The company chose instead to listen to developers.
Why Web Applications Work on the iPhone
One of the early critiques of the iPhone wasn’t so much with the device itself, but the service plan. Users had to agree to an unlimited data plan along with a voice plan in order to use the iPhone on AT&T. This meant that people had an incentive to get online with their mobile–they were paying for it.
And apparently it’s been very good for the mobile Web as a whole. Google stated a few months ago that iPhone users access its search page more than all other mobile browsers. Companies such as LinkedIn, Facebook, and even some banks have created mobile web interfaces based on Apple’s recommended view settings.
The equation is pretty simple: capable browser, plus a framework to design pages and web applications, makes for a better experience than just throwing a browser out there and calling it possible.
The Native Application Argument Isn’t a Good One
However native applications have a huge fatal flaw. They are don’t do well as ambassadors to other systems and devices. Native applications have to be compiled, and in some cases remade, to fit other devices of the same type, but with a different operating system. Add to that the myriad types of development languages on all of these native systems and you get less a picture of the best place to do things, but something that looks more like the smallest straw to drink from.
I like some native applications, and I think they have a place. However, when you have a device that offers the kinds of connected functionality that smartphones and other devices offer, why should the plate be limited to native applications–especially when a cross-platform, faster time to test and develop, and broadly supported framework is already there and ripe for the picking.
There are efforts underway for desktop browsers to use some web applications while offline. Google Gears–which can be embedded into the application–and the browsers themselves (Firefox 3 and Internet Explorer 8 will have this feature) will make this hybrid application a bit more of a reality.
Some browser makers and mobile phone manufacturers have even taken to developing a type of web application called a widget that does not need the web browser to be open to run. These single purpose web applications get some information when connected, but can be coded to not need to be connected to display this information later. Nokia and Opera are two of the companies going down this route.
For all the positive press that Apple has been given for revitalizing the mobile industry, it has not been taken to task on this particular point. Safari Mobile is a solid browser, though not awe-inspiring. It’s based on the desktop version of Safari, and has the ability to be a usable and versatile platform for application development through its front-of-the-pack Webkit engine.
It would have been just a matter of Apple saying that "this is the way we will go, and if you want to develop for us you will do it." Apple has in its more recent times been one to buck the mainstream trends and create something new. It should have stayed with its first mind and made web applications (and widgets) the paradigm to change things.
Developers adapt quickly. If you give them a box, they can create a universe. Apple unfortunately listened to too many of these developers who saw a box, and couldn’t think outside of it.