About 6 months ago I was having a conversation with my roommate Beth, talking about her aging Dell laptop. She was considering getting a desktop machine to use as her primary workhorse for her up and coming graduate student immersion.
I thought a bit, and said “Hey, I could probably get you something decent. We could even make this an interesting experiment. Tell you what, I’ll get you a machine, but it’ll run Linux. Up for it?”
“Sure!”
And we were off…
The Requirements
Naturally, the first steps for any project were… no, not figuring out desktop colors. First was trying to figure out what she really needed to DO with her machine. She’d been working on her Dell WindowsXP laptop for a few years now, and had many a tale of technical problems; lockups, crashes, and endless hours on support calls. So the first step was something stable, updateable, and zippy. That was the easy part, but what about applications? What was on the requirements list for software?”
We started out by listing needed functions, rather than specific applications. Most requirements refer to a task that has to be accomplished. If you start out with “Well, my first requirement is Internet Explorer”, you’re not going to get very far. But if the task is “Web browsing”, that opens things up. So we started with a list of ‘what needs to be done.'”
- Web Browsing – that’s sort of a given. We needed a web browser that could handle not only the normal HTML and CSS and Javascript noise of Web 2.0, but also plugins such as shockwave, flash, java, and other goodies. The primary websites Beth was using Google-based (GMail, etc).
- VPN – For her paying job, she needed to be able to VPN over PPTP into her work servers.
- Remote Desktop – the VPN system used remote desktop (RDP) clients to attach to machines within their internal network
- Personal Finance – Balancing checkbooks, doing online bill payment, interracting online with the credit card companies and banks, that all had to be work.
- Digital Camera interfaces – Needed to be able to upload images from a digital camera, and needed to be able to work with the image galleries, sorting, fixing, discarding, etc.
- USB pen drives – Have to be able to socket in a pen drive, copy files to and from it, and take it with you.
- Word processing / etc – basic office suite functions. Must be able to do descent document management, and be fairly compatible with Microsoft office formats, though this was primarily for exchanging documents with other students and faculty, not dealing with Large Corporate Insanely Complex Spreadsheets [tm]
- A decent PDF viewer
- Ability to print to the network printer(s) at the house. This was important, as we have a nice color document printer available on one of other PC’s, and being able to work with that was crucial.
- Network access to shares – With other PCs in the house, transparent access to remote file shares, and copying files to and from her old laptop, that was important.
- Music! Must be able to listen to Radio Paradise! In addition, have to be able to manage a portable music player like an ipod, and be able to buy and download music online.
- Most video and audio formats were needed. Not just flash animations, but also WMV files and the like
- Graphic Editing – A high end photo editor and graphics editing tool was definately needed – not just for cropping, resizing, and the like, but also for composition, effects, and other detail work
- IRC – yeah well.
- IM – Google chat is fine, but really, the other chat systems needed to be available as well. Not everyone is on google. Mostly.
The list wasn’t short, and there were a few red flags in there, but all in all, I was pretty sure I could accommodate all of her needs on a Linux machine without too much yak-shaving. It was time to start.
The Machine
Naturally, I had start with a computer. None of the requirements were particularly CPU intensive, so I didn’t need to go bonkers on horsepower, though memory was going to be important. I had had great luck with ‘yawl’, my Dell GX260 desktop machine, so I opted for a similar configuration. Some fast ebaying, and I aquired a Dell GX270 with a P4 2.8gig CPU, 1gig RAM, and 80gig HD for $150. It was an SFF machine (small form factor), so it would be smallish. Perfect for her desk, and was in a configuration I was comfortable with. After some discussion, the name ‘wherry’ was chosen, in keeping with our boat-based naming scheme. (A wherry is a type of boat used for carrying cargo on canals in England).
The OS
Now to choose an OS. This really didn’t take much thought. I’ve been a convert to the Ubuntu banner for about a year and a half now, and with each successive release of the platform, things have only improved. Because I wanted this machine to be as maintainable as possible, I opted not to go for Kubuntu, the KDE variant of Ubuntu, because I was trying not to apply my own biases toward KDE, and therefore defaulted back to GNOME. I later regretted this decision, but more on that later.
I downloaded the Ubuntu ‘Feisty Fawn’ release (what at the time was considered ‘current’ and stable), and burned a CD for it. Popping it into ‘wherry’, I booted it, selected ‘Install!’ and off it went. 15 minutes later, I had rebooted, and had a lovely Ubuntu login screen available, running at 1024×768 (the maximum my current monitor could support), in full color, and on the the net. We were in business!
The basic applications
Naturally, we needed to do some of the basic things. Firefox was the natural choice for web browsing. While there are certainly alternatives, Beth was already comfortable in Firefox, and we knew it was easily extended and had lots of plugins. With the latest updates in Feisty Fawn, we also had fully functional Flash and Shockwave plugins, as well as an updated Realplayer. Video and audio playback on websites worked like a champ. The only thing missing was WMV support, which required some fiddling to get working. We enabled the Totem Browser Plugin for Firefox (via installing the totem-mozilla package, which automatically installed all the necessary support tools, such as gstreamer). With these bits installed, we had virtually the same browser experience as was provided under Windows, with full audio, video, and graphic support, within an interface Beth was already familiar with. Score!
The VPN
I thought this would be the easy part, but of all the components I thought we’d be able to cover, this one completely stumped me. The goal is to be able, as in Windows, to double-click on a VPN icon, authenticate to the remote PPTP server, and voila, we would be tunnelled in.
Alas, this was not to be the case. I worked with KVPNC for almost 3 weeks, but was consistently foiled at this seemingly simple task. There are many tutorials on the net on how to configure PPTP via various utilities, but I could not get success no matter what I worked with. This was vastly disappointing, and as of this writing, I still don’t have it working.
In the end, I realized that the only way to make this work was to have Beth use her VMware installation (see below) for VPN access. This is a solution I really don’t like, so if anyone has any ideas on how to debug this KVPNC or NetworkManager to work with Windows PPTP servers, please let me know!
If we had a working VPN, we could easily use the awesome remote desktop tool Krdc to access remote machines via RDP. Unfortunately, no VPN, so we’ll have to remote desktop via the VMware install
The VMware Instance
I already knew there were certain things we weren’t going to be able to do under Linux. There are gaps in what can be easily moved to a whole new platform. In this case, the great immovable obstacle was Quicken from Intuit. There will never actually be a Linux version of Quicken or Quickbooks, I am fairly sure of that, having some… experience with how Quickbooks is developed – there is no reason for Intuit to ever port their application to Linux. I did look at other possible replacements, such as GnuCash, but in reality, businesses and banks support Quicken. Without Quicken, we were just going to get in trouble.
There were two possible ways to get around this. The first is to go sort of ‘halfway’, using an interim environment. The best free tool around is WINE, which has gained a reputation as being quite robust for certain applications. It’s still a ‘half-step’ though, as you’re emulating a windows environment under Linux. A better solution is Crossover, by Codeweavers. A commercially supported tool based on the work done in WINE.
Both of these solutions MAY result in a running version of Quicken, but it would be a hybrid installation – half in Linux, half in Windows. My experience with Quicken is it depends very heavily on it’s environment in order to fetch data from banks, print invoices and reports, etc. I wasn’t really sure it would work completely, and I was trying to avoid as much yak shaving as possible. In the end, I decided to install the absolutely fantastic VMware, and create a WindowsXP virtual machine that Beth could start up and shut down as needed. We already had an XP license, and we knew we’d need XP for VPN access. Running Quicken under the VM was just the logical solution.
I purchased a license for VMWare Workstation and created a new workstation image. I installed XP onto it (a truly surreal experience if you’ve never done it. Windows running in a window on a Linux desktop), and then installed the VMware tools into the Windows XP VM. (The tools allow much faster screen updates and mouse integration – rather than having to ‘shift in’ and ‘shift out’ of the VM, the tools allowed basic mouse navigation to and from the VM without really missing a beat.)
Once the patching process was done (a handful of reboots, all within the VM of course, updates, and very very boring downloads), the VM was determined “OKAY!” by me, and I was ready to install it on wherry. VMware has this fantastic little ‘mini’ installation called VMPlayer which allows any machine to run a VM configured elsewhere. This means I could simply install VMplayer on wherry, copy over the VM I created on yawl, and we’d have a legal, simple running VM of WindowsXP for Beth to use. And in fact, it worked! VMplayer works as advertised. The only drawback is if the VM needs to be reconfigured or changed or updated, it needs to be copied back to the Workstation install, edited, then re-deployed. No problemo! Thank you VMware!
Photo Downloads and Editing
So with the personal finance stuff out of the way, it was on to the graphics. Beth has a digital camera she needs to pull pictures from, as well as a huge collection of photos being scanned in from a film scanner. We needed a good tool to browse, organize, label, tag, and perhaps edit these several thousand images.
My favorite tool, and one that I feel has not be equaled, is DigiKam. It started out as the KDE alternative to gPhoto, but has since far surpassed it in functionality, ease of use, and in features someone actively working with many many digital photos really needs. DigiKam has excellent browsing and album tools, can export photos to Gallery or to flat HTML directories for publication, but also has a great interface to allow uploads into Flickr.
DigiKam also interfaces very nicely into the KDE desktop tools. When a USB device comes online (just by plugging it in), KDE pops up a dialog asking if you’d like to import pictures into DigiKam from it, or just open it in a browse window. If you select DigiKam, it starts up, and previews the pictures on the device. This works great for pen drives or for digital cameras, most of which support the USB mass storage specification, and files on the camera just appear as normal files. No special reader needed.
But beyond basic photo browsing, uploading, and categorization, Beth also needed to do photo editing. Cropping, resizing, color changes, effects, compositing, the whole works. The natural choice for this is the GIMP, or the “Gnu Image Manipulation Program.” GIMP is the defacto standard for graphic editing under Linux, and is frequently compared to Photoshop for functionality. As far as differences, the big one comes in the price. GIMP is free, and Photoshop, well, isn’t. GIMP doesn’t have the huge array of commercial plugins that Photoshop has (and there are a lot of them), but it has a pretty large array of plugins on it’s own. The other criticism frequently levelled against GIMP is that it’s hard to use, or has a very ‘strange’ interface. I don’t know about that, but have you ever really looked at Photoshop? It’s interface is just as bizarre, complex, and unintuitive. It’s just been around longer. Beth and I discussed the differences between GIMP and Photoshop, and after talking through the things she needed to do with it, decided GIMP would probably work just fine for her needs.
Word Processing and Office Apps
I thought this might be a challenge as well, but in the end, the conversation was brief. “Hmm, office stuff.” “Can’t I just use OpenOffice?” “Uhh, sure. You okay with that?” “Hell yeah, we use it all the time.”.
Okay then, Open Office it was.
PDF Viewer
This was a little bit tricky. Adobe provides a fully functional reader for Linux, that has the familiar Reader interface and all that jazz. I’ve used this under numerous circumstances on yawl. But in point of fact, it’s not 100% necessary. KDE and many other environments come with perfectly functional PDF previewers and readers that let you browse and work with PDFs. Adobe’s reader is more complete, and includes PDF extensions that may not be in the opensource tools. I know that Beth works with a TON of very complex PDFs when dealing with our cohousing project, so having the ‘fully supported’ reader is probably a good idea. In that goes.
Network printing and share access
This one was pretty nerve-wracking as well. Linux (and in fact all Unixim) have had a long history of not-playing-well-with-printers. In fact, up until a year ago, Firefox couldn’t even print a page correctly in a standard Linux distro. So with great trepidation, I set about configuring wherry to talk to the HP color inkjet printer attached to ‘dragon’ (my wife’s computer running Windows XP). KDE provided a simple Printer dialog screen, and after specifying the printer was on //dragon/HP930C, I selected ‘Print test page’ and… it printed! Knock me over with a feather. That wasn’t supposed to be that easy. I set the printer as wherry’s default printer, went in to Firefox, ran up a Google map, said “print this”, and it came out on the remote printer perfectly. This sort of transparent network resource access, particularly for printers was virtually unheard of as little as a year ago. What fantastic advances have been made.
Accessing file shares was just as easy. In Konqueror (KDE’s all purpose filesystem and web browser), simply typing in ‘smb://dragon/’ immediately let me browse the shares available on ‘dragon’, copying files to and from them and working with them as if they were local filesystems. We had network access! Strike another requirement off the list.
Playable music and mobile device management
Naturally what would a computer be without the ability to listen to the best online music, as well as local MP3 archives? I set up Beth with Amarok, the KDE music player. Each time there’s been an update to this outstanding package, it’s just gotten better. It functions well as a music player, archive browser, and online streamer. It also has the capability of managing plug-in music players like the iPod, by managing what files are tagged for transfer, then performing a synchronizing update.
Unfortunately, one of the things that Amarok cannot do is interface with the iTunes store. To do this, we’ll need a full iTunes installation. We haven’t tackled this particular issue quite yet, but there’s been a lot of work getting iTunes working under Wine. Stay tuned for an update on this front!
IRC and IM chatting
While not quite ranking up there with Open Office in importance, the need to be online with friends and family for IM and IRC chat is definately there. In the past, Beth had been using tools like ChatZilla for IRC chat, and Google Talk for Jabber conversations. We’d like to move her up a few notches, so we dug around for what would work best
A lot of my associates are very keen on Pidgin (formerly ‘GAIM’). I personally have tried it a few times and really wasn’t that impressed with it. Beth apparently agreed with me, as after she used Pidgin for a day or three, decided the interface was just too uncomfortable to work with, and abandoned it in favor of Konversation. As far as IM goes, we’re planning on checking out Kopete for multi-protocol chatting. I use Kopete for all my Jabber contacts, and it’s been a very stable, useful program, and integrates well into my desktop
Wait, what happened to GNOME?
Boy you folks are sharp! In the beginning of this article, I specifically said I was going to use Ubuntu Linux with GNOME as the desktop environment to avoid straying into ‘my personal favorites’, and coloring Beth’s experience in the new environment. The last time I tried to use GNOME full time, I gave up after only a few weeks. At the time I speculated that my long time exposure to KDE made me uncomfortable in GNOME, but after trying to get things set up and useable and easy for Beth to work in with GNOME, I gave up in disgust, and switched her to KDE. Konqueror, the embedded browseable targets, DigiKam, all the other decent tools in KDE not only made it easy for me to get her up to speed, but it also made it easy for her to learn and explore new things, allowing her to figure out stuff on her own. GNOME’s minimalistic interface puts up more barriers than anything else, and in the end, wasn’t appropriate for this new user. A quick change of login preferences, and she was happily working away in KDE.
Conclusions
It’s now been about a week since ‘wherry‘ first came online. So far I’ve only been called down to Beth’s desk once to figure out a simple URL problem with the SMB share. Everything else – photo editing, browsing, printing, copying files to and from the shares from her old laptop, and just plain Getting Work Done she’s done on her own, without needing my input. This alone shows how stable and, dare I say it, user friendly the Linux desktop has gotten.
I’m tickled to note that 95% of the functionality that Beth needs was accomplished with native Linux applications. The VMware instance is now less of a “here’s where we’ll do all the things Linux can’t do”, and more of a “We need to run these old crufty applications that have no choice but be wedded to that icky OS. We’ll give them a special place to run so they’ll be happy.”
Special thanks…
I have to give a big thanks to Beth for letting me give this project a try, and the go-ahead to write about it here. Make sure you stop by her profile and send her a thanks! Also thanks to my wife Catya, who has also been a great supporter, trying her darndest not snark at our geeky pursuits. Thanks everyone!
Your experience with GNOME is very different from my own. In fact, I recently revamped an old HP laptop using Ubuntu (Feisty Fawn) for my 11-year-old son. He’s able to easily do all the things you listed – except I did NOT install VMWare, nor do I expect him to use Quicken. If GNUCash can’t cut it (which in my experience it can), then I know MoneyDance will.
I find KDE to be bloated and sluggish compared to GNOME. But for my own personal use, I prefer XFCE (Xubuntu). For ancient machines with very limited resources, I like DSL (DamnSmallLinux.) There’s a LiveCD available to give it the once-over.
My take on GNOME is it’s over-simplified interface is quite… er… simple. But for folks trying to do real work, many applications are involved, and a decent amount of interraction is required. GNOME’s approach to make everything as warm and fuzzy as possible, at the expense of clutteredness or some other hazy definition hurts the interface a lot.
Really, GNOME has a very very poor UI design. There are people with doctorates who spend years understanding what works for the widest range of users, and what doesn’t. IMHO, KDE works for the widest user base, without getting in the way. GNOME may work for a narrow use set, and work well, but I am constantly frustrated by it’s half-implemented menus, hidden functions, and the jedi-mind-trick “You don’t need to see those applications” hand-wave of menu design.
This is an old argument, and sure, it may come down to “I like apples, you like bananas”. But that doesn’t mean I don’t have an opinion on it 🙂
I agree whole heartedly with DBS in the Gnome KDE debate. I have converted many (around 20 or more users a year) people to Linux from that other OS, and even with my high hopes for Gnome NONE of those people have decided to stick with it.
I try Gnome about once or twice a year in my manic distro hopping, and after 5 years of waiting for it to get more usable I have just given up. The people behind the Gnome project just don’t seem to understand what most people need their DE to do for them, and because of that it is only suited for a very select group of people. Point in case: I would give my Grandmother gnome after I tweaked it sufficiently because she will never install new software, or care about changing her menu, or change the panels to allow for better work flow, or wants more than 3 options for changing her wallpaper, or expect the environment she is in to automatically and dynamically retrieve new and interesting information/images/music/whatever. Gnome has the ability to do all of these things, but because of their simplified interface it is a nightmare to even find information via Google to do it. Simple for the people that don’t give a damn about changing the defaults.
KDE on the other hand allows people to easily make it do whatever they want it to do! Most people appreciate that.
Anyway great article!
Xipher
As a side note… the reason I think that gnome is being use by so many distro’s isn’t that it is the preferred DE, but more because it is the preferred DE for Enterprise Workstations.
If I was a CIO in charge of 500+ Workstations would I want an interface that allows for TONS of configuration (IE Possible breakage) or a DE that I can strip to basics with minimal chance of people screwing up?
I think that the two most popular Desktop Environments differ in who they cater to. Gnome is very much centered on the Corporate desktop, and VERY basic user. KDE caters more towards the average user / power users desktop.
My 2 cents,
Xipher
Nice article! I would like to point out a couple of things though:
1] Just because banks use Quicken, doesn’t mean you have to. Virtually all of them will allow download of quicken data files and all the money programs I’ve looked on on Linux allow importing them. Sure, it’s a small extra step, but it’s better than running Windows. Check out kMyMoney and MoneyDance for good Quicken replacements. GnuCash uses a bizarre accounting scheme (double entry) which isn’t useful enough to non-accountants.
2] I don’t know why you would buy a license to VMWare when the VMServer is completely free (as in beer). The player is a lite weight way to do it, but I couldn’t even get the woman at the Linux World booth to explain to me what you got for the pay version that you didn’t get in the free version. But I would also worry that 1gb is not really enough for a full VM and a fully used KDE.
3] If she is familiar with Photoshop, you can also show her GIMPShop, which is GIMP in Photoshop like UI.
4] Kopete does IRC.
5] I don’t blame you for moving her to KDE. It’s a much less idiosyncratic UI, plus building the on your knowledge of KDE is important too.
Good luck!
Have you got your VPN up and running ?
I use Ubuntu whit pptp against win2k3 vpn server.
BR
OFh
Denmark
Here is a link to my blog that describes setting up a pptp vpn. It’s simple, and I’m very surprised that you didn’t get it to work.
http://happylinuxthoughts.blogspot.com/2007/10/connecting-to-windows-vpn-server-with.html