This morning I saw
Ramesh Jain's post on Novatium's sub $100 PC. Yesterday, a friend sent me this
interesting ZDNet piece by WYSE CEO on thin client computing and this
video interview with ZDNet editor Dan Farber. Now, of course Kish has a vested interest, but I find myself agreeing with him.
At this point in time, I think a return to server-based computing is making more and more sense due to a number of factors including wi-fi speeds, Internet speeds, computer usage habits, software configuration / management issues, security issues, cost issues, etc.
I've had a post on the subject sitting on the back burner for some time. In light of the recent articles on the subject, I think I'm going to post it. If Joel Spolsky can feel comfortable posting drafts, I think I can too. Here are some drafty thoughts.
Server-based Computing Seems to be Returning in My HomeAlthough I'm usually not at the bleeding edge, I do tend to be "early adopter" end of the curve when it comes to many technologies. The current trend in home computing at my house can be well summarized as a return to server-based computing.
Before personal computers were the ancient days when computing, processing and storage were handled by mainframes or mini computers stowed away in air-conditioned back rooms and input and output were handled by (no, offense) dumb terminals or the later smart terminals, which by today's standards were pretty dumb too.
When personal computers initially appeared, software and data management was pretty simple. It was easy to install an operating system, it amounted to inserting a floppy into a drive and turning on the computer. Installing and uninstalling software was just as quick and easy. All you had to do was insert a floppy and type "A:MyApp.Exe" (and you didn't have to reboot three times in the process).
Upgrading to a new computer was easy because all the software was kept in a box on a shelf above the computer. It was as simple as taking the old computer away and putting the new one in its place. Before hard drives appeared, there were no personal files to move or software to reinstall. In retrospect, it's kind of amusing. In spite of all the zeal to make our lives better, things have certainly gotten worse on this front (by orders of magnitude). Upgrading to a new computer (especially for Windows users) has gotten to be a real nightmare.
Given the pain of configuration management these days, I'd really prefer to do it in one place. I'd rather concentrate as many of the installation and management hassles as possible on a server in a back room as opposed to trying to manage multiple computers for myself and members of my family. Managing multiple computers leaves me feeling like a one man I.S. department. Home networking speeds are good enough to handle remote sessions. I even do a lot of work on my computer at the office via Remote Desktop sessions traveling over wi-fi and VPN.
I develop software. My work entails using Microsoft's compiler to convert very large projects from C++ to executable programs, and on this front, the more horsepower I can get, the better. When I need serious computing power, I control more powerful machines remotely from my laptop. It's much cheaper for me to build a high-powered server and keep it in a back room than it is to try and put all that power into laptops that quickly burn through batteries and generate enough heat to keep my lap uncomfortably warm. What a minute... A server in a back room? What a novel idea!
Thanks to digital photography, I'm generating data I want archived at a rate of megabyes per click. This, too, winds up on my server. There are other advantages to this. The images can be accessed from other machines connected to my home network. Concentrating important data on a server also makes for easier back ups, and it makes it reduces the hassle of upgrading other home computers such as my laptop, because there's less data to migrate.
Ideally, and maybe it's time to research possibilities, I'd like to see the important data on my server backed up off site. I remember early in my career when I had a side duty of taking company back up tapes to the safe place we stored them off site. A lot of people are into RAID and backing things up on DVDs, etc., but if your house burns down, you're probably going to lose your RAID drives and your DVDs and everything else. Most data security meaures won't solve the problem of a fire. Given broadband Internet connections, the right way to do this should involve encrypting important data and transferring it over the Internet to a safe place off site. That way important data and digital family photos wouldn't be lost in a fire. (I wonder if there's a practical way to do this peer-to-peer with remote friends and family. Hmmm....)
Update (3/16/2006): ExtremeTech with the latest in online storage.
Using a PC as a video recorder (i.e., TIVO substitute) translates into a need for a lot of hard drive space as well. This doesn't need to be backed up off site, but it would be nice to store it on a single server. It would be really nice if a single video server could stream video to multiple rooms in one's home and provide on-demand video streaming to any properly-equipped computer or television in one's home. The same is true for music as well. A friend of mine recently did some home automation and has a nice set up for streaming music anywhere in his home. The way I see it, all of this adds up to a greater need for a really capable home server.
Creating a good server solves other problems that echo back to the days of mini and mainframe computing. For example, the more a home server approaches mainframes in terms function (processing, storage, back up, etc.), the more other home computers are free to approach dumb terminals in terms of function (with, of course, better graphics).
If all you need is a laptop that's able to offer a decent Remote Desktop session, you're not going to need a laptop with a hefty processor or a huge hard drive. (If network speeds get fast enough, you might not need or want a laptop hard drive at all. I think one can make a strong case against keeping important or sensitive data on laptops, because they can be easily stolen.)
Home servers have the potential to dramatically reduce the software and hardware requirements of other computers in the home (and reduce the time spent administrating those other computers). An immediate consequence of this is that it becomes much more cost-effective to have multiple home computers. I find this very desirable. For example, if computers are cheap enough I want a small one in my kitchen. I tend to get most of my recipes off the Net these days, and I've started bookmarking them in del.icio.us.
The Net has radically changed the way many of us, if not most of us, use information, and it has created all sorts of new opportunities that would have been unthinkable twenty years ago. If laptop and tablets were cheap enough, for example, I think I'd like a dedicated one in my kitchen just to serve as a recipe book. I already use my existing laptop to control my stereo. Kids need to use computers for their homework. If we can make laptops cheaper (
$100 laptop), more people can afford them for their kids. One way to make them cheaper is by transferring some of the computing burden over to a server.
A work in progress...