The mobile app is going the way of the CD-ROM: To the dustbin of history
venturebeat.com
venturebeat.com
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.
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.
It's also like the arguments made against Java 10 years ago. :) I agree with you - it's not yet clear whether web technologies will significantly replace native for mobile or not. Even if they eventually end up doing so, that appears far enough out that I can't imagine making any decisions based on that right now.
The nature of the Web makes it well suited to building social apps on top of it. It would be hard to build social apps on an application layer that didn’t transcend physical platforms, because then there would be platform-induced delineations between the social groups that could congregate.
But the other motivating factor is that web apps by definition are a centralized container for the data you put into them. You use Freshbooks and you can access your invoices from anywhere. I think this will become far less important as cloud-storage-on-the-desktop services like iCloud mature and largely eliminate this advantage of web apps. Given this, don’t you think think we’ll actually start seeing a resurgence of non-social desktop apps that would previously have been built on the Web for centralized storage reasons?
In most cases, mobile apps are close enough to web apps in regards to barrier of consumption to make the difference moot, and when you add the native advantage, the result is a net positive consumer experience for mobile apps.
I don't understand why this has to be an either-or thing. I know it's easier for us to think in black and white terms but I don't see why web and native can't coexist for a long time.
How about services that already require you have an account? You have to log into a Twitter or Facebook or Linkedin client even if you install it as a native application.
If all you require to get through the day is an online paint clone, a calculator, a clock/weather app and a game where you throw birds at pigs, more power to you - I'm glad you've been able to shave a few seconds off your day.
I certainly haven't stopped making this argument for web vs. desktop apps, as it has yet to be solved. If it even can be solved (mainly the UI/UX issues; performance probably will eventually approach "good enough" for a given app.)
Conversely, would you say that a kid in grade 5 who has bad scores is going to have a great job when he grows up, just you wait and see? We can only judge the mobile web as a platform (if one can even say that it is one platform and not many) by what it offers on mobile handsets today, not by what we hope it will one day become. Also, we can't judge it by hoping that one day, all the mobile browsers will conform to the WC3's standards, because we know how good a job today's desktop browsers do at quickly becoming standards-compliant.
If mobile users only need service-type apps, the web can provide that. Programmers just have to write the screens.
The Web is a dumb terminal. You fill in a form, press XMIT or the equivalent, and get the next screen. Just because someone decided that the content needs to be jammed in a 900px table cell doesn't mean the web can't do mobile too.
The web is just another computing paradigm with its own strengths and weaknesses. It's not the be all and end all of mobile.
And it still holds true in many cases. Microsoft Outlook, in many ways an example of both great and horrible desktop software, still holds the email client majority: http://www.campaignmonitor.com/stats/email-clients/
Web apps are great when you get along with the designer's UI decisions. When you have a fast network connection (that's improved with specific web apps and offline modes, but it's by no means generally applied). When the servers are working well.
Mobile apps share the same advantages and disadvantages, but they're multiplied tremendously. I lose my mobile signal in most stores I go into, for example, and on an awful lot of secondary roads throughout the Northwest.
"The fine print
The email client a person is using can only be detected if images are displayed. This can give an inflated weighting to email clients that display images by default, such as Outlook 2000 and the iPhone. It will also provide a lesser weighting to those that block images by default such as Gmail and Outlook 2007. Those email clients that aren't capable of displaying images, such as older Blackberry models and other mobile devices cannot be included in this study."
Outlook isn't nearly the majority email client, it's just the one most likely to not block img bugs.
Do you have anything to support that claim?
Your argument assumes that building good web applications is merely a function of tools. It's not.
We have a performance-per-watt wall, plus a heat wall, plus a weight wall in mobile hardware.
There is a reason that Apple is pushing C-based development without as much as a garbage collector, it's not just the stubbornness of Jobs. It's because a dynamic language with state-of-the-art VMs struggles hard to do basic smooth animations on current-gen mobile hardware, and will continue to struggle, for at least the next five releases of Nitro.
You're going to need something like a battery revolution to build the mobile web app panacea that you want.
In the (pretty far I think, unfortunately) future, an SDK/Framework/Library à la jQuery will propose the same tool to run Web GL animations.
We need a UIKit/CoreAnimation for the web. The technology is not there yet, but it's going to be.
Yes, we can finally relegate this obsolete dinosaur to the dustbin of history once we faithfully replicate every aspect of it.
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.
It seems that standardized frameworks aren't the problem, performance is. So what's your take on hardware acceleration, canvas, and WebGL?
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.
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.
Write once, run anywhere. Why didn't anyone think of this before?
Palm OS is obsolete too, they now use a version of webOS.
Sure IE6/7 had poor JS performance but IE7 is nearing death and performance of on mobile browsers is increasing rapidly (as well as CPU performance).
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.
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.
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.
But: I think ChromeOS will be a big deal some day.
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.
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.
But "being in the app store" is more important to our users right now.
Friends don't let friends make a career out of programming in JavaScript.
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.
Until then, stfu.