Websites will kill apps. It's only a matter of time. The only reason to write apps is for performance and to get access to features your browser won't let you, but those will both progressively be fixed over time. The only app survivors will be those apps that truly use all the power or truly use very specific hardware that is somehow not safe or not widespread enough to justify browser support.
If your career is currently bet on apps, I'd be sure to diversify in your spare time into something not-app. (Said not-app thing may also be useful in apps, I'd just avoid specializing extensively and solely on things that are only uesful in the app context.)
> "The only reason to write apps is for performance and to get access to features your browser won't let you, but those will both progressively be fixed over time."
That's certainly possible, but here we are in 2012 and offline use of web apps is still atrocious. To say nothing of how inefficiently web traffic currently maps to the realities of cell phone networks.
And then there are user interface concerns (website support for multitouch? camera use? video capture? audio capture?). And everywhere, the all-to-familiar bugbear of disparate specs and support for any and all would-be extension to the web.
I personally think the odds are higher that we'll see another computer use method rising to prominence , that shakes up everyone's expectations of what an Everywhere Web needs to be able to do.
That's ultimately where we're headed and ultimately why the web site vs app distinction is moot. The future is services with many interfaces. Web interfaces, desktop OS interfaces, mobile interfaces, even interfaces to other services -- whatever makes sense so that all of it's features are ready for you anywhere and everywhere you might want them.
 Head's up displays? Maybe. But I'm thinking more like presence-aware general computing resources. Think appleTV's AirPlay, but for further computing tasks. Walk over to an all-in-one and it becomes an extension of your workspace. More display, more resources, better connection and all your data being sent to it as needed.
