The line between native and Web apps is beginning to disappear.
This is part of a series of posts about the Apple iPhone and the future of the mobile Web.
With regard to the upcoming release of an iPhone SDK for native, third-party apps: keep in mind that Web apps are growing in popularity and functionality. Many predict web apps will one day render the desktop tower more or less obsolete. As apps like Google Mail/Reader/Docs/Calendar, Basecamp, Todoist and the rest become more ubiquitous, online file storage like .Mac and box.net become cheaper/easier/faster, and bandwidth pipes become less of an issue, the day will come when files and applications are all run online, and users log in through a thin client OR EVEN A MOBILE DEVICE to establish their identity and to operate the data and applications. Google is banking on this. You can bet that Microsoft is working to create Web-app versions of their software. Apple seemed to be on the same page with the original, abandoned Safari SDK, and with the Google Maps and Search integration on the iPhone. What happened? Some have suggested that the problems involved got too complicated just to fix them instead of working around them. I don't know if that's true, but Apple has certainly been mum about it. In any case there is no denying that Web apps will certainly play a large part in the next generation of computing.
There will clearly need to be further integration of the two platforms (web and native). Many of Apple's most useful apps are already integrating into a blend of desktop app that uses online services...and what's really beautiful about them is the way that they run transparently in the background without making a big deal of their online tasks.
iPhone/mobile apps should really attempt to emulate this. Internet-dependent processes should happen quietly, when the iPhone has bandwidth and battery power to use for these tasks. The user shouldn't have to monitor or adjust or push too many buttons to make these things happen. Most apps are used for repetitive tasks. As such they should be streamlined as much as possible. Mobile apps should have ten times the amount of streamlining, both due to slower bandwidth and processor speeds, and to the fact that they are mobile "on-the-go" pieces of software that should allow you to enjoy you life and take part in the world around you instead of standing around pushing buttons.
In our world, reliable and ubiquitous wi-fi is not a reality yet. Even cell/EDGE service is not available constantly. (Think airplane.) The iPhone should be a tool that is adapted to that fact - when internet or EDGE connections are unavailable, data that might be needed later should be stored natively. Services that require real-time information from the web should use the web. The difference is simple, yet the tools have not been created for the development community yet. As bandwidth and connectivity cease to be an issue, more of the iPhone's computing can rely on services "from the cloud". In this kind of environment, the line between Web app and native app will begin to disappear.
So although there are some who say that Apple is missing the boat by not sticking with a Web-only platform, I say, for the good of the iPhone and mobile computing, use whatever it takes to get the job done...but use your platforms to the fullest of their capabilities instead of allowing them to be crippled by technical restraints that, ultimately, can be overcome. Not by third-rate hacks or Band-Aid workarounds, but by matured, full-fledged development environments that can be programmed to do the repetitive tasks for you while you get on with participating in real life. Bottom line: Don't forget to consider the technology available to the world you're in right now while you plan for the possibilities of the future.
This is part of a series of posts about the Apple iPhone and the future of the mobile Web. Stay tuned.
Next up: my iPhone wish list...
Tags: iphone, web+apps, apple, mobile, safari, colby palmer