The logic here is simple. If you write an app with Objective-C/CocoaTouch (does the same logic hold for JavaME (Android), C++ (various other platforms) and so on?) the user experience created is by that very fact better.
I believe that is the premise to his whole argument, and I find it disingenuous. That is, it's clear to me Gruber meant that a native app with an interface specialized for the particular device is more likely to be better than a web application because the web application cannot have a specialized interface for the device. He is not claiming that making an app native automatically makes it better.
I agree. The author misses the fact that writing a native app for the iPhone (usually) means taking advantage of the well-designed UIKit. If developers all had to develop their own GUI, we'd see way more crappy native apps. It has nothing to do with language and everything to do with the tools Apple has provided to create beautiful apps.
A laundry list of technical reasons for/against native Apps doesn't matter. The market has spoken. Customers are buying Apps and making In App purchases.
Exactly! I'm one such customer, and I buy apps for my iPad and my iPhone on a fairly regular basis. And I'm better off for it, too. It's much easier to get the weather through an app than it is to visit any of the weather websites. One of the reasons for this is that apps are faster and more responsive than waiting for the browser to load and render the page. Those extra ten seconds really matter when I pick my iPad off the bed and decide what kind of pants I need to put on for the day. (Not to mention all of the ads and extra clicks I need to perform just to get a detailed forecast from a browser!)
- faster code (that allows you to implement something more complex or more demanding)
- better interfaces (allows you to have an app that is really "in the spirit" of the platform which does matter).
- significantly easier way for a customer to pay for the app.
Author's arguments for non-native and how I see them:
1) He can have the URL to different settings of the "web app." -- just please explain that to users that they need that and earn the money.
2) "already, and increasingly into the future, you’ll be able to develop with a single code base, and deploy to (ultimately) any platform" -- oh right, and everybody will use exactly the hardware you have, with the same resolution, same input mechanisms and the same controls.
3) "Distribution control: With 'native' apps, you must go through a third party, who owns the platform" -- this is the only significant argument, IMHO.
The third argument is really an important one. In some cases it can be a deciding one. But it alone can't be used as a proof that native apps aren't better in enough real cases, and that there's "a syndrome."
Smalltalk and Lisp gray-beards must wet their pants every time they read up on Android. It's pretty much the epitome of a clean, extensible, user-oriented system. Fast, open, garbage collected, gorgeous and just clean. How on earth did they get some many things right, out of the box?
so John Allsopp wrote this article as response John Gruber's article on how much better native apps are to web apps. Allsopp understands Gruber's argument to be as such: Native apps are better because they are written in native languages that use native APIs.
I read Gruber's article and Allsopp is so far off the mark it's not even funny.
As someone who write web apps for mobile devices and desktop applications, I know that every time we are prototyping a web app and we need more X, then more X is available by going native. want some examples?
speed (are you doing graphics? is there a network peak?)
integration (can you tie other services to your devices?)
computation load (video editing? on the web? for 5 simultaneous users? BANANAS!)
accessibility (does your web app work offline? wah wah.)
hardware (can you extend the usability physically?)
it's like people forget what "closer to the metal" means and have problems admitting to them selves that the web will never be cutting edge.
sure it's harder, and takes more time, but that's the price you have to weigh your decisions against. Is more X worth it?
"Founded in Australia in 2004, by long time web industry figures Maxine Sherrin and John Allsopp, Web Directions conferences bring together the web industry’s leading experts from around the world to educate and inspire our attendees."
The article reminds me to "CDs and DVDs have a bright future" from the CDs and DVDs association or "the physical book is never going to die" from the print industry associations.
What are iPhone HTML5 games/applications making outside of the App Store / Android stores? If the answer includes "CPM" then native is better, and technical equivalence won't help.
this amounts to a bunch of whining over the fact that "at present, on various platforms, it’s true that the full capabilities of the platform are not exposed to web technology based applications, particularly via the browser"
will you have to write different code to make the best app for different platforms? yes, you most likely will. especially if you want to use platform-specific features. just get over it and get to work.
I believe that is the premise to his whole argument, and I find it disingenuous. That is, it's clear to me Gruber meant that a native app with an interface specialized for the particular device is more likely to be better than a web application because the web application cannot have a specialized interface for the device. He is not claiming that making an app native automatically makes it better.