Despite my enthusiasm for C# and ASP.NET, I'm actually a big fan of open source technologies. I love the concept of community driven projects and the freedom a developer has to add to a project and give it back. Software Utopia.
I'm not a fan of any one company, not devoted to any platform, and I don't mind paying for good software or tools. It's simple: I'm for what works. I program in Microsoft languages at work, I run a Mac at home and virtualize Windows, and Linux. I love my Macbook Pro, and did all my work in school on Unix, have set up FreeBSD servers and Linux web servers as well as Windows Servers with IIS. If it makes my life easier, then that's what I'm going with, it just has to work.
What wasn't working were the 3 home computers of my parents, my Aunt and Uncle, and my Grandmother all of whom have Dell Dimension 3000 Pentium 4 computers with 1-2 gigs of RAM. All 3 user groups (family members) had been asking me to please recommend them a new system to buy because after 3 years of use Windows had slowed down to unuseable states. Literally, Grandma's computer took 5 minutes to boot and 3 minutes after double clicking her web browser it would open. This drives me nuts because my Mac laptop from college, a 12'' powerbook G4 works just fine without any OS re-install. My wife uses it now, no problems. Why does Windows XP slow down? Is it rogue registry keys, "helper" toolbars, fragmentation in NTFS?
Last year I attended a 3 day open source conference, SCALE 7x in Los Angeles. I highly recommend this conference even if you don't use Linux. I do use Linux for certain projects and for web servers. I've been messing around with Linux since high school when I got my first install on 10x 3.5'' Floppy disks from a friend named Eric who had a faster internet connection than I did. So, from that conference I hatched this experiment to test Ubuntu Linux on my family and delay the looming new system purchases.
I decided I'd start with the slowest computer -- Grandma's. She getting Ubuntu 8.10 (latest at the time). I used her existing Dell computer, installed Ubuntu and she went from a snail-crawling 5 minute boot time to a respectable 1 minute boot. Not only that, firefox loads in a few seconds, not the 3 minutes IE took before. She was so excited and since then we've bought her a Canon digital camera and a new printer to print photos and has been using both -- importing and managing her photos in F-Spot. I helped her migrate her Quicken finance data to GNU Cash and she says she likes GNU Cash even better. 9 months later she's still as happy as can be, I have had very little need to show her stuff and things just work -- one new computer purchase saved.
A couple months after that my parent's Dell was on the way out. They got Ubuntu 9.04. It didn't take long to show them the differences, the only thing I really needed to do was change Open Office's settings to default to the .doc and .xls formats because they both still email those formats to collegues. My dad's iPod even works with Rhythm Box and has been importing CDs and filling it up.
Lastly, my Uncle and Aunt got wind of this new "Linux thing" from my parents who were raving about their computer being revived. So, I went up to L.A. and did an install for them on their Dell as well. That computer was also terribly slow. My only issues here was that they had a Lexmark printer whose drivers are all proprietary and just plain don't exist for Linux (check out the Open Printing database for what works in Linux). They mentioned it was "acting up", so the suggestion we go buy the new $69 Epson at Staples was not a hard sell. After that, no problems! I even found equivalent games for my Aunt for, "Spider Solitare" and Hearts in the Ubuntu app repositories.
All said and done, the experiment was a success. Linux isn't for everyone, but it has gotten much friendlier. What Ubuntu has done for the Linux desktop is amazing. Really, there had to be something to fill the void for computers like these that just need to do the basics and maybe a bit more. Pentium 4, 2.8ghz, 2 gigs of RAM -- that's not a throw-away computer, but it's also not something you want to spend $200 on for the latest OS (looking at you Windows 7). We're trying to be "green" these days, stuff should last a little longer and not end up in the landfill so I'm glad this worked out. I'm also glad to not be dealing with Anti-Virus renewals, spyware showing up or malware taking over the browser, because someone clicked on a link they shouldn't have.
One additional note, on a couple of these systems I replaced the hard drives with the cheapest ATA ones I could find. Hard drives die. In my opinion after 3 years you're on borrowed time, so I figure if I'm doing a full re-install might as well make it last with a fresh drive. If you plan on doing something like this for your family, check out the Fry's ad or newegg.com for good deals.
So, 9 months in to this experiment and I've gotten far fewer calls than I normally did. I will keep you all updated with how it goes!
These errors were commonplace. Every time she shut down or started up it seemed like we'd get a ton of weird errors.
Wow, grandma's internet experience has lost half the monitor to bars that got installed without her understanding over the years...
I used the Ubuntu installer to partition her 40 gig drive in to 2x 20 gig drives so we could boot back to Windows in case we needed to. This is a good idea, especially for a user not yet convinced to switch to Linux. You can always go back and delete a partition. In our case, we deleted Windows later.
Grandma's new desktop, complete with background of her dog.
Grandma eagerly trying out her new desktop. She was shocked how quickly things opened and closed.
UPDATE (11/15/2009) : I'm visiting my parents this weekend and figured I'd update their Ubuntu 9.04 install to Karmic Koala 9.10 -- they did it themselves! Apparently they were prompted that it would take over an hour and they followed the steps to auto upgrade. The install screens and messages were in human-understandable language so they knew what they were doing and what to expect from the process.