When I stop to look at the applications on my phone, almost every single one that is not a game is something that can easily be done on a Web page. Heck, a lot of them are just shells around the exact same functionality. As someone who has no desire to learn how to build something on three different platforms, when one will do, you can see why this would annoy me.
When the iPhone was first released, the phone did not support native applications. In fact, Steve Jobs made it a point to say that "apps" were just Web sites. One might argue that he was saying that because they had no native app story ready at the time, but honestly I agreed with him even then. Most of these apps are doing the work of a Web browser, calling back to services the same way your Gmail or Facebook does.
Sure, there are a few things that can be rendered better in a native app, or can be a little easier to use, particularly when the web page employs interface elements that don't work on a touch screen (like all that hover crap on Facebook).
But if you recognize that some of your audience will be visiting via a touch device, it really isn't hard to build an interface on the Web that works fine everywhere. And who really wants to have another app for every web page you visit? Ever do a web search and hit a discussion board that starts by telling you they have a cool app to download? For what? So I can read one posting on the board that I find relevant?
(BTW: POP Forums works great on an iPad, although MouseZoom does not...)
I agree and disagree. You know as a developer that you separate the logic & database code from the presentation layer. There are multitudes of reasons to do this. Even though it's true that many of these apps simply replicate the experience of visiting a site through a browser, the back end is really the only similarity. The app model gives them complete control (in as much as the App Store lets you) of the look, feel, and flow of their app, specifically written to the particular device. I'd personally rather have a rich experience on the BBC app, as an example, than to see their full site rendered down on my iPhone or iPad, or worse, have them shove me to a dumbed-down mobile version of their site.
I think it's inevitable that the Web as we know it will be evolving to Apps running outside the browser -- think "channels" like a cable television lineup. I believe this idea is core to what Apple is working on for their rumored new TV/setup box. The phones & devices are already driving things there. With more interactivity, rich media, etc., the web standards are struggling to keep up. Add to that the insane overhead of a modern browser -- pre-loading huge libraries like Java and other related interpreters, plus the overdue death of Flash, and you'll see the shift happening before our eyes.
As more & more consumption of distributed data is consumed from devices and not traditional p.c.'s, I believe the push to app's will make the browser a seldom used novelty.
If Apple starts driving its TV and other devices with Siri, is there really any reason to open a browser, go to Google, and search? No, you'll have a "results powered by nnn" application with Siri as the front-end.
As a developer & manager of custom software, I find this shift very appealing. I've often viewed the web and every iteration of presentation technologies (HTML, DHTML, VBScript, Java, ASP, Ruby, etc.) as poor cousins of what was already available natively on the different platforms. How f'ing ridiculous is it that Flash became just a "wrapper" for rendering video that was better left to the host operating system? I really don't want or need an application like Flash locking up 300mb of physical & virtual memory to play back an MP4 file.
I think the interesting question will become "what development platform will emerge as the best & most robust for designing apps for these different devices? Will there be a VB-type RAD environment to write code that can be cross compiled from the same source? I personally don't believe that HTML5 is the answer. I really don't want the overhead and limitations of HTML5 when I'm designing an application with fast queries, rich graphics, new i/o methods (like Siri or the accelerometer). Nor, do I think locking developers into Objective C is the answer either.
Not to denigrate your work on your ASP engine, but I believe web-based applications took us collectively back in productivity to the days of green screen terminals. It took a LONG time for the web standards to offer usability that had been standard in GUI systems since the early nineties. And, what we're seeing now is a shift back to rich clients that are custom written for their host device, not for a watered down layer called the web browser. YMMV
/m
If all you care about is iOS, you'd have a point, but you're ignoring the problem I'm complaining about in the first place. Supporting several platforms sucks.
If you think modern Web development knocks anyone back to anything, you're not doing it. Platforms like Ruby on Rails and ASP.NET MVC make it possible to crank stuff out in a way that no native app could, especially one that can be used on any device.
I think from a developer point of view, write once, run everywhere is very attractive, but it comes with a cost.
I wouldn't suggest every site on the Interwebs would need to become an app.
What I'm saying is that you simply cannot replicate everything custom designed for specific o/s and/or hardware with a web-based (read: browser hosted) application, no matter the strides made in libraries/foundations. Microsoft has a done a great job with ASP.Net. The problem is on the presentation layer where you are severely limited in functionality vis a vie the browser vs. client-side applications. Not to mention the different browsers, host o/s, and now device requirements.
How successful has Google Docs become vs. Office? How much of Office's features, ease of use, etc. does Google Docs cover? Very little.
Would you ever, as a developer, try to write Premiere for the web? Even if it worked on any box? Of course not. There are too many graphics manipulations and hardware communications that either aren't available or simply make no sense to expose to a server-through-browser design. And, I don't see that ever changing.
Of course, I'm using an extreme example. But, all of the applications lying between simple text rendering and hardcore graphics need a host to run. Whether it's a browser or a custom app on ??? operating system, that's a balance between deployed base & ease of installation vs. feature set, IMO.
Looking at my iPad, I can tell you the app's I have that replicate functionality found in a website that perform better, offer more speed, more accessibility, and a better user experience:
Citibank vs. their site
TD Ameritrade
Ebay
Hulu Plus
USA Today
BBC
CNN
Macworld
Pandora
Mvelopes
I agree that not everything needs to become an app. But, I do think we'll see more apps than browser-based sites in the evolving Web. I think that is a good thing.
/m
I don't know what ASP.NET has to do with anything or why you keep bringing it up. Office apps aren't what I'm talking about (though Office 365 remarkably does cover much of the commonly used functionality), I'm talking about the hundreds (thousands?) of apps that do little more than reformat content for another screen. That was my point all along. Every content site (news weather, etc.) can provide the same functionality with a Web based front. Some of them even are just browser-based wrapped in a binary.