The Backstory
In December of 2007 I built my wife a very nice PC – Gigabyte AM2 motherboard, a fast AMD Athlon 64 x2 CPU, 4 Gb of dual-channel DDR2 RAM, an nVidia-based PCI Express video card with 512 Mb of onboard RAM, two SATA hard drives (a 160 Gb boot drive and a 750 Gb data drive), and a SATA DVD+/-R/RW drive installed in a super-quiet Antec full tower case. This is topped off with a Logitech wireless desktop (keyboard and mouse), a 22″ HP LCD wide-screen with a native resolution of 1680×1050, and a pair of powered Yamaha speakers.
Along with the hardware components, I also purchased (and installed) a Microsoft Windows XP Pro OEM license. In addition to WinXP Pro, I also installed the 64-bit version of Ubuntu Linux 7.10 (the latest version of Ubuntu at that time).
My wife is a very typical computer user. She does email, calendaring, and web surfing every day. She maintains her Blog and manages a couple of personal photo sites (Picasa and Shutterfly). She uses a cookbook program to store and share recipes and manage shopping lists, and she creates greeting cards using a popular application and her own photos and prints them and some photos on her HP photo printer. She uses photo editing software to manipulate her photos, she uses an Epson scanner to scan old family photos and slides, and she creates slideshows using both her own photos and photos supplied by others. Finally, she does some light word processing and regularly uses a spreadsheet that I set up for her to track household expenses. There is nothing exotic about any of these uses – they are all solidly mainstream.
Because she is such a typical user, I asked her to try out Linux, with the fallback that WinXP was installed and configured with all of the applications that she uses. I explained that Linux provides a windowing environment and included all of the applications she needed for email (Thunderbird), calendaring (Lightning for Thunderbird), web surfing (Firefox), word processing and spreadsheeting (OpenOffice.org), photo scanning and editing (Gimp), and Blog and photo site maintenance (again, Firefox). I assured her that she’d be able to use both her HP printer and Epson scanner. I promised I’d either find a native Linux alternative for her cookbook and greeting card programs (Living Cookbook and Hallmark, respectively) or I’d find a workaround (the workaround turned out to be VirtualBox running a WinXP Pro guest with her original applications installed). She reluctantly agreed to give Linux a try – with the caveat that she reserved the option to return to Windows if it didn’t work out.
The Good…
I set up her account on Ubuntu, created some mount points for various network drives on our home network, and then wrote a script to run when she logged in that mounted the drives. I configured Thunderbird with Lightning and the Google Calendar Provider, created her email accounts and calendars, and imported her address book. I imported her bookmarks and passwords into Firefox. I moved her documents and photos into a data directory on the big data drive and created a link to it in her home directory. Then I created some “bookmarks” in Nautilus so that she could find everything. While somewhat tedious and time consuming, all of this was pretty straightforward. Once I thought everything was ready, I turned my wife loose with her new PC.
During the “honeymoon” period, all seemed to be going well. My wife noticed – and appreciated – that the PC did not freeze up or crash as her previous PC had under WinXP (crashes of the old PC were apparently not hardware related, as I repurposed it as a light-duty Linux server and it’s – still – running fine). She quickly fell in love with the virtual desktops available in Gnome. She took advantage of the smooth, well-implemented multitasking by leaving multiple browser windows open along with her email client while editing multiple photos.
When she needed to manage her cookbook or make a greeting card, she would start up the WinXP Pro guest in VirtualBox. In fact, she would usually leave it open all day in a virtual desktop and just switch to it when needed. I had set up her data folder to be accessible to the VirtualBox guest so that she could keep all of her photos in one place and use them wherever needed.
All seemed to be going pretty well… until…
The Bad…
My wife takes a lot of pictures and often uses them to create greeting cards to send to friends or relatives. She also sometimes wants to create high-quality prints of her photos on her HP photo printer. This is where one of the show stoppers comes in – the HP software that knows how to optimize images to send to the photo printer runs only on the Windows client running in VirtualBox. Even though I’d configured her data directories to be usable from the virtual machine, and even though all of the other software running in the virtual machine was able to access, read and write files in those directories with no problems, the HP photo printing software could not always find her pictures (it finally go to the point that it could never find them). I did a Google search to find out if this was a known issue and to hopefully find a solution (or at least a workaround), but no joy: it appears to be a known issue, as others were having a similar problem with pictures stored on network shares, but there were no solutions offered.
Another issue was that my wife had difficulty locating the same file from both Windows running in the VM and from native Linux. She was able to navigate in Windows fairly easily, but I don’t think she ever quite understood how file systems in Linux were grafted together by mounting one file system into another by using a mount point. This was occasionally complicated by a failure of her system to successfully mount one of the shared network drives; when this happened the mount point – say “/home/wife/data/pictures” – was still there, and she could navigate to it, but it was empty (this did not happen often, but it did happen). And yes, I created symbolic links to several frequently used directories, but this often just complicated things – too many ways to get to the same file.
And The Ugly!
Along the way, one of the updates to Ubuntu caused the system to stop seeing the Compact Flash card reader in her machine. She could transfer files from the CF card reader in her printer, but that required the use of Windows in the VM. Or she could use the USB cable and attach her camera to the PC, but that used the camera’s battery and was slower than the built-in CF card reader. So, yes, she managed, but that’s not the point; the point is that a device that worked in previous versions of Ubuntu – the built-in CF card reader – suddenly stopped working after some update, and that should never happen.
Like many Facebook users, my wife likes to play some of the games on facebook – Farm Town, Yoville, etc. Most of the games she likes on Facebook use Flash. As I recall, she was able to play them until one of the updates to Flash for Linux broke this capability (the actual Adobe player, not one of the open source alternatives). She could still watch YouTube on Linux, but she had to use Windows in the VM to play Facebook games.
Java-based uploaders such as those used by Smugmug, WordPress, or Blogger never did work on 64-bit Ubuntu. She had the latest Sun Java Runtime Environment installed, and some other Java applets worked, but when she wanted to upload lots of pictures to her Blog or one of the photo sites, she had to upload them one (or a few) at a time under Linux, or start Windows in the VM.
Like the greeting card program she uses and the HP photo printer software, Living Cookbook would run only on Windows, so, again, she had to start Windows in the VM to use it. Have you noticed the pattern of using Windows in a VM to do many of her daily tasks? Yeah, so did we.
The Final Straw
Given the large percentage her computing time she was spending in Windows running in the VM, her growing frustration with the difficulty she had navigating the Linux file system, and the increasing amount of time I was spending supporting her instead of supporting my paying clients, we decided to install the 64 bit version of Windows 7 Ultimate on her PC.
No Panacea
However, Windows 7 (at least the 64 bit version) has not exactly been a panacea. HP has not yet released the drivers and “high quality photo printing software” for her printer (an HP PhotoSmart 8250), so she still cannot create high quality prints of her pictures. Most of her data is still located on one of the network drives, and she occasionally has to stop to think about where it is (she does seem to be more facile with the Windows “S:\MyData\MyPictures” construct than she ever was with the equivalent Linux construct). And, of course, this has not made any of the Internet sites she frequents any faster, so she still experiences frustration there – as we all do!
The Bottom Line
All in all, though, she’s happier with Windows 7 that she ever was with Ubuntu. No problems playing Facebook games, no problems with Java-based uploaders, her greeting card and cookbook software are only a click away, and she can mostly find her files without outside help. She still has the Gimp for editing photos, GNUCash to access our finance file, Firefox for web surfing, and Thunderbird with Lightning (and Google Calendar Provider) for email and calendaring.
And I’m happier, too; less time supporting her PC use means more time to spend on my paying clients’ issues.