No. Somebody please stop this guy. After reading this I feel about him like the machines must have when they sent the Terminator back in time to kill Sarah Connor.
Web apps are to native mobile apps as Java apps are to native desktop apps: ploddingly slow with clunky non-standard UIs—a degraded, lackluster experience.
With some notable exceptions I think they can be a pragmatically motivated stopgap step (in regards to either bottlenecks in time or money) on the road to building a full native app. But saying simply that because they cost less time or money to produce as a sole justification for creating them, and ignoring all their shortcomings, is like suggesting everyone buy a circa-1998 Samsung flip phone instead of an iPhone simply because you can get one on eBay for $5. It doesn’t matter, because the flip phone sucks and the iPhone doesn’t—economics aren’t the only factor to consider.
If you need any more proof, remember what happened when the iPhone originally launched and there was no support for building native apps. Apple’s professed solution was for app functionality to be provided by mobile-optimized web apps. There was literally a sustained caterwaul by developers and users alike for the ability to create native apps on the platform, so much so that Apple did a complete 180 on their original stance.
> ploddingly slow with clunky non-standard UIs—a degraded, lackluster experience
That sounds like the arguments I used to hear from desktop devs back when web apps start to appear.
Sure web mobile apps kind of suck right now, but theres hardely any frameworks, established processes or documentation on how to build them properly. It's still in alpha stages.
When building mobile apps has matured and if they still have the performance and UI issues, then I might agree. But right now thats like saying a kid won't have a good job because of his grade 5 scores.
I realize you're referring to Swing Java apps, and I won't argue on their behalf for a second. However the SWT library is a dream of a native toolkit experience if you're writing a client app in Java. It's fast, does a good job of working across a wide variety of platforms (Win32, Cocoa, GTK, and I think Motif), and is extremely well documented.
Web apps don't have to be as "good" as native apps to succeed. They just have to be good enough. Remember that web mail exploded in popularity in the late 90s. Do you remember what the experience was like on Yahoo Mail in 1999? Full page refreshes on dial-up modems to see a single email. Yet people swarmed to Yahoo Mail, Hotmail, and the like.
The problem here is that these articles are very extremist. There are many native apps that can easily be done as web apps (cost and time effective), but not all of them. You can't choose one platform and just say it's the best choice overall.
One significant difference between Java apps and web apps is that, unlike Java, the platform vendor has huge incentives to keep improving your runtime (the browser).
Get used to these kinds of comments. There's a large contingent of people on HN who don't understand that higher level languages (say, Java) are not a complete replacement for C/C++. The same people are behind the "HTML5+Javascript ought to be enough for anybody" mentality.
Yahoo has just announced Yahoo Cocktails, a set of tools for developers to use that make web apps look and behave more like native apps. Mozilla is working on tools to help developers sell web-based apps to mobile device users, enabling them to make profits just as developers in the iTunes App Store or Android Market can now do.
Yes, we can finally relegate this obsolete dinosaur to the dustbin of history once we faithfully replicate every aspect of it.
I'm sympathetic to what he's saying. It is painful to develop lots of separate platforms.
But I work making games. And so this promised land is still way over the horizon. We're only just getting to the point where a HTML5 game can be notable as anything other than a tech demo on the desktop. It'll be another few years before we reach that point for mobile.
But a lot of mobile apps are not like games. They are adaptations of web sites for a particular mobile device. This is where what he is saying surely makes a lot of sense. Really, apps like twitter should be able to be done with HTML5.
But more involved applications like games make sense to be native applications.
There are always going to be classes of applications that need every bit of performance they can squeeze out of their host platform, and will be written native to that platform.
Web apps are very useful things, but this "native code is dead" line has been touted before and it was wrong then too.
Everything will be relegated to the 'dustbin of history' given a long enough time period, it's a completely meaningless statement.
CDs were quite useful for many years, before they were replaced by newer, superior technologies. Mobile apps are currently the best way to deliver the best user experience on mobile devices.
In the future this may change, but that should not be particularly surprising to anybody given how quickly technology improves.
What are those 7 languages, anyway? The guy has a strong point he can make without exaggerating. If you want to capture > 90% of the mobile market, I think you only need Objective C and Java.
Wasn't someone from Wired who said that mobile apps were going to replace web apps, and so the web as dead ??
And now, we have Yahoo saying "no no no, web is the way to go, look at us !!".
Quite frankly, this type of discussions sucks and are totally irrelevant. Let the market decide, don't be a palm reader, as you might end up with your palm in your face.
I think a couple interesting things are happening.
It's becoming more obvious to everybody that good mobile applications are not cheap. This isn't news, but I think the fact that it's widely understood is new within the past year or so.
Also, supporting multiple platforms tends to linearly multiply costs.
Also, good web based mobile apps are getting "more possible" with new technologies so there are reactions kind of like what this author seems to be saying is a done deal. The idea that mobile apps are dead is totally absurd. I mean, ask anyone on Android who's used maps.google.com on their phone (which is totally amazing) whether they have uninstalled the Google Maps app - it's just not happening.
There are two things that are important that the author seems to be ignoring - first is the fact that developing a good mobile web based app isn't easy or cheap either. The costs of supporting a gajillion mobile device web browsers and form factors won't multiply directly with the number of platforms out there, but there will be many, many platform/browser/form-factor specific bugs and annoyances to deal with. Second is the fact that regardless of how awesome canvas / mojito / etc. all get, afaik there is no model in the future where mobile web-based apps have an ability to do something like interact with the local data sitting on the device in other formats (like people / calendar) or with other devices that the mobile app developer can take advantage of (bump / beam). Rich interactions like that can let the mobile app developer build a much cooler experience.
Calling the internet a "buzzword middleware stack" is underplaying the fundamental differences between the web and native apps.
Even now making a web app as opposed to a native app does not necessarily preclude quality; as mobile web browsers and technologies mature, web apps are going to afford developers more and more quality.
If I wanted to make a quality app to reach even just both Android and iPhones, I would effectively have to implement it twice--first in Java and then in Objective-C, using different libraries throughout. With a web app, I could write it once. Of course, maintaining browser compatibility and overcoming potential shortcomings of current browsers probably means it would take me longer to write the web app to a similar level of quality than either the Android or iPhone app; however, it would almost definitely not take longer than both put together. Thus, I would have more time to add quality to my web app--and less maintenance headaches--than I would just supporting both Android and iPhone natively (not to mention other platforms like Blackberry or Windows Phone).
Ultimately, I think it's the people who just want to make quality products that can reach a large audience who should care about web apps.
Desktop apps eventually got replaced by web apps because it is more convenient to access the app from anywhere - from any computer, not necessarily because web apps were easier for developers. Now with mobile apps developers are hoping for the same thing to happen again but this time, users don't have the same pull - they always have their phones with them. I'm not going to log onto a mobile terminal at the library to check my email or run some app. To look at it from the other side, if omnigraffle was always available to you as a native app, as your app with your settings, with all of its slickness, would you want a web based alternative?
I would love to see browser become the primary interface for everything interweb (speaking as a web app developer). But this article would be more believable and reassuring if native mobile browser makers would make with filling the native functionality gap already. I mean access to contacts, cameras, mic, phone, bluetooth, file system, everything. They don't even offer all those yet on the desktop. The browser vendors are so far behind their own potential.
But: I think ChromeOS will be a big deal some day.
As a recent convert to moai (http://getmoai.com), which is a Lua-based cross-platform environment for game development, I have to say this: hogwash.
Cross-platform, easy to use, deliverable as a download for offline use, publishable on the web: a moai project already delivers what this guy is blowing hard about. Its not going away just because he says so. In fact, the future is here already - put your app on the cloud, let users decide if they want to install it locally or not.
The motivating factor I've seen is the fact that somehow, people got it in their head that in order to be legitimate, the "app" has to be in the App Store. This is one reason why we have a mobile app, which offers nothing we couldn't already do with jQuery Mobile. We're not using the accelerometer. We're displaying data.
But "being in the app store" is more important to our users right now.
You can knock apps all you like but what Jay Sullivan hasn't done is to give us a clear reason why we need Firefox as a mobile browser, or even why it's so much better than Chrome. Firefox was a breath of fresh air in a world that was owned by IE, but it seems to have lost a core focus. And ironically the one browser my friends keep talking about on mobile platforms is Opera...
I feel like anyone who makes an argument that Node.js is "the future" is making the same case that a polluted natural environment is "the future". A horrifying vision of what could be reality unless we make it better.
Friends don't let friends make a career out of programming in JavaScript.
Really ? JS is an amazing language, much better then say PHP. And trust me, there are people building careers out of PHP.
JS correctly used can do amazing things.
This article lacks anything serious to consider, and strikes me as far too close to being link-bait. Judging by the contents, its title is, at best, an ignoratio elenchi. It should have been entitled, "Mobile Web Apps Will Save Developers Time Compared to Native Apps".
The article espouses little more beyond the offerings and appeals of companies making yet-to-be-proven predictions about what the future of mobile apps will be, in an effort to secure and advance their business's goals and existence. These goals are not the goals of the users, who will ultimately decide what the best platform for mobile apps is--not on its technical merits, but on its ease of giving them the shortest and most pain-free path from want/need to procurement. The only mention of the users is in saying they can hardly tell the difference between a native or web app--and that completely depends on what type of app they are comparing.
Smartphone popularity among the general public skyrocketed as a result of the App Store. The mobile app didn't rise to such sexy heights because we developers were out there salivating over creating HTML apps for smartphones. It rose because consumers finally had a good way to find a fun or useful app with a simple search of a (usually) simple app name. No more remembering URLs. No more bookmarks. No more, "Was it .com or .net?" Just a simple tap-to-install process resulting in a recognizable icon they could flick to and launch with their thumb. The App Store and the mobile app model gave consumers a very easy to understand and re-use paradigm for finding and using apps.
I've enjoyed the development and rise of the web since I was a kid. I've been excited by web application development, watching web apps get ever closer to offering what can be done in a native desktop application in both features and usability. Plenty of web apps are better than their desktop alternatives (or don't have any).
However, the web still has not solved the biggest problems the App Store model solved for both developers and users--and users are what matters when it comes to keeping developers building and making money.
I doubt I'm the only user who frequently forgets the URL of a site, product, web app, or what-have-you that I want to find/use when I want to find/use it, and I've got a pretty good memory (though I suppose I'm not entirely objective). Users don't have to worry about that on their phones--where they more-often-than-not remember an app by not just its name, but its name in association with its icon. Problem solved.
Moreover, and more importantly, the web (in its desktop-based incarnation) has struggled in so many visible, obvious, and personal ways (for devs/companies) when it comes to the one thing that matters most--getting users to pay to use your shit. Users on the web have an implicit expectation that websites are free (hello newspapers?). And I think that's what made the web what it is today. With mobile apps, there is, imho, a much lower implicit barrier to payment than the web has ever been able to obtain for itself. Problem solved.
What's the web platform for making money? Oh, right ... we already know ... advertising. Everywhere. Yuck.
[+] [-] codyrobbins|14 years ago|reply
Web apps are to native mobile apps as Java apps are to native desktop apps: ploddingly slow with clunky non-standard UIs—a degraded, lackluster experience.
With some notable exceptions I think they can be a pragmatically motivated stopgap step (in regards to either bottlenecks in time or money) on the road to building a full native app. But saying simply that because they cost less time or money to produce as a sole justification for creating them, and ignoring all their shortcomings, is like suggesting everyone buy a circa-1998 Samsung flip phone instead of an iPhone simply because you can get one on eBay for $5. It doesn’t matter, because the flip phone sucks and the iPhone doesn’t—economics aren’t the only factor to consider.
If you need any more proof, remember what happened when the iPhone originally launched and there was no support for building native apps. Apple’s professed solution was for app functionality to be provided by mobile-optimized web apps. There was literally a sustained caterwaul by developers and users alike for the ability to create native apps on the platform, so much so that Apple did a complete 180 on their original stance.
[+] [-] dmix|14 years ago|reply
That sounds like the arguments I used to hear from desktop devs back when web apps start to appear.
Sure web mobile apps kind of suck right now, but theres hardely any frameworks, established processes or documentation on how to build them properly. It's still in alpha stages.
When building mobile apps has matured and if they still have the performance and UI issues, then I might agree. But right now thats like saying a kid won't have a good job because of his grade 5 scores.
[+] [-] calebmpeterson|14 years ago|reply
[+] [-] MatthewPhillips|14 years ago|reply
[+] [-] pacomerh|14 years ago|reply
[+] [-] fpgeek|14 years ago|reply
[+] [-] anotherthrwaway|14 years ago|reply
[+] [-] extension|14 years ago|reply
Yes, we can finally relegate this obsolete dinosaur to the dustbin of history once we faithfully replicate every aspect of it.
[+] [-] tikhonj|14 years ago|reply
[+] [-] NHQ|14 years ago|reply
[+] [-] jarek|14 years ago|reply
[+] [-] v21|14 years ago|reply
But I work making games. And so this promised land is still way over the horizon. We're only just getting to the point where a HTML5 game can be notable as anything other than a tech demo on the desktop. It'll be another few years before we reach that point for mobile.
[+] [-] sien|14 years ago|reply
But a lot of mobile apps are not like games. They are adaptations of web sites for a particular mobile device. This is where what he is saying surely makes a lot of sense. Really, apps like twitter should be able to be done with HTML5.
But more involved applications like games make sense to be native applications.
[+] [-] 5hoom|14 years ago|reply
There are always going to be classes of applications that need every bit of performance they can squeeze out of their host platform, and will be written native to that platform.
Web apps are very useful things, but this "native code is dead" line has been touted before and it was wrong then too.
[+] [-] stevenwei|14 years ago|reply
CDs were quite useful for many years, before they were replaced by newer, superior technologies. Mobile apps are currently the best way to deliver the best user experience on mobile devices.
In the future this may change, but that should not be particularly surprising to anybody given how quickly technology improves.
[+] [-] lukasb|14 years ago|reply
Write once, run anywhere. Why didn't anyone think of this before?
[+] [-] cryptoz|14 years ago|reply
[+] [-] natesm|14 years ago|reply
[+] [-] phatbyte|14 years ago|reply
And now, we have Yahoo saying "no no no, web is the way to go, look at us !!".
Quite frankly, this type of discussions sucks and are totally irrelevant. Let the market decide, don't be a palm reader, as you might end up with your palm in your face.
[+] [-] slipperyp|14 years ago|reply
It's becoming more obvious to everybody that good mobile applications are not cheap. This isn't news, but I think the fact that it's widely understood is new within the past year or so.
Also, supporting multiple platforms tends to linearly multiply costs.
Also, good web based mobile apps are getting "more possible" with new technologies so there are reactions kind of like what this author seems to be saying is a done deal. The idea that mobile apps are dead is totally absurd. I mean, ask anyone on Android who's used maps.google.com on their phone (which is totally amazing) whether they have uninstalled the Google Maps app - it's just not happening.
There are two things that are important that the author seems to be ignoring - first is the fact that developing a good mobile web based app isn't easy or cheap either. The costs of supporting a gajillion mobile device web browsers and form factors won't multiply directly with the number of platforms out there, but there will be many, many platform/browser/form-factor specific bugs and annoyances to deal with. Second is the fact that regardless of how awesome canvas / mojito / etc. all get, afaik there is no model in the future where mobile web-based apps have an ability to do something like interact with the local data sitting on the device in other formats (like people / calendar) or with other devices that the mobile app developer can take advantage of (bump / beam). Rich interactions like that can let the mobile app developer build a much cooler experience.
[+] [-] jamesu|14 years ago|reply
[+] [-] tikhonj|14 years ago|reply
Even now making a web app as opposed to a native app does not necessarily preclude quality; as mobile web browsers and technologies mature, web apps are going to afford developers more and more quality.
If I wanted to make a quality app to reach even just both Android and iPhones, I would effectively have to implement it twice--first in Java and then in Objective-C, using different libraries throughout. With a web app, I could write it once. Of course, maintaining browser compatibility and overcoming potential shortcomings of current browsers probably means it would take me longer to write the web app to a similar level of quality than either the Android or iPhone app; however, it would almost definitely not take longer than both put together. Thus, I would have more time to add quality to my web app--and less maintenance headaches--than I would just supporting both Android and iPhone natively (not to mention other platforms like Blackberry or Windows Phone).
Ultimately, I think it's the people who just want to make quality products that can reach a large audience who should care about web apps.
[+] [-] krosaen|14 years ago|reply
[+] [-] lordmatty|14 years ago|reply
[+] [-] NHQ|14 years ago|reply
But: I think ChromeOS will be a big deal some day.
[+] [-] seclorum|14 years ago|reply
Cross-platform, easy to use, deliverable as a download for offline use, publishable on the web: a moai project already delivers what this guy is blowing hard about. Its not going away just because he says so. In fact, the future is here already - put your app on the cloud, let users decide if they want to install it locally or not.
[+] [-] azov|14 years ago|reply
You can't kill anything by trying to imitate it.
Especially when you have constraints that ensure that your imitation will always be lagging behind in terms of features and performance.
Web and mobile apps simply offer different tradeoffs between reach, features, and development costs and, as such, have every reason to coexist.
[+] [-] bphogan|14 years ago|reply
But "being in the app store" is more important to our users right now.
[+] [-] michaelpinto|14 years ago|reply
[+] [-] grudolf|14 years ago|reply
[+] [-] peterwwillis|14 years ago|reply
Friends don't let friends make a career out of programming in JavaScript.
[+] [-] phatbyte|14 years ago|reply
[+] [-] bobwaycott|14 years ago|reply
The article espouses little more beyond the offerings and appeals of companies making yet-to-be-proven predictions about what the future of mobile apps will be, in an effort to secure and advance their business's goals and existence. These goals are not the goals of the users, who will ultimately decide what the best platform for mobile apps is--not on its technical merits, but on its ease of giving them the shortest and most pain-free path from want/need to procurement. The only mention of the users is in saying they can hardly tell the difference between a native or web app--and that completely depends on what type of app they are comparing.
Smartphone popularity among the general public skyrocketed as a result of the App Store. The mobile app didn't rise to such sexy heights because we developers were out there salivating over creating HTML apps for smartphones. It rose because consumers finally had a good way to find a fun or useful app with a simple search of a (usually) simple app name. No more remembering URLs. No more bookmarks. No more, "Was it .com or .net?" Just a simple tap-to-install process resulting in a recognizable icon they could flick to and launch with their thumb. The App Store and the mobile app model gave consumers a very easy to understand and re-use paradigm for finding and using apps.
I've enjoyed the development and rise of the web since I was a kid. I've been excited by web application development, watching web apps get ever closer to offering what can be done in a native desktop application in both features and usability. Plenty of web apps are better than their desktop alternatives (or don't have any).
However, the web still has not solved the biggest problems the App Store model solved for both developers and users--and users are what matters when it comes to keeping developers building and making money.
I doubt I'm the only user who frequently forgets the URL of a site, product, web app, or what-have-you that I want to find/use when I want to find/use it, and I've got a pretty good memory (though I suppose I'm not entirely objective). Users don't have to worry about that on their phones--where they more-often-than-not remember an app by not just its name, but its name in association with its icon. Problem solved.
Moreover, and more importantly, the web (in its desktop-based incarnation) has struggled in so many visible, obvious, and personal ways (for devs/companies) when it comes to the one thing that matters most--getting users to pay to use your shit. Users on the web have an implicit expectation that websites are free (hello newspapers?). And I think that's what made the web what it is today. With mobile apps, there is, imho, a much lower implicit barrier to payment than the web has ever been able to obtain for itself. Problem solved.
What's the web platform for making money? Oh, right ... we already know ... advertising. Everywhere. Yuck.
[+] [-] joejohnson|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]