Tuesday, June 30, 2009

Intoducing My Dad to Ubuntu

Introduction: My dad is a lawyer who does most of his work inside Microsoft Works on XP on his Dell laptop. Recently though, he's been trying OpenOffice and liking it. His XP install seemed to be degrading significantly (AVG was on the fritz, some weird DSL dialog would popup on startup, the system would lock up and the HD would be in full use for several seconds). He bought a nice HP printer connected to his Compaq desktop a while ago. The printer has an ethernet port, but the router in use is too old and broken to allow for static IP addresses, and Windows on his laptop could not work with it. I decided to introduce him to Ubuntu.

The laptop is a few-years-old Dell Inspiron 9400 (17 inch) with Dell/Broadcom WiFi and ATI 256mb GPU. With Ubuntu 9.04, everything except the WiFi worked completely out-of-box, even compositing graphics. After the install, the WiFi worked with Ubuntu's proprietary drivers dialog and a restart. Standby works fine and hibernate worked the first time I tried it, but it probably took about as long as a full reboot. As far as I can tell, all the function keys work, including volume and brightness. Notify-osd pops up for volume, brightness, eject, and battery status.

The process: I decided to dual-boot XP and Ubuntu, in case he still needed XP for something or he didn't like Ubuntu. Partitioning was complicated because there were already 4 primary partitions ("DellUtility", XP, Dell MediaDirect, and a seemingly unused backup), and I could not create another. I deleted the backup partition (it was only 3GB and only 1GB was used (the numbers were exact in GiB)) and used it as swap and downsized the XP partition by 9-10GB for Ubuntu. It took 30-45 minutes as it had to move several things around. Then I installed Ubuntu, which took under 30 minutes. Afterwards, I had to do the classic setup routine:
  1. Disable the oh-so-annoying and loud system beep
  2. Install the proprietary Broadcom drivers
  3. Choose the best apt mirror
  4. Apt update & upgrade
  5. Don't have update notifier pop up (set /apps/update-notifier/auto_launch to false in gconf-editor)
  6. Install that printer (System->Administration->Printing->New; couldn't be easier)
  7. Copy actual documents from Windows' "My Documents" into ~/Documents
  8. Install Banshee, add "My Music" to library
  9. Install ubuntu-restricted-extras
  10. Create ~/Downloads, add as bookmark, and have Firefox download to it
  11. Install gnome-colors icon themes
  12. Change to Dust Sand gtk with blue (#7395b9) select color, gnome-brave icons, Clearlooks window decoration
  13. Install Memorizer just to show it off. ;)
Many people say Ubuntu will only be "ready for the desktop" when a grandmother can download, install, and use it all by herself. I say that is a horrible metric. The average user would not be able to install even Windows or OS X, and should not be expected to. My thoughts on what I had to do to setup:
  1. The system beep should not be enabled. I don't know why it is. It's very loud and annoying.
  2. This could not be easier. Click icon, click Enable, enter password, restart, rinse, repeat.
  3. This is just an advanced optimization. The main server works just fine.
  4. Apt would upgrade eventually, and is easy to do. This was a large update, so I did it then to get it out of the way.
  5. I'm split between "this is a horrible decision" and "it's a matter of personal taste." Either way, I don't like it too much, and there's nothing wrong with the icon in the systray.
  6. Again, couldn't be easier. Hell of a lot easier than in Windows (driver CDs!) (additional crapware!) (not working!).
  7. This isn't necessary for most users. I'm not one of them. However, this process could be difficult for a beginner. The Windows partition is called "103.9 GB Media". Ubuntu should be able to recognize that it's a Windows partition and label it as such. (I think there's a paper cut about that.) Also, there should be an easier way to access "My Documents", maybe in the Places menu or added as a bookmark (if the Windows and Ubuntu user names match closely enough). Or there could be a series of "Bob's Documents", "Tom's Documents", etc, like in Windows' "My Computer" as an administrator.
  8. Same as above about the Windows partition. Rhythmbox is fine for most users, I find Banshee to be easier and better looking.
  9. This is why the average user would not be expected to setup a system he installed; a brand new Ubuntu user would not know about ubuntu-restricted-extras. But when attempting to play an audio or video file, the install-codec popup could not be much easier otherwise.
  10. Should be default, plain and simple. Keeps things organized.
  11. Personal taste. (Very nice and complete icon theme.)
  12. Personal taste. The Human Gtk theme isn't too bad, but the icon theme is ugly, clunky, and not Tango-like at all. Much space could be saved by making the button size smaller and the background color should be just a shade darker.
  13. He likes Memorizer, though he has no use for it.
