Top 10 reasons the AJAX/web 2.0 application model will fail on the Iphone
1) Web apps require server access via the internet to operate. AJAX is not AJAX without a server doing most of the processing. You could write an application *entirely* in javascript, but that would not only be a horrendously painful experience for the developer, but it would severly limit an apps potential by a) requiring all processing to be done on the client in
javascript and b) being unable to access/store data (assuming the javascript API has no access to local storage aka Google Gears which I would imagine will NOT be implemented on the iphone), and you still wouldnt be able to start the application without an internet connection (that is unless the Iphone safari allows you to open local html files).
2) NO 3G UTMS/HSDPA. The reason 'web 2.0' applications exist on the desktop it because most people are using them on fast broadband. You'd need to be under quite good conditions even with 3G/HSDPA to have a quality, responsive application. Not only is EDGE much slower in throughput, but more importantly is that it has *much* greater latency than 3G/HSDPA.
Coupled with the uncertainies of cellular data connections (spotty coverage, network load, interference) I'd say it would be might frustrating outside a wifi cafe.
Note: I have attempted this already myself with a Treo 650. I didn't want to learn the PalmOS APIs, so I instead proceeded to craft a few small applications in ASP.NET. I even attempted some simple javascipt/ajax functionality, but found the responsiveness to be absolutely horrendous with the latency, especially outside of 3G/EV-DO coverage when the phone resorts back to 2G/1xRTT (basically dialup speeds). It just isn't the same as a native application or even a !@#%$& Java application.
3) Reduced developer Incentive. Many of you have alluded to this problem already and I just wanted to rehash. Many small/independent developers will find it hard to provide the server capacity and bandwidth to handle a popular Iphone application. I imagine it would be difficult to apply the usual advertising-supported model with the small interface of the Iphone, nor do I believe you could convince users to put up with that. The only alternative is paying directly/donations... And what happens when your 'perfect web app' suddenly disappears off the face of the earth. or the developer abandons the project. You will have no recourse whatsoever. I enjoy the thought that the applications I OWN on my treo are MINE and will always be there. Just like SJ says, "nobody wants to RENT their music and have it all disappear when they quit paying the bill".
4) PalmOS, Windows Mobile, Blackberry's OS, Symbian, and nearly every cellphone OS via JAVA can run 3rd-party applications. They have thriving communities and are the LIFE BLOOD of smart phones. Now granted, there is alot of JUNK that is created and allowing unrestricted 3rd party access is like opening up pandora's box, but I think there is a good balance to be found between Iphone security/stability and developer freedom. Whether they need to allow restricted access to OSX's cocoa APIs, or create some type of managed/sandboxed layer between the OS and a 3rd-party developer software that provides restricted access to iphone features and local storage, I dont know. I am not a systems engineer, but I know there has got to be a way to do this, much as can be done with a on PalmOS Garnet or Windows Mobile with the mobile .NET framework or even using a JVM.
5) IT RUNS OSX . For god sakes, what better reason can there be to allow the talented and creative OSX dev community access to this platform? Indeed, the Ipod functionality and photo/video/email capabilities are better than anything on the market, but what a tradedy it would be to see all of that advanced potential locked away.
6) Multi-touch. Speaking of advanced potential locked away. Again, I can only imagine what talented devs people would come up with --I know I have some ideas. To have such a truly revolutionary interface with near limitless potential be locked down as well is just sad. (acknowledging of course that Apple is the master of UI innovation)
7) No FLASH support. The only consolation I was holding in my mind was the fact that I saw the NYtimes displayed on the iphone commercial and I thought of Flash. I thought with the good processor/graphics of the Iphone, you could actually make some killer applications AND run them offline. (well at least you could start them online then continue after you lose wifi/cell coverage). And with the open-sourcing' of adobe FLEX, that would offer a decent object model for devs like myself who aren't exactly fond of Flash's timeline model. BUT NO - NO FLASH PLUGIN even though its the 'REAL' Internet on REAL Safari and REAL OSX.
8) No self-contained Widgets? At least with a widget implementation, the little javascript apps would be accessible without the internet and could be self-contained, accessed from the Iphone menu like a real app, and be easily updatable. I haven't written one before, but i believe the normal OSX widgets even have javascript wrappers for some lower level cocoa system functions/libraries. Even without that type of access, I'm sure they could at least have access to a small local data store.
9) Cellular data network overwhelmed. As 'tribulation' was referring to, I would imagine Cingular/AT&T would not exactly favor the idea of ALL 3rd-party applications having to constantly run through their network just to function. Assuming most users have an unlimited data plan (or maybe are forced to buy one with the phone) a very popular AJAX application would appear to put quite a strain on their network. With native apps or even local widget-type apps, instread of sending ALL the operatin data back and forth, they would only need to sync small amounts of data via the cell connection whenever it became available.
10) Hackers/Crackers Finally, whether Apple swims with or against the tide, this platform WILL be opened up and there WILL be 3rd-party applications on this phone. Its literally is only a matter of time after it is released. Has anyone seen what they have done with the Apple TV??? I think its imperative Apple create legitimate access to the platform to insure the very security and stability they are attempting to maintain by NOT opening it up. note: I'm not necessarily against this at all, Im love the DIY crowd and participate in it when i can, Im just looking at this from Apple's perspective.
No but seriously,
did anyone else actually feel insulted when they were proclaiming their great new 'strategy' for 3rd party app development? I mean did they actually think a majority of us hadn't already figured out Iphone + Safari = web apps?
And saying "Apple never said this was a computer/smartphone/etc" is NOT a rebuttal. SJ has called this a smartphone in the past, in the keynote he even showed only smartphones as the 'other cellphones'. He also emphasized the power of the device and the fact that it runs OSX and is a groundbreaking, 'revolutionary' device compared to all the other cell phones.
And to finish my point, heres the conversation from All things Digital with Steve Jobs/Bill Gates. Read how he emphasizes how important it was they were able to
write their own native google maps client because
"you can do things a browser just can't do" and how "
it [native client] blows away the webpage version". EXACTLY.
-------
Steve: Ill give you a concrete example. I love Google Maps, use it on my computer, you know, in a browser. But when we were doing the iPhone, we thought, wouldnt it be great to have maps on the iPhone? And so we called up Google and theyd done a few client apps in Java on some phones and they had an API that we worked with them a little on. And we ended up writing a client app for those APIs. They would provide the back-end service.
And the app we were able to write ... blows away any Google Maps client. Just blows it away. Same set of data coming off the server, but the experience you have using it is unbelievable. Its way better than the computer. And just in a completely different league than what theyd put on phones before. And, you know,
that client is the result of a lot of technology on the client. So when we show it to them, theyre just blown away by how good it is. And you cant do that stuff in a browser.
So people are figuring out how to do more in a browser, how to get a persistent state of things when youre disconnected from a browser, how do you actually run apps locally using, you know, apps written in those technologies so they can be pretty transparent, whether youre connected or not.
But its happening fairly slowly and theres still a lot you can do with a rich client environment. At the same time,
the hardware is progressing to where you can run a rich client environment on lower and lower cost devices, on lower and lower power devices. And so theres some pretty cool things you can do with clients.
Walt: OK. So youre saying rich clients still matter, butmaybe I misunderstood you, but your example was about a rich client that is not a personal computer as we have thought of a personal computer.
Steve: What Im saying is,
I think the marriage of some really great [native] client apps with some really great cloud services is incredibly powerful and right now, can be way more powerful than just having a browser on the client.EXACTLY STEVE!! The Ideal (and only IMO) 3rd-party application support is allowing sandboxed native rich-client applications utilizing Cocoa/Core Animation/Multi-touch SDKs that can also retrieve data/sync to the internet *when its available*!!!
link here
http://d5.allthingsd.com/20070531/d5...bs-transcript/
</rant>