I'm not saying apps will kill websites, but we're 5 years into this thing now: Websites will not kill apps. It's not just about performance and hardware access, it's about UI toolkits. Web-based and cross-platform apps just feel different. Even PhoneGap, Titanium, etc. haven't been able to solve this problem. Mobile sites and web-based apps will continue to exist, because it's the right solution some of the time.. but native apps are here to stay.
It's not just about performance and hardware access, it's about UI toolkits. Web-based and cross-platform apps just feel different. Even PhoneGap, Titanium, etc. haven't been able to solve this problem.
Right... because the browsers aren't there yet. They absolutely could be, though. Maybe Apple will stop Safari from being able, but they're actually yet to show any indication that they would do that.
Add to that the difficult of using and discovering a web app. Apple, for instance, while embracing HTML5 as far justifying death of Flash goes, has made little visible effort to promote visibility of web apps. Some features of mobileSafari have been requested and missing for years (looking at you, contentEditable). That, and lack of an easy to browse web app store is what I would blame. Of course Aplle can't profit from webapps nearly as easily, so it does make sense.
I think apps are here to stay mostly because of modularization. Many of the common components of apps these days will be modularized and ported over to numerous libraries. This will make the time-sink risk of developing on a proprietary platform less significant.
App ecosystems however will continue to evolve over time. I see most of the big players having a median of about a 10yr foothold on the industry until the next player out innovates them and manages to gain significant market share.
In all likelihood however, we'll probably be way off. I should save my HN posts so I can laugh at myself in 20 years.
Atwood seems to completely miss one important point: doing an app is a greenfield project. It's the elusive complete rewrite, without the re-. A website like eBay has hundreds of small features, each of which needs to be considered and included in a redesign. An app can just focus on making the 10% of the features that the 90% use really good.
None of the cons of website actually need to be cons, they dont need to be slow, they dont need to have unsuitable UI's for mobile, and they dont need to break when they go offline.
We have done a bad job up until now of realising users expectations that the web should have a great / simple ui and work offline, we just need to improve, much in the same way as the slow transition from desktop apps to web apps has been going, I think its inevitable that we will build most of our technology for the web
> I think its inevitable that we will build most of our
> technology for the web
As someone else mentioned in comments the most likely scenario would be backend with API and native apps and web apps as clients for that API.
I don't want to have a separate app for every web site I currently use. Drilling down through a hierarchy of apps or flipping through page and page of apps versus starting to type the url? Doesn't seem like an upgrade.
Maybe UIs will start acting more like a browser and let me find apps easily. Maybe browsers will just present apps with all the same power apps have. Maybe it doesn't matter.
An app launcher that did essentially that (start to type the name) is easy enough to build that the problem much lie elsewhere. Possibly with the interface itself (mobile devices inheriting legacy web ux & ui.)
I would suggest the essential difference may be found along an axis of user input that has data entry at one end and pure selection on the the other.
I'd further suggest that as this technology evolves the emphasis shifts from data entry to selection and interaction with technology becomes less about inputting data and more about making choices.
What data is needed is grabbed from your device's sensors; you don't actually need to enter it.
Ultimately what we're trying to build is a device that knows what you want (before you do!) and serves it up to you with the greatest efficiency.
Another important aspect of websites that is overlooked in this article is SEO.
Google/Yahoo/Bing are still the jump-off point for most desktop web sessions. Because applications are sandboxed and don't play nice with crawlers, there's still a huge advantage for websites with efficiently structured and persistent information to capture user demand.
While applications do offer significantly improved performance and better payment workflows, an app's infrastructure / OS is unfortunately only as good as the restricted set of people (in the case of private companies, employees) who govern it.
Apple is an amazing company with extremely talented, passionate people and they have built an incredible ecosystem. But they will eventually fade into history, just like everything naturally does.
Luckily, the residue of their design will persist and drive future enterprises to continue to innovate on this front, which in turn will spawn the next generation of zuckerbergs and jobs'.
Essentially, we're witnessing the exact evolution of development ecosystems that we'd expect within our economic constructs. The only danger is that our legal constructs impede the ability for those outside of the walls to extend the technologies to accelerate innovation for the entire industry.
Apps/websites is going to be a cyclic thing. New platforms created as walled gardens are a breeding ground for apps but over time anything that is not the full internet will feel constrictive. And once full access is available there will be alternatives for apps using an open standard.
In the longer term these cycles will become less extreme because we are migrating to a model where every device will always be 'online'. At that point apps will lose a lot of their power.
Another thing that will drive migration to web based applications is that selling a subscription is far more lucrative than selling a piece of software for a fixed amount.
Apps are transitional, and I think they always will be.
They can give a short-lived advantage over the functionality that can be created on new devices, especially if not all the hardware on those devices is supported or accessible by web browsers.
For instance, on the current generation of mobile devices there are all kinds of input devices (gps, compas, inertial guidance devices) that are not supported by HTML but I fully expect future versions of HTML to allow access to those devices.
It's also fair to ask if websites will kill apps. Widespread mobile data access and HTML5/CSS3 are beginning to let developers duplicate the advantages of apps and keep the advantages of web. The winner will be determined by cashflow - apps are often purchased; many sites still rely on ads. Which model is more profitable?
I hope apps don't kill websites for the same reason I'm glad people don't build flash microsites anymore.
The number one reason I prefer the web is that it's extensible! If there's a web app I don't like, I can write a userscript to modify it to my needs. The web has a standard API (HTML/JS/CSS) and a means for extension so I'm free to make the web suit me. This freedom is something that I miss when I'm using a mobile device and I hope it never goes away.
Here's one overlooked reason why apps are better than websites: no passwords! I absolutely hate that every time I had to use the mobile GMail app I had to enter in a password again, even though everything else has a native app feel.
I disagree that passwords are a browser con, especially given the number of people who leave their phones lying around or let friends use them. If the app deals with anything sensitive (and email can certainly be one of those) it should require a password every time.
Imagine if someone found your phone with email logged in. They would immediately be able to scan through your email for registration confirmation emails, go to that site and reset the password giving them complete access. If one of those accounts was for a site which saved cc details and had something the thief wanted (or could sell), they can drain your card with out setting off any fraud warnings, because you wanted to convenience of not having to type your password every time.
I want to agree, but website passwords are a usability nightmare for mobile users. Take all the hassles that come with sites having eleven million mutually incompatible sets of requirements for passwords, and throw on top of that that typing them on a phone's keyboard is slow and error-prone. Only password-compulsive geeks are going to go for that option. Your average user won't. For them, it's a huge con.
I agree that it's troublesome that people have their phones set up so that anyone with physical access to an unlocked phone has access to everything. But I'm inclined to think of that as a symptom of the problem rather than the problem itself. The root of the problem being that too many folks who draw up security schemes don't seem to grasp the most basic lesson about how people deal with security: When given a choice between excessively inconvenient security and no security, your average user will always opt for no security. If that's not an option by default, they will figure out a way to make it an option, and then opt for it. (Sticky notes, y'all.) If there's no way to make it an option, they will go find someone who lets it be an option, then opt for it.
Unless I missed it there is one key point the the article didn't mention. The strength of the web is links and hence the ability to access anything that we can uniquely identify as a resource. Apps don't have links.
This is a somewhat inflammatory title with a fairly unsubstantial article behind it. Whatever.
First came applications. In the mid-90s Microsoft was terrified that the Internet and Netscape would kill the Windows/Office golden goose and they (fairly successfully) subverted the Internet through browser fragmentation.
The advantage of the Web was that it wasn't OS-specific. Microsoft wanted (wants!) you to be locked into their platform.
The 2000s see the rise of the RIA (Rich Internet Applicatdion). One-page sites like GMail, etc (although they aren't always strictly one page). The core idea here is that even though performance was (is?) bad, increasing computer power will solve that problem sooner rather than later.
Let's face it, HTML/CSS/JS is a pretty terrible solution. Browser/OS differences are endemic. It's slow. Modularization (of a Web app) is awkward at best. Offline is incredibly awkward.
What caught people by surprise was mobile. Unlike a desktop, power usage and size became far more important than raw CPU power. Uh oh, Moore's Law no longer to the rescue.
You can be pedantic about J2ME apps (or whatever) predating iOS apps but let's face it: Apple popularized and commercialized the idea of apps even if they didn't outright invent them.
While the rise of the mobile app may appear quick, the pedigree of iOS in particular goes back 15 years. It's really an amazing set of APIs. At the same time, Apple has largely avoided fragmentation issues.
So what makes the app market successful on mobile is:
1. Easy to purchase, install and update. You cannot discount the lack of friction in purchasing apps. It is (IMHO) incredibly important;
2. Much better performance both online and especially offline; and
3. Ease of discovery.
Apple may not have been the first to recognize it but they've also embraced this same strategy on OSX. Google (disclaimer: I work for Google) has the Chrome Web Store. Microsoft is essentially copying the OSX App Store for Windows 8.
I don't see any doomsday scenarios about the Web going away. That's just linkbait. If anything, what I see will happen is consolidation. Now instead of producing just a Website, you need an app (or, preferably, several apps for the different relevant mobile OSs).
Take Newegg. The website is still as good as ever but honestly it's a joy to use their app on the iPad, so much so that I will have trouble buying my parts from anywhere else.
Apple has recognized the need in the modern computing environment to essentially sandbox everything. The Microsoft of old used to take as gospel the need for backwards compatibility so always avoided breaking changes. Google too has realized this to a degree (websites are sandboxed).
Personally I believe the dark horse in that race is Chrome's NaCl (Native Client) as it combines the delivery of the Web (to Chrome at least) with the speed of native applications. Time will tell.
But please do me one favour and quit it with the linkbait-y "apps will kill the Web", "Apple's/Facebook's walled garden will ruin everything", etc. Fears of the worst are nearly always overblown.
Easy to purchase, install and update. You cannot discount the lack of friction in purchasing apps. It is (IMHO) incredibly important;
Compared to what? Not having to purchase, install and update at all? Lack of friction compared to not having to travel the mile at all?
Ease of discovery
I think "read tweet, click link" is as fast as it can to go. And still, the most used mobile app is the browser.
My personal opinion is that native apps that have a WWW equivalent are doomed: Their appeal rests on the fact that they can still do "cool" stuff by taking advantage the touch interfaces that the web was not designed for. Otherwise, they are indistinguishable from desktop apps: games and other heavy-duty processing. The web is not going anywhere.
These days I do not code a website to begin with. I create web services(REST/JSON) first and then code a native app to access it if my use case fits mobile better. If I need a website, then I implement it by calling the same web services. I believe the web as we know (of front end data handling) will surely die. It will be replaced by headless (UI less) services web. As users migrate to mobile/tablet devices, and new mobile capabilities (touch, location, context etc.) are accessible, many traditional web use cases need to be redefined to optimize for new form factor and to exploit the new capabilities. This will make many new start ups follow a mobile first approach (a la instagram). Web sites will be required for few use cases that requires heavy data entry and extremely complex UIs. And probably the 80:20 rule will apply. Websites has been built on duct tape technologies for long, and today's mobile development platforms are way too sophisticated and easy to design, code and debug. Yes you don't get the cross platform compatibility - but is it really that important as it is made out to be?
If I am a start up, I will try to iterate on a single platform ( a la instagram) and get my product right. Then I can move to new platforms - It takes more effort to get the product right than implementing it on several platforms. If my product is successful, supporting that on a new platform will take 1% of the money I could raise and effort. Who cares a hoot if you have a half baked product released at once on 100 platforms?
It may be poor reasoning but my vote is on the web (html/css/js/etc). Why? because it seems to be the only thing that has stuck around in the past. Over the past 20 years we've seen the "web" gobble up all sorts of client side platforms - applets, flash, and a lot of other native desktop applications.
Do I think it is the best suited technology to all the things we are trying to do with it? - Absolutely not, but I wouldn't dare invest myself in anything that competes with it.
Not sure how web gobbled applets and flash: those were the things intended for the web. As for native apps, they are doing just fine. Heck, I moved to gmail in 2005 and used web version for a long time, but now I use it via Sparrow, both on desktop and on mobile.
I've been doing web development for 14 years, I love it and I am pretty good at it, but when developing for iOS I prefer native. Frameworks are great, I like the language, life is good.
Doing all in HTML/CSS/JS? Sure possible. But then we go back to the world of pain because of the gazillion of rendering engines (even if most of them are WebKit). What many miss is that limited screen real estate complicates things—you must to get it look good in most of the configurations, "good enough" is not good enough. The same goes to interaction: people are used to wait when using web apps, but just a slightest lag on touch devices will drive them crazy—when you touch something with your finger directly it better react instantly.
So basically, the idea of web apps killing or even significantly affecting native apps is too naive, in my opinion.
That said, nothing needs to kill anything. We still have radio, we still have cinemas, we still have theater.
Apps won't kill websites, but the way Apple and Google are currently positioning apps, they're the easiest way to improve and mod your phone. Add extensions, games, utilities, have them easily accessible. You can do that with websites with links, but current devices aren't really tailored for ease-of-use and websites aren't packaged in a "similar" fashion, so users have to twiddle with things to get them going.
I think in eBay's case there is nothing stopping them from making their website more user friendly. The reason their apps are is because they had to build it mostly from crash (from a ui perspective anyway) so why not tkae that opportunity. It seems that loads are people are using their website effectively, so why change it? Changing it might only piss off long time users anyway.
To me it seems that the native app is the one on the chopping block. It seems that websites are getting closer and closer to the native experience. Once they're close enough, why would you ever want to make an app? With the website, you give yourself the ability to go multiplatform without doubling or tripling your development efforts, allow yourself to iterate quicker by sidestepping lengthy approval processes, and establish your web presence all in one go.
One other thing to consider - an app is often an easier thing for a third party to write. Only the original owner can modify the original website. (It's why I scratched my own itch and wrote AuctionSieve - I wanted an easy way to create a kill list to filter out rubbish search results.)
Not exactly fair considering eBay just has an awful website and UX. look at airbnb which is designed well and you will find web and app experience to b similar. Apps might not kill the website but they sure as hell will influence design.
No. Apps help complement the websites experience. Like couple of years ago I read that Facebook pages are going to kill business websites. Which will never happen. All these different tools help to complement the user experience.
User has lower expectation on the experience and functionality if the content is presented on the hand held devices. It does not need to be an Apps; you can still design a website which is for hand held devices.
I think you are beginning to see a convergence where websites will look and act more like apps and apps will be coded more often in HTML5. I also think that you will see more convenient on-screen navigation between apps and linking from app to app.
I believe that the .NET-, Objective-C- and Java-based languages/platforms have dated core characteristics that make them disadvantageous as well as the problem of requiring extra coding. So even if people aren't developing mobile apps on HTML5 or HTML5-based platforms they are likely to move towards using some other layer above the native based on the economics alone.
Its difficult to predict what will happen for sure though. Personally, if I had my way, a lot of the current stack would be dropped immediately. CSS would be first to go. The concept of coding markup directly would be dropped. Instead, interactive tools would be used for creating and maintaining UIs and other application structures. Those tools would exchange data in the simplest possible common formats that could be agreed upon. The common formats across tools would extend to include semantic descriptions of components above the implementation level. ASCII source code would fall out of favor and be replaced with more interactive structural and semantic application editors. HTTP, the web, and the traditional client-server would be dropped and replaced with content-oriented networking integrated with the common application and data exchange formats. Browser-type applications/sites and desktop applications would converge so that web applications can integrate with the desktop environment.