To extend from the question things like googledocs can handle word, excel and powerpoint so why aren't all programs being moved to web applications with the use of smartphones(blackberries, iphones and androids) and tablet pcs(ipad) increasing why isn't there a move to get every program browser based? With the increased capability of CSS and javascript surely this makes sense no need for clunky java programs which are 10 years old which just write to a database, that a rails/django application could probably do quicker and cost less money to maintain.
-
32Well, to start... not every application is about writing to/reading from a database. – Adam Lear Apr 25 '11 at 20:48
-
4I have a backup program running right now. I don't see that becoming a web app. And while Google Docs do kind of get the job done, I wouldn't want to have serious day-in day-out work to do with that stuff. Same goes for development environments etc... – MetalMikester Apr 25 '11 at 20:50
-
Ok what about my example of googledocs which covers the basic office operations online. – Dean Apr 25 '11 at 20:50
-
@MetalMikester A browser development environment linked with a repository would be awesome. To be able to pull out my ipad downstairs and work. Then go upstairs and load up safari on my macbook and just loading the webpage will load my code changes. – Dean Apr 25 '11 at 20:52
-
4@Dean: Yes, googledocs covers basic office stuff, but it is not nearly enough to handle what I see here. I suppose in theory if googledocs was fully feature compatible with MS Office then it might be able to replace desktop office suites, but it's not there yet. – FrustratedWithFormsDesigner Apr 25 '11 at 20:57
-
27What we really need is a web based browser. ;) – JD Isaacks Apr 25 '11 at 20:57
-
18Some people like that things work without an internet connection... – Apr 25 '11 at 20:59
-
@John Isaacks: We better replace the operating system with a web app as well – Anto Apr 25 '11 at 20:59
-
9Sorry, it's just not a good question. – karlphillip Apr 25 '11 at 21:00
-
2Is this a serious question? – mattsven Apr 25 '11 at 21:13
-
@NeXXeus yes because before I wrote about it I failed to see the problems that it causes. After reading the article in @Developer Art's answer my mind has changed. – Dean Apr 25 '11 at 21:17
-
9Some programmers think that the db-backed "Create, Read, Update, Delete" (CRUD screen) stuff they do is what "programming is". The "Other stuff" never occurs to them. – Warren P Apr 25 '11 at 21:22
-
@Warren P i know that programming isn't just db-backed stuff. My question was to really ask why isn't there a big move to web applications away from installable software. I hadn't thought about the issues involved in software development. Yes in principle a fully integrated web system that does everything seems a good idea but its not practical, this is what I forgot to think about. – Dean Apr 25 '11 at 21:32
-
7I find that, in general, the problem domains in most web apps tend to be much simpler than other apps, but the implementation tends to me far more complex. Any web app nowadays requires the dev to know a myriad of languages: html, xml, json, javascript, php/ruby/java/c#, and sql; as well as a zillion different browser quirks, and multipe frameworks. On the other hand, other types of dev domains tend to be far more complicated, yet require the dev to know fewer technologies; like C#/Sql or Java/Oracle. Occasionally, these overlap, but not often. – John Kraft Apr 25 '11 at 21:35
-
4@John Kraft: Add to that the distributed and stateless nature of web applications which causes a brain fart with "real" programmers. – Apr 25 '11 at 21:40
-
+1 @DeveloperArt I totally brain farted about the statelessness. :) – John Kraft Apr 25 '11 at 21:43
-
1This is funny i'm working on a project that just won't physically work as a web app. As it connects to custom hardware. Although this is of little use because only a small percentage of people will use it. – Dean Apr 25 '11 at 21:53
-
3@Dean: have you ever used Google Docs and Microsoft Office or Open Office? If so, how could you think those web apps are anywhere near ready to replace the desktop versions? They quite clearly are not there yet. – quentin-starin Apr 25 '11 at 21:54
-
@qes For basic functionality I have such as a simple word document with a couple of headings and text but not with pictures. Thats mainly it. Having just played with googledocs a little more I see peoples point. – Dean Apr 25 '11 at 21:56
-
@Dean: I curse it at least once a week. In addition to being an awful long way from feature complete it is also often slow, often exposes serious memory leaks in browsers (FF), and is an absolute nightmare when managing multiple google accounts. – quentin-starin Apr 25 '11 at 22:31
-
@John Isaacks - http://www.eyeos.org/. You'll get a real kick out of what these guys did. – jmort253 Apr 26 '11 at 04:05
-
@Thorbjørn: JS doesn't require connection to work, moreover with HTML5 it has DOM storage; – vartec Apr 26 '11 at 11:54
-
btw. would you count Komodo IDE and other tools based on Mozilla as a "web app", even though they actually have nothing to do with web? – vartec Apr 26 '11 at 11:55
-
May be this is something close to your idea- http://www.zdnet.com/blog/microsoft/beyond-the-browser-microsofts-c3-next-gen-platform-for-html-based-applications/9282?tag=mantle_skin;content – Gulshan Apr 26 '11 at 12:04
-
@vartec, sure. Show me the apps, please. – Apr 26 '11 at 13:02
-
@Thorbjørn: one with few hundred million users is enough? Gmail. It has offline mode, it works on cell phones while offline. – vartec Apr 26 '11 at 13:16
-
@vartec, "apps" is plural, and mean more than just a single one... Offline-mode support is hard. – Apr 26 '11 at 14:56
-
@Thorbjørn: want more? Google calendar, Google reader, RemeberTheMilk.com – vartec Apr 26 '11 at 15:18
-
1@Vartec any others that are non google related? – Dean Apr 26 '11 at 15:20
-
@Dean: RemberTheMilk.com is not google service. Why aren't there many apps supporting offline mode? Because it's not an issue anymore, even many desktop applications won't work now w/o internet connection. – vartec Apr 26 '11 at 15:22
13 Answers
Because not all programs require for their operation resources reachable over the Internet. Many are just local applications that in their concepts have nothing to do with accessing the web.
Besides, Internet connectivity isn't ubiquitously available in every country, in every town, in a non-inhabited place, in the train, on the plane etc. And even if it were, there is always the risk of the connection going down and interrupting your work at the worst possible moment. And even then, if you were to accept that risk, there is the additional danger that the service loses your files, discloses them to a third party due to a bug or a security issue, suddenly starts to charge [more] for the usage or even goes out of business one day. You want to have the security of a local application, local machine and local data storage.
But the general trend holds, many desktop applications are being transformed into web software.
You may want to read this:
-
Thats a very interesting article. I was looking for something like that with the question. It's not what I got. I guess its not for the good that we move to the web. – Dean Apr 25 '11 at 21:07
-
@Dean, if you look at and understand how electronic devices work, you'll answer your own question. – d-_-b Apr 26 '11 at 04:46
-
2Even if internet connectivity is easily available, there can be good reasons to turn it off. Anti-malware slows systems down hugely (by a factor of at least 4 or 5, often by much more than 10 times in my experience) and no matter how much you run, you can still be unlucky. My solution - dual boot. Windows never goes on the internet - the device driver is disabled. I don't need any background anti-malware - an occasional scan is enough. I've been doing this for over a year. There's minor hassles, but I have no intention of switching back. – Apr 26 '11 at 12:12
-
@Steve314: It is actually quite smart. I used to live similarly in the times I couldn't yet have Internet connectivity at home. It was quiet and relaxed time. – Apr 26 '11 at 12:42
-
-
-
@FrustratedWithFormsDesigner that the internet isn't a distraction to me when working. – Dean Apr 26 '11 at 13:32
-
@Dean: I know people your age and much older to whom the web is a constant distraction. – FrustratedWithFormsDesigner Apr 26 '11 at 13:35
-
I actually meant "quiet" in the sense of feeling behind the fence out of reach of viruses, port scans, malware, spyware and other dangers that were circulating around. – Apr 26 '11 at 13:45
-
1Hmmm - thinking about it, needing to reboot to switch from internet stuff to most other stuff has that distraction-avoiding advantage that Dean denies too. A barrier to that "I'll just check my e-mails" and "I wonder what's happening on SO" temptation. – Apr 26 '11 at 14:23
Because it doesn't make sense for EVERY program to be a web-app. Some examples of things I don't think would work well as web-apps (though it's probably possible to deliver them via browser plugins, Flash apps, or some sort of network-basd application delivery system such as Steam):
- Graphics tools such as Photoshop, Maya, Blender, Illustrator.
- IDEs such as VisualStudio, NetBeans, other development tools such as source control (well, this one is a maybe but I really prefer the desktop versions of such things)
- Database-based code, such as some of the stuff I write a work (data conversion).
- Games - Let me know when I can play Crysis 2 by loading it through a browser. ;)
Why should web-apps replace all desktop apps? It's a different platform suited to different tasks.
EDIT:
It seems that "web-app" and "program in the browser" are being used almost interchangbly. I don't think they are necessarily the same thing. You can take a program and deliver it to a user via Flash or some other plugin and it's a program that's available on the Web, but I'm not sure it's the same as a "web-app", which I'd say is a program that runs on the server (not on the client via plugin) and are usually CRUD-based and have some database in the backend. Of course, there are probably situations that overlap.
Most of the examples I mentioned could in theory be (and in some cases have been) made available over the web as browser plugins or Flash apps, but that doesn't mean I think it makes sense to build them as server-side CRUD-baed web-apps.
(original answer's been edited for what I hope is increased clarity)

- 46,235
- 7
- 128
- 176
-
3Let's not forget other high-end software such as audio/video/scientific apps. – d-_-b Apr 26 '11 at 04:40
-
5I'd add word processors, spreadsheets, etc. to that list. Yes, web based alternatives exist there, but they're clunky and data security is a major problem. – jwenting Apr 26 '11 at 07:09
-
2Photoshop - you must explain to Adobe, that they doing something wrong: http://www.photoshop.com/tools; Games: explain that to OnLive – vartec Apr 26 '11 at 11:50
-
2The target audience of a tool like Photoshop Express is totally different to Photoshop. – FinnNk Apr 26 '11 at 12:11
-
1
-
@FinnNk: of course it is, but eventually they will port full Photoshop to cloud also. – vartec Apr 26 '11 at 13:00
-
2@Dan Ray: I'll have to look that up tonight. Have you tried it? How does it compare to running it locally? – FrustratedWithFormsDesigner Apr 26 '11 at 13:46
-
@Frustrated: does it really matter if it would run "good enough" for most ppl? I bet it looks way better in browser, than for example any native game on Wii. – vartec Apr 26 '11 at 15:02
-
1
-
@Dan Ray: So is this through a browser plugin? Is the plugin just a wrapper to the original UT binary? Are maps/content downloaded on demand or installed with the plugin? Apparently, somethins similar exists for Quake. It's an interesting idea, to be sure... – FrustratedWithFormsDesigner Apr 26 '11 at 15:24
-
@Frust, Yeah, it's a custom plugin, but I assume all network business (certainly including game status updates, and probably including downloading game assets) happens through the browser. The point is, the install of the plugin happens in the browser, the interaction with the server happens in the browser-wrapped plugin, and there's nothing the user has to "install" like an application to make it go. Arguably it's not "really" a web app, but I'd say it is one, just sort of heavy-weight. – Dan Ray Apr 26 '11 at 15:36
The web software haven't just yet reached the power of complex desktop applications. Besides, their user interfaces are usually annoying to use with a keyboard, they aren't available offline (big one), have worse performance etc. Some people just don't want to, or can't (think CIA or FBI), have their data on others servers. If the service goes down, what will happen with your data?
Some special software needs specific hardware support, e.g. support for graphics tablets. I don't think Javascript can handle that.
They just aren't ready, and they will most likely not be. Offline support matters a lot, so does performance, and keyboard friendliness etc. etc.
And, it would cost a lot to move all programs to the web and in many cases, the benefits are actually few.

- 11,187
- 13
- 68
- 103
I'll go against the grain here. Hopefully I won't be downvoted into oblivion.
Most applications are being converted to work in a browser.
For every example I've read in the thread, there is a browser version. The reason is very simple: most people may prefer just visiting a site than downloading and installing an application for their simple needs.
- Imaging
- IDE
- Data Processing
- Games are too many to mention, etc.
The point is: if you expect a 1:1 copy of a desktop application, the technology is not there yet. If you want a simplified version, you may be better served by an online application. No install, no maintenance, possibly free.
From working in the field, it's evident there is a large trend of moving applications "to the cloud". This is generally intended as an alternative, with pros and cons.
The truth is - the two are complementary. One does not exclude the other.

- 5,260
-
7Avionics and flight control? Air traffic control? Assembly and manufacturing robotics on a production line? Medical equipment? There are hundreds if not thousands of problem domains that have absolutely nothing to do with "the cloud" or web based applications. – Dave Nay Apr 26 '11 at 01:17
-
Correct: embedded systems do not apply. Regarding low-latency applications you can still have a cloud counterpart which might be useful - e.g. not all trading is high-frequency, not all flight-control software needs to be absolutely real-time, etc. I do think that the OP meant "applications" when he said "programs". – Sklivvz Apr 26 '11 at 08:09
-
1
-
"I do think that the OP meant "applications" when he said "programs". " No, he probably meant "apps" in the overhyped sense of the iTunes appstore... You're right that there are non time-critical trading applications. CDS trading for example is (or used to be) end of day only. But of course until quite recently it wasn't computerised at all, and when I left that business it was slowly changing. – jwenting Apr 26 '11 at 13:24
-
1@vartec: The OP's question was "Why aren't all programs being turned into web apps?" He did not exclude embedded systems, and he did not specify desktop applications. His question was regarding "all programs". – Dave Nay Apr 26 '11 at 15:01
-
2@DaveNay: but from the context it's implied. You wouldn't expect to have avionics running on Blackberry, would you? – vartec Apr 26 '11 at 15:05
-
1@vartec: The "implied from context" monster has never bitten you in the butt has it? ;-) – Dave Nay Apr 26 '11 at 15:28
Here's my short list as to why:
- Not all devices you program for have access to the internet
- Not all applications can assume the user will have access to the internet
- There are a great deal of applications that wouldn't make sense to be a web app
- Though web development is getting better, it's still not as strong as non-web technologies
Those are the ones off the top of my head. I'm sure there are more.
When you start writing an application you need to decide if it makes sense to make it a web app or not.
Also, I'm not buying that it's quicker and costs less to maintain. As soon as you get into doing anything complex, that argument quickly fades.