Other Thoughts:
  • He's had Ubuntu for a few days now. He said he likes it, but will still use Windows to do work for now until he becomes more accustomed to Ubuntu.
  • He grasped the concept of an operating system pretty easily. However, he had difficulty understanding the idea of separate partitions for Ubuntu and Windows, what exactly would be updated by Apt, and how Ubuntu can be free. If people have serious difficulty understanding what a browser is, explaining Linux can only be more difficult. Fortunately, he's above that level, as knows he's been using Firefox, not "the Google".
  • He has not touched the terminal. He does not know what a "terminal" is. I removed it from the menu. As far as I remember, I've only used it to add and sign the Banshee and Memorizer PPAs and install them, which can be done without the terminal.
  • The only terms he's learned through this process are Ubuntu, Linux, OpenOffice(.org), Banshee, RMS and Linus Torvalds. He has not even heard Apt, GNOME, Gtk, terminal, or command line, nor should he have to. How is an average user supposed to know what a "widget toolkit" is?
  • He has almost 10GB of music (about 1% of which I like). Banshee uses at most 38mb of what gnome-system-monitor calls "Memory", even while playing. While I type this, the Pandora applet is using over 100mb. Much of the concern over Banshee's memory usage is concerning netbooks. I doubt that many netbook users would have thousands of songs, but I'm not one of them.
  • I taught him how to export to PDF, and he had no difficulty with flash drives. Though I haven't asked him directly, I suspect he thinks clicking the "eject" icon is much easier than Windows' crappy "Stop device" method.
  • I haven't yet introduced him to Awn. Because the screen is so wide, Awn will have to be on the left or right, so I'll have to wait until 0.4 is released or at least the rewrite hits trunk. He likes Pandora, so I'll have to add that applet. I'll also add to-do, mail, tomboy/notes, weather, a main menu applet (probably YAMA), and maybe quit/logoff.
Overall, I'd say the process is going very well. Ubuntu really has come a long way, though not enough where most people could install it by themselves. However, OS installation is an inherently difficult and complicated task.
Especially with the Hundred Paper Cuts project for 9.10, I think that, with setup from an experienced user, Linux is ready for the desktop.

Thursday, June 25, 2009

Intoducing Memorizer!

About three weeks ago, it was exam studying time for me. I had a list of 60 mostly unfamiliar vocabulary terms to know for the exam. A bit of googling brought me to WordNet. I wrote a simple Python script to quickly retrieve the 60 definitions from the downloaded version and output everything to a single file. Then, I had to memorize all these terms, so I wrote a simple flash cards app in Python + Gtk. I decided to expand this simple app into what is now Memorizer.

Memorizer offers a Flash Cards mode for quick memorization. Matching has the user match the terms on the left with those on the right. Multiple Choice offers a basic testing mode in which the user chooses which term on the right goes with the one on the left. And Vocabulary quickly builds the list of words and definitions and allows the user to choose from different definitions and parts of speech.

I have future plans for Memorizer, such as a distraction-eliminating fullscreen mode and the sharing and downloading of lists.

Memorizer and its development reside in Launchpad. Of course, there is a PPA available for Ubuntu 8.04 (Hardy) to 9.10 (Karmic). If you want to help out, you can report bugs or suggest features by filing a bug report. Memorizer is also fully translatable. Lastly, if you want to contribute code, memorizer is 100% C and I try to keep the code clean. :)