The problem is though that there are limits what you can do with Ajax/Web 2.0, and there are even more limits when you try to do that on a 400 Mhz ARM CPU (which is usually less powerful than a 400 Mhz x86 Intel/AMD CPU). For example, you can’t create a VoIP or IM application, and even if you manage to write one, it won’t integrate at all with the rest of the iPhone (e.g. accessing the contacts) because each application runs on its own sandbox. More over, you can’t possibly be expecting something like Google Spreadsheet to run full speed on an ARM CPU with limited RAM. If that wasn’t enough, web applications require you to be connected at all times to the internet. If you don’t have an unlimited plan with Cingular, you are out of luck!
To recap, Ajax web applications running on a sandbox have the following drawbacks:
– No access to operating system features and functions (e.g. impossible to write a CPU meter or a video-IM app)
– No access to the iPhone’s databases (e.g. you can’t access your current contacts for your IM web app)
– You can’t expand the current operating system via drivers or other tweaks (e.g. adding support for A2DP/AVRCP Bluetooth profiles)
– Must be connected at all times to the internet to use an app. If the developers are hungry for ad cash, even a calculator might need internet access before it allows you to use it just so you load a new ad with it!
– Speaking of web ads, expect the Ads 2.0 to go hand in hand with your iPhone’s Web 2.0 apps. Thankfully, so far there is no word about Flash support…
– If currently connected via GPRS, apps with lots of data to transfer will suffer dramatically.
– Lack of mature development tools limit the feature-set and stability of a web app. It might take another 5 years before we see truly mature web 2.0 dev tools in the same way we enjoy today for C/C++.
– To use something like a spreadsheet you might need to obtain login information. This can get out of hand if most of your web apps ask you to create a new account.
– Non-standard UI development. Don’t count on developers to emulate the UI usability of the iPhone. Developers will put their links wherever they want and won’t try to look exactly like an iPhone app. At least with native application development doing so is more difficult and so native apps are looking more uniformed and consistent as they use pre-defined UI ideas (e.g. the menubar, the background color or the ok/cancel buttons). But with web UIs, everything is on the air.
– A well-written web app can also run on mobile Internet Explorer, mobile Opera (not Opera Mini) and Symbian WebKit. This takes points away from the iPhone as it brings nothing of unique value to the product.
– No installation required.
– Fewer security headaches.
– Makes Cingular happy.
Given the fact that other smartphone platforms are able to run both Web 2.0 apps, Widgets, J2ME and native apps, this can be a real blow to the iPhone’s future. Maybe Apple forgets that it was PageMaker originally and Photoshop later that immensely helped the Mac? Apple needs to find a way to offer users what they want, even if that might only be available to unlocked iPhone units rather than carrier-dependent ones. Until that day comes, I will continue to deem the iPhone a “high-end feature phone” rather than a true smartphone.
For many cell phone vendors, the customer is the carrier, not the end user. The carrier chooses what apps the phones run and how much the users pay for those apps. They usually make the phones available to end users in exchange for a contract to use their services, and then they lock the phones.
If Apple follows this model, they’ll design the phone to maximize revenue for Cingular (AT&T now). The alternative is to make a developer-friendly platform and piss off the carrier. Yes, security is a concern, but it’s important to check what they mean when they say “security” … “user finds a way to send more text messages without being billed” might be the kind of “security violation” they want to stop.
As I understand it, the iPhone *will* provide a way to interact with the rest of the OS, and it *won’t* require you to be online all the time – you can store AJAX apps locally. Aren’t Dashboard widgets AJAX in some sense?
Edited 2007-06-12 01:37