Talking around the office about a future with web-based IDEs, it was interesting that people are starting to get it, or at least, not scoff that it's something we'll ever to deal with. There are some good aspects to it for the tools business. At the least it's a great way to quickly get our products out to customers with minimal install fuss (the bane of my existence these days at work), and it's a great way to get immediate feedback on what they find valuable.
The question that needs to be answered is why now? I remember back in the 90's we were clamoring to get away from the client/server model. Everyone wanted a PC or workstation on their desk and former stars of the server world, DEC in particular comes to mind, faded away. Servers found a new life thanks to the web and it seems now, about 20 years later, we starting to climb back onto the client/server bandwagon. Why did we get away from that architecture and what's happening to make us want to go back.
From what I know, looking back, I think one of the biggest problems with servers in the 80's and early 90's was their sheer cost. They were expensive machines. You could buy 100 PCs for the cost of one of these things. Worse, yet, they didn't provide 100 times the compute power. The price/performance ratio made PCs a smart bet. They are both cheep and powerful. That, and they provided freedom to the user. If the server went down, they could keep working, and if they wanted to install some "forbidden" software, they could do it. It was really refreshing come to think of it.
But as any IT professional, or installer guy, would tell you, maintenance of all these machines is a nightmare, for the admin, and for the bottom line. As employees of larger companies well know, there are companies making money on software that beaver away in the background making sure all the other software is kept up-to-date and on the up-and-up. And, of course, some of the more rogue employees know how to uninstall that software and get it out of the way ;).
What the old server model provided was that ease of maintenance. You installed software on one machine and all your users had instant access to it. Of course there are risks to that as all of us tweeters had to deal with today, but with an improved focus on security and robustness with these critical server apps, like we had in the server era, those should become rare.
That, and looking at the cost of servers these days, the costs are way down. I would think that the price/performance curve is turning towards the server side. And just look around your workplace and count the number of CPUs sitting idly. It would be an interesting study to figure out what percentage of CPU power companies have is actually being used. It might make more sense to spend more on servers and less on desktops. You don't need that much power to run a web browser, especially with the ever improving JavaScript VMs that we are finding in them these days.
It's not really far fetched today to see a future, say five years away, where all of our apps are running on servers, in the "cloud" say, and we are accessing them through "dumb" terminals running web browsers, which is what Google's Chrome OS and I'm sure others will provide. The economics are right. The culture though is something else. Are users ready to give up the freedom that traditional desktops provide? I think so, but only if the applications provide significant new value. Tools that integrate with other web apps to allow collaboration over the web could provide that value. Running desktop-style apps that simply display themselves in a web browser, will not.
Hello Doug,
ReplyDeleteI don't know whether we really want to go back to the client-server model or whether it's just something the industry is pushing for.
I for that matter don't want to store any private data on computers which I don't own. The latestest example with the Kindle where books were deleted without the consent of the owners to me is just a hint of what is to come when we give our computing away to others.
Regards
Manfred
It should be reasonable to expect that web-based apps must also work offline (without internet connection), correct? In that case server cloud becomes less useful and web app is simply a javascript-generated local application in a browser that is not meant to run several js-intensive applications at once (unless you have Chrome).
ReplyDeleteEspecially for tooling. And for that I haven't seen much else than Google Gears. Any ideas how e4 web mode would solve that? Both accessibility to the application and accessibility to it's underlying resources (workspace).
There certainly will continue to be resistance for the exact reasons both of you have mentioned. I'm looking 5 years out when hopefully wireless Internet will be ubiquitous, and yeah, in theory, you would always be connected. At the least, that is the Internet's destiny, whenever it arrives.
ReplyDeleteAnd there's nothing to say that the server could be in your company, or even local on your machine. That's the exciting thing about the Eclipse Run-time. In theory, it should be able to run anywhere. The key is that the user experience is the same no matter where the server is.
I think that instead of having internet-only access to data there will be a strong need for data replication and synchronization between different pc's and servers (distributed and versioned information control, git+hg+etc being the first birds flying in that direction).
ReplyDeleteIt's more complex but in the long run doable, plus with some smart architecture you get the opportunity to use servers as dummy intermediators who only connect your other PC's without "owning" the sensitive data.