I love your work and respect you, @ppk, but you just wrote a very naïve post. Guessing @dalmaer slipped you a mickey, so I’ll forgive you.
I did see PPK with a drink, but I didn’t drop anything in it, I promise! :)
What are we talking about here? PPK has written a post commenting on the interesting “Apple’s mistake” essay by Paul Graham.
I love PPK and he is doing great work, but I have to respectfully point out a few things here, especially as some folks thought I put him up to it. For those who are jumping on him in entirety, here does have some things right too! Don’t just get mad at the fact that he called developers arrogant and stupid ;)
There are fantastic web applications on the iPhone. I use Gmail and Google Reader as a Web app, for example. The browser is good, but I have written many times (before being a Palm employee! These are my thoughts… blah blah) about how I wished that Apple let me go the extra mile and access more from the Web side of things.
Although you can do great apps like Gmail, the user experience available to Web developers isn’t anywhere as close to that of the iPhone SDK.
- APIs: You are unable to access the rich APIs on the device. Sure you can get local storage and appcache, but you can’t get to the compass and the [insert tons of APIs here]. Your app may not need it, but they may be able to greatly benefit from them… let alone the enhanced graphics and performance.
- Discoverability: There are two worlds. The Web and the App Store. How does a user find out about your Web app? Sure they could use the power of Google etc…. but if they are trained not to do that anymore? Fortunately we have PhoneGap and Titanium and … stepping up here
So, the feeling of “come on iPhone devs, don’t be stupid and just develop a web app!” is going a tad too far. There are very valid reasons to use native. With PhoneGap et al, there are growing reasons to cover various bases.
At Palm I am excited to push the Web stack further by having it as the SDK, not as an option in the browser. I believe that the Web can be the unifying platform across the multitudes of devices that users will have in the future. This world is going to cause a large number of changes to how we develop experiences, and I am excited by the challenge and working with the Web community (companies and individuals) to meet the challenge.
There is so much to be done on both the technology side (html5 on devices, apis, services, gpu, etc) and on the delivery side (future of app stores, richer discoverability, etc). You can also create fantastic applications for many platforms using Web technology TODAY!
Update
Faruk Ateş has written a detailed post on this topic too that discusses similar issues to my post above, but also goes beyond with more details on $, and the SDK experience.
November 23rd, 2009 at 12:43 pm
A buddy of mine mentioned that Remember The Milk had it right. They have a free iPhone app that requires a pro subscription on their web site. Cuts Apple out of the profits altogether. You still have to create the iPhone app, but if you can architect it right, you might still be able to leverage the ability to push bug fixes and features out through the web API.
November 23rd, 2009 at 12:45 pm
Interesting points – and I personally think there’s always going to be a place and a need for both web apps and native apps, even as connections to the “cloud” become ubiquitous.
At the same time, I think sometimes there does needs to be a “calling out” of the current paradigms, even if only for the resulting anger to take a critical look at the current state of application development.
Going back to the original articles and issues, I think a lot of the “Apple is evil,” and other comments stems from what on the outside appears to be a hypocrisy between the marketing rhetoric and the ecosystem reality; Claiming that, “openness, availability and ease for development of iPhone Apps by 3rd party developers (I’m paraphrasing),” as a major (some might argue primary) selling point versus what many consider the onerous approval process. This would include Apple’s stipulation that it may reject any app that would seem to be competing with 1st party apps – which would appear to fly in the face of open competition.
Personally I feel it’s ridiculous, but this is a very large reason why I have refused to purchase an iPhone or an iPod touch – because the only real way I can voice my displeasure is through not purchasing the product, and in no way would I condone or participate in any form of coersion (legislative or otherwise).
I do recognize, however, that I am in the ultra-minority, as most people would not let that be a purchase-limiting factor.
November 23rd, 2009 at 1:30 pm
Re: “Sandbox”.
iPhone 3.0 supports HTML5 web apps without browser chrome. Try visiting http://mrgan.com/gb/ on your iPhone, and install it to your home screen. You get a lovely offline-accessible chrome-free app.
November 23rd, 2009 at 1:37 pm
While I agree about your first two points, the third is incorrect; web apps can hide all the browser chrome and run offline, you just need a meta tag or two: http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
November 23rd, 2009 at 2:07 pm
To be fair, you can remove browser chrome by marking a webpage as a “webapp”. Launching it from the Home screen, once added, will start it without address bar or toolbar as a separate process (and any navigation away from that page will switch app to Safari, uff).
November 23rd, 2009 at 2:30 pm
PPK is completely wrong. Faruk is also pretty much wrong too. Dion, you’re almost right. The answer is simple: it’s the users, stupid. Let’s not forget that Apple offered Ajax as the way to build apps for the iPhone more than a year before the release of the SDK and the App Store. You definitely saw sites targeting the iPhone as well as sites with an “iPhone optimized” experience. However you did not see anything like the explosion of Apps that began once the SDK was released and continues today. The users spoke and said they want Apps. You can subjectively say this is because of UX, or more objectively talk about what can be done in a web app vs. a native app. But it doesn’t matter. The users have told developers what they want. Just look at mobile GMail. It makes great use of HTML 5 features of Mobile Safari. It has way more features than IMAP style GMail using the iPhone’s Mail app. Yet users choose the latter over the former again and again. Heck, the GMail guys went as far as to try an mimic the iPhone’s navigation controllers by coming up with those horrendous floating nav elements. They did their best to make it as a good as a native app, but the users have not picked it.
November 23rd, 2009 at 9:26 pm
Michael, you’re almost right but it’s not the users, it’s the operators, stupid. ;-)
No one is mentioning a little but significant difference here between native and web apps: network connectivity (and its cost)! I can’t use web apps when I don’t have a network connection, and I don’t have one most of the time when I’m using my iPhone in a mobile situation. E.g. I can always use iCal wherever I am, but not Google Calendar where I don’t have an internet connection. And I refuse to pay ridiculous fees to my mobile operator for the privilege of using sub-par web applications that are less practical than their native equivalents.
November 23rd, 2009 at 10:21 pm
APIs: True but even you say the app may not need these. Also this may be a moving target as more are introduced in future.
Discoverability: Why not make our own web app app store that would act as a single location to find such apps and provide a standard payment gateway?
Sandbox: would be solved if the discoverability issue was addressed. And that would take on its own momentum since it could serve all mobile OS’s, not just iPhone.