- 9,528
It's a non-starter on the client side: Javascript doesn't have anywhere near the power to manage real spreadsheet, word processing, or presentation documents.
It's just as much a non-starter on the server side for the following reasons:
- Security - I don't want other people seeing my bits;
- Accessibility - I don't want to lose access to my work if a server goes down or a tree falls on a cable somewhere, especially if I have to present to someone in the next 20 minutes (the server ate my homework);
- Performance - I don't want to sit there and wait while my 40 MB PDF document makes its way through a congested pipe;
- Applicability - I don't want to use a browser-based tool that's clearly inferior to a dedicated desktop tool (think Photoshop, programming IDEs, video editors, etc.).
Keeping everything in the cloud seems like a great idea until you really start thinking about it. I mean, yay for Google for trying, but my experience with Google docs has not been entirely positive.

- 10,856
-
1userfriendliness... I have clicking a million things when a simple keyboard shortcut should suffice. – jwenting Apr 26 '11 at 07:11
Sarcastic mode on. Because those web apps need a non-web platform to run. Sarcastic mode off
Is not feasible to turn all non-web apps into web-based app because of:
- budget
- real reasons: why would an existing app that works be turned into a webbased one?
- some limitation of web apps
- dependency of connectivity. You don't want to add a weak link in the chain if you don't need it
I'm sorry but web is not the answer to everything...

