The Fat Client is Dead
Posted April 7th, 2008 in Development, WebI don’t think anyone will argue against the point that a lot of applications that were traditionally desktop-based are now moving on to the web. Google has proved that you can make very rich, very responsive, and very good web applications; GMail, Google Maps, Calendar, Docs & Spreadsheets, Reader, etc. are all applications I use regularly. While some of them may not have all the features of their fat counterparts, the fact they they work anywhere with a ‘net connection and a browser makes up for it (for certain uses).
I am a firm believer that the fat client is dead, or at least dying. We are switching to an online world and the OS is being replaced by the browser. It’s really just a matter of bandwidth and latency before almost every application will move online. Things dealing with really large input can’t currently work well online but that’s just a matter of time. Serious photo editing applications for instance, would need a lot of bandwidth; every time I press the shutter on my camera I make a 10MB RAW file, and it’s not uncommon to have at around 100 photos in a shoot–uploading a gigabyte of photos to process and sort through right now isn’t feasible but with more bandwidth it would be. I think that in the next several years we might see Internet access regulated like telephone service is now, and anyone who wants a high speed connection will be able to get one–and pretty much anybody with a computer will.
Mobile phone applications are also going more web-based. Apple seems to be ahead of the curve on this one, as a lot of things for the iPhone are web applications. Some people would say that it’s too early to make that jump, as web access on the cellular networks currently isn’t very good (EDGE is too slow), but this is also what they said when Apple stopped shipping computers with floppy drives and when they switched everything to USB, etc. and those really worked out in their favour.
It’s also getting much easier to build good web applications. Things like Ruby on Rails and Google Web Toolkit are providing developers with the groundwork they need to really hit the ground running here. I built a full web app using Rails in about a month–which also included the time to learn Rails, making mistakes, doing things inefficiently, going back and fixing them, etc. I’ve also worked with Apache Struts in the past, and this application would have taken at least 2-3x the time to implement using Struts. I don’t have any real first hand experience with GWT yet (I intend to remedy that soon), but from what I’ve heard and read it really helps make something with the feel of a desktop application.
One of the biggest issues with web applications has been that they go away when the network does: on a plane, during an outage, etc. Google once again came in here with a solution–Google Gears, which lets these web apps store some data locally and let you use them offline. I haven’t seen anything really interesting using it except for Google Reader (which was the first public use of it) and now Google Docs, but I keep hearing (unconfirmed) rumours that we’ll see it integrated into GMail soon.
The other big issue that’s always brought up is data privacy. I don’t believe that this is quite as big of an issue as people think it is, as all the companies providing these services have everything to lose and nothing to gain by snooping in on your data or selling it. They’re equally as concerned with data leaks; Google gets a lot of flack about the amount of data they have, but I know that they take data privacy very seriously–a lot of effort goes in to keeping everyone’s data secure. Nevertheless, there will be institutions that will never trust their data in anybody else’s hands–I think that the providers will sell a “black box” to these places so that they can run their own internal-only instance and keep their data on site, much like Google does with their search appliance now.
I think it’s a very dangerous proposition for an new development to not consider a web UI. Personally, I think a lot of effort is currently being wasted on fat clients in companies around the world. Eventually the writing on the wall be become evident and most of that effort will be tossed out in favour of a web UI in the coming couple of years (again, not for every application, but for a lot of them). The argument to this is often that certain things are hard to do on the web, but with the current suite of tools out there it’s usually not as hard as it might seem, and if it is hard, getting it done could be a competitive advantage. Switching to primarily web-based applications can also reduce a company’s IT costs; managing application installs on workstations is dirty work, by moving to web-based applications much of this work can be eliminated.
