Tuesday, August 11, 2009

The Great Laptop Quest Part 1: Software Support

Previous: Macrilege!

As a consultant and knowledge worker, I use my computer for writing; preparing and giving presentations; developing spreadsheets with graphics; and writing, testing, and demonstrating software in various languages. These tasks call for software that supports document authoring and desktop publishing, image manipulation, presentation slides, and all aspects of software development including version control and test environments suitable for local deployment.

For exchanging files with clients and colleagues who use Microsoft Office, I need word processing, spreadsheet, and presentation software that can read and write Microsoft Office file formats. Support for Windows fonts is also helpful, since most of the formatting issues that come up with transferring presentations between software packages have to do with font support.

As a consumer, I use my computer for surfing the web, viewing videos, listening to music, organizing my media files and syncing to my portable media player, and playing casual games, where "casual" means games like Tetris or Minesweeper rather than those like Warhammer or Halo 3.

Both for work and for pleasure, I also need the basic facilities people have come to expect in a personal computer system: Wireless networking capability, Bluetooth support, CD/DVD reading and writing, good display resolution, acceptable perceived responsiveness, and so forth.

The software support described above constitutes my needs in a laptop. Regarding wants, it would be nice to be able to watch DVD movies on the computer, to make phone calls using a service such as Skype, to organize and play my media files, and to sync my portable media player.

I installed several software packages on Ubuntu Linux under VmWare on my MacBook Pro to see whether Linux met these needs (and as many wants as possible). My findings were encouraging.

OpenOffice installed easily, worked well, and supported all my requirements in "office" software. The tools I use for Java development all work well - Java, Maven, Eclipse, etc. The tools I use for Ruby development all work well - Ruby, Rails, etc. I had problems getting NetBeans to start. I experimented with using Geany as the IDE for Ruby development, and found it satisfactory even if not as feature-rich as NetBeans. I understand there's a product called Mono that enables .NET development under Linux; that sounds interesting, but I didn't check it out for purposes of this investigation. For version control, I've been using subversion for quite some time and I've been transitioning to git. These programs work fine on Linux.

I was able to install Apache, Tomcat, and MySQL with no difficulties. I found it easy to build and deploy Ruby on Rails applications and Java webapps to the Apache environment. All the tools relevant to this type of work are well supported on Linux.

The mind mapping program I'm accustomed to using, FreeMind, works the same on Linux as on any other platform. For other tasks I perform on the computer, I had to try out different programs than those I had been using before. This turned out to be no problem at all. Gimp came pre-installed on Ubuntu, and works fine for my image editing needs. I found a news reader called Pan that has all the functionality I need. I installed ffmpeg and found it works fine for converting media files. A program called Banshee worked fine as a media library organizer and media player, although it is not able to sync my Zune. Banshee actually proves the case for Mono, since it's a .NET application. In addition to the basic Unix-style utilities for managing archive files, Linux supports ZipCreator, unrar, and several other tar-like and zip-like utilities.

Firefox is the web browser that comes with Ubuntu (Gnome), and it was already my personal favorite so this was a natural fit.

I like to use a wiki to maintain notes and reference information locally, for my own use. I had been using Confluence personal edition for this purpose. According to Atlassian's website, it's supposed to work on Linux, but I was unable to get it to start. I downloaded Instiki and manually converted my wiki pages; it wasn't too burdensome, and forced me to review the contents and delete out-of-date information, which was a useful exercise anyway.

I could not verify hardware drivers and firmware in the VmWare environment. I had to rely on information in Linux forums online to assure myself that the necessary support was available. What I read sounded promising.

It was not feasible to verify that Skype would work under 64-bit Linux, since my MacBook Pro is a 32-bit system and Skype does not (currently) offer a 64-bit version of its software for Linux. I did find explanations online of how to install the 32-bit verison of Skype on a 64-bit Linux system, so this sounded promising, as well.

There is one Windows-specific application in particular that I use: Music Publisher from Braeburn Software. I made no attempt to check out comparable software for Linux, because I strongly prefer this particular product. I will have to run it on a Windows system. This does not affect my assessment of laptops for professional use and general personal use.

The only disappointment was that I could not find a way to sync my Zune using Banshee (or even by copying files manually). It seems the Zune is not recognized at all as an external storage device. This is true both in Mac OS X and in Ubuntu Linux. Apparently, the Zune is specifically designed to work only with Microsoft Windows. This is not a show-stopper for my assessment, although it would be convenient to sync the Zune with my primary laptop.

One of my requirements about software was that the system demand an "acceptable level of tinkering." What does that mean? Well, most operating systems don't "just work," like a toaster. Mac OS X comes closest. Microsoft Windows requires tinkering to get rid of a lot of annoying little reminders, helpful hints, confirmation dialogs, security warnings, advertisements, talking paper-clips, and pre-installed programs that nobody wants. Windows demands further tinkering on an ongoing basis to keep it free of malware. Unix and Linux systems have a reputation for requiring a high level of technical tweaking just to get them into a usable state and keep them operational.

For my purposes, an "acceptable level of tinkering" falls somewhere between the tinkering the average consumer would accept and the tinkering a computer science major would accept. I have a technical background, so I am capable of learning and understanding whatever tinkering might be required. However, my goal in using my personal computer is not to tinker with it endlessly. I want my new system to be easy to use, but I'm prepared to do a bit of manual labor to get everything installed and configured properly.

With that in mind, my VmWare assessment of Ubuntu Linux passed the test.

As far as software support was concerned, Ubuntu Linux was looking good. Next step: Check out the laptops available from vendors other than Apple.

No comments:

Post a Comment