- 3,253
There are reasons why what I'm working on is not going to the cloud any time soon.
First, it's proprietary and internal software, like most of the software out there. There's many more reasons to push shrinkwrap software onto the web than internal. We don't care if our people can't use the software from home or a hotel room. We supply the platforms, so we don't have to be at all cross-platform.
Second, it's a lot easier to make a program work well not on the web. We've got MFC and Visual C++, and that's the main stuff we developers need to know. Web apps require a lot more different things, and most serious web apps are written by large companies.
Third, it's harder to get performance, and we do have to worry about performance for this software. Having to send large amounts of data over HTTP is going to be a lot slower than keeping it in local memory particularly with network difficulties, and will prevent our people from working at all if the network is down.

- 20,270
- 2
- 56
- 83
I think it'd be cute trick to get Crysis 2 running in a browser using HTML & CSS.
And then, of course, much of the world doesnt have internet access thats reliable and fast enough such that they are guaranteed to have it whenever they want to use an application. Nor are people always eager to store their data on someone else's servers (cough Amazon EC2 outage cough)

- 39,224
-
I didn't mean for high performance programs like that. I meant for business use such as word processing and spreadsheets and things connected to a database. – Dean Apr 25 '11 at 21:00
-
1@Dean: Business programs go beyond word processing and spreadsheets, and many of them don't have anything to do with databases. – FrustratedWithFormsDesigner Apr 25 '11 at 21:03
-
6@Dean, you specifically asked about 'all programs'. I only answered the question you asked. And there's still my 2nd point. Also, Fred's point is right on - not all business apps are boring old data entry screens with a few graphs. Also, a lot of those boring old apps have been moving over to web based applications when that platform is appropriate for them. – GrandmasterB Apr 25 '11 at 21:22
-
1I guess Dean got surprised that there are other things than websites and Flashgames out there... – jwenting Apr 26 '11 at 07:12
-
1First of all in HTML you'd have WebGL (not enough for Crysis 2 yet, but in theory could run Crysis 1 if someone would bother to port it). Secondly, currently most popular gaming platform -- Steam, is a web app (early versions were MSHTML based, current one is WebKit). – vartec Apr 26 '11 at 12:04
-
Unreal Tournament is available in the web browser, playing networked with other players. It's implemented as a custom browser plugin, but still, there it is being a web app. – Dan Ray Apr 26 '11 at 12:15
-
Oh well, you if you don't like cloud, you can always play on your PS3.. oh wait, can you? http://www.huffingtonpost.com/2011/04/26/sony-playstation-network-down-ps3_n_853695.html – vartec Apr 26 '11 at 14:00
I don't like the phrasing of the question. But neither I like the answers. To address some issues
why isn't there a move to get every program browser based
This is just plain wrong, web application is not the same as browser based application.
Internet connectivity isn't ubiquitously available
- HTML5 explicitly addresses question of offline web applications.
- Google previously achieved same thing with Google Gears.
- On the other hand are many WebKit or Mozilla based applications that use web technology stack, but are actually totally offline and have nothing to do with web (e.g. Komodo Edit).
examples of things I don't think would work well as web-apps in the browser:
- Graphics tools such as Photoshop, Maya, Blender, Illustrator.
Adobe introduced browser based Photoshop Express in 2008. Of course it's not full Photoshop yet, but enough to prove that it would eventually be possible. And actually if you think about that kind of apps, it would be great to have them web based, because it could use the computing power of the cloud. I mean, you'd click 'render' and have result in split second, not few minutes later. Another example I could give is Publitas ePublisher, it's browser based, it's in cloud.
Games - Let me know when I can play Crysis 2 by loading it through a browser. ;)
- the most popular PC gaming platform nowadays is Steam. It's cloud, it's client is web based (current version uses WebKit, old one was using MSHTML). Same goes for most popular one on consoles (Xbox Live);
- WebGL -- not yet on par with DirectX 11, so no Crysis 2 yet. But should be enough to implement Crysis 1 (if anyone would bother to port the engine);
- gaming on demand - like OnLive, Gaikai or OTOY;
- through browser plugins - like QuakeLive.

- 20,806
-
Some good points! I don't use Steam so I have to ask: When playing a Steam game, is the game downloaded onto the user's machine once and persisted there, or is it loaded from the network every time the want to play? As for QuakeLive, how much of the game binary is in the plugin? Is it just a plugin that installs and wraps around the old Quake game engine, or something else (I couldn't find those details on the FAQ page yet). – FrustratedWithFormsDesigner Apr 26 '11 at 13:45
-
@FrustratedWithFormsDesigner: for Steam it's downloaded once per machine and then synced with latest version each time you go on-line (Steam does have offline mode also). It's necessary, you wouldn't want to download 10GB every time ;-) The games themselves are still running on client's computer (although you can have settings and save files synced with the cloud). For QuakeLive, sorry, I don't have any idea. – vartec Apr 26 '11 at 13:56
I must say that there have been a lot of good answers already, but I can't imagine something like SAP being easy to do in Rails/Django. Even if it was easy, why would somebody spend a year or so re-writing something that they spent over a decade perfecting to keep up with the latest fads? Do some programs fit well with the "web 2.0" experience, yes. I believe Google has done really well with that (such as Google Docs, etc), however, people do need to face the fact (even Google) that not everything will be a nice little web app.

- 5,163
Because writing applications for different platforms and/or losing out on market share because it only runs on one is just too much fun. I look forward to the day when all I have to do is create installation packages. If I were to get real lucky, I could do the customer support for installations as well.
Maybe the question should be, "Why do programmers still use languages I don't like?"
Trust me, if an application that the users would like the interface to be on a browser could be created, it probably has or soon will be as web technologies improve.
Most of Evernote's users are on a free plan and they still make apps on several platforms. I'm sure if they just had a browser version, life would be much easier, but that's not what people want/need.
With experience, one day you'll be able to conjure up some applications that are not suitable on the web.

- 36,816
Simply because time has not come yet! Probably once we have something like UWS (Uninterrupted Web Supply) ;).
PS: Web app does not mean that it will be on cloud, it may reside on local secure server so security logic may not be used for Desktop apps.

- 1