|
The Evolution of Evolution: Steady Progress
Obtaining EvolutionThe last time I looked at Evolution, the hackers at Helix Code were putting it in front of the public as an actual release for the very first time. As a functioning mock-up, it showed a lot of promise, but there was no way I was letting it near my mail. Since then, we're a few preview releases down the road and it's conceivable that if you're a GNOME fan who's curious about the project, and you can put up with the rough patches Evolution will still throw at you, you could probably start using it today on at least a limited basis. I did for several days last week using the last preview release (0.6), and played with it some more after building it from CVS. A quick tip, before we progress: Because components of Evolution will still die from time to time, and because there are a lot of processes at work on the back end of the program, it's important to have a clean shutdown of an ailing instance of the software. Evolution's hackers have provided a script that can be run from the command line. It puts itself in your path at install, so if you find Evolution misbehaving, open up an xterm and type killev. It terminates all the program's processes. If you don't use this, its behavior can be a bit unpredictable upon restart.
Getting and Building Evolution 0.6A tarball of the release is available directly from the Helix Code preview page. The page also contains some links to other packages you'll need in addition to the base development libraries shipped with the Helix GNOME distribution. Binaries for a variety of distributions are available from Helix Code via the GNOME update program, by pointing it at the Evolution preview site instead of the main Helix Code archives. You can also get at them via ftp. Debian users can add the following line to /etc/apt/sources.list to retrieve Evolution via apt-get: deb http://spidermonkey.helixcode.com/evolution/distributions/Debian ./ apt-get evolution will pull down the program and any dependencies it may have.
Building Evolution from CVSYou can also always grab Evolution from the primary GNOME CVS server if you like. A page on setting up the right environmental variables and some of the most common commands is available from http://developer.gnome.org. It provides clear instructions if you've never used CVS before. Building from CVS is a relatively tricky proposition. Evolution currently depends on a newer version of Bonobo than is easily available in binary form, but won't build without Bonobo residing in the same branch of the filesystem: /usr or /usr/local, for instance. As I worked to build it, I found that I was able to use most of the Helix Code-supplied libraries with the following exceptions:
I had to pull each of these out of CVS. Most frustrating was discovering that Evolution will build without a CVS version of gnome-vfs, but doesn't work correctly afterwards. In addition, you need to build a new pilot-link and gnome-pilot to take advantage of Evolution's PalmOS conduits. The temptation is always there to skip the README file and just try to build away. In this case, it pays to do the reading. Evolution's a trickier build because it depends on libraries under heavy development. Its hackers have been polite enough to provide a roadmap that will get you through the build easily enough, but there are problems most hobbyists aren't going to guess their way through. If you have the time, though, it's a good idea to try Evolution out from CVS. There are a few things present you won't get to see in the preview release in the way of filter functionality, calendar recurrence settings, and an interesting new feature called the "executive summary" that offers an overview of selected elements of your Evolution data. At this point, all it offers is a rundown of your mail folders and how many unread messages you have in each.
How Evolution's EvolvedI'm heavily dependent on procmail to my mail filtering, and I like to use Jed as a nice, Emacs-keybinding-compatible text editor. As a result, to get onto my desktop and stay there, Evolution's faced with the task of providing better mail filtering than I already have, and the ability to use my favorite text editor (at least in spirit and finger memory.) I set up for my week-long trial by making sure nothing much changed if I needed to switch back to my more familiar tools. Since I didn't feel like linking Evolution to all 30 active mailboxes in ~/Mail, I wrote a quick procmail recipe to move a copy of everything into a single mbox file. I wanted to put Evolution through its paces in terms of filtering, so a monolithic file of my 300-500 pieces of mail a day was ideal. This is a good strategy if you have some disk space to burn and want to try Evolution out without risking disrupting your mail flow if something goes awry, too. Emacs is emulated in keybindings with ease, so not having to retrain my finger memory was the least of my concerns as I prepared to give Evolution a spin. Visiting the GNOME control center and selecting Document Handlers -> HTML Editor -> "Emacs like" allows you to use many of the common Emacs navigation keys. You may not have Emacs in all its glory, but for most mail editing tasks, this suffices. Since the last time I looked at it, Evolution has improved a lot in terms of stability and features. I stuck with the preview release (0.6) for several days, and had I gotten around to building from CVS sooner, I may have ended up staying with it even longer. Many of the available mailer features work correctly with only the occasional crash. There are a few bugs that make some of the features less reliable, but it's easier to get a sense of how featureful Evolution is now and even begin the process of migrating if your current mail client leaves you cold. I've most been looking forward to improvements, and there's definite flexibility in that area. Enough, in fact, that with a little added stability, Evolution will be easily dropped into more complex procmail-based mail schemes. It can now filter on specific headers, which is great if your mail is passing through something like Catherine Hampton's Spambouncer, which appends the "X-SBClass:" header to label spam as such. In addition, there's support for regular expressions in the sorting, so you can move a procmail recipe over with relative ease. Though it doesn't work quite right yet (there are problems saving the criteria) there's now date-based filtering, allowing you to specify, for instance, arrival and composition dates as filtering criteria. In addition to added flexibility, Evolution has got some nice features for what to do with mail it's filtering. It's possible to assign a color to a mail's entry in the message browser, for instance, allowing you to mark mail for easy visual sorting. If you'd like to highlight all the mail from a certain person, or to a certain list, Evolution will do that. There's also the beginnings of a scoring system, something heavy USENET users will enjoy. Virtual Folders remain in place and take advantage of all the filtering criteria, too, and this is one of nicer features of Evolution. While it's possible to move mail into folders with ease, VFolders allow users to make customized views of their mail. With date criteria set relative to the current date, for instance, it will be a simple matter to create VFolders that group mail by how old it is, allowing a quick look at the last week's mail, or mail from two weeks ago, or mail from this time last year without moving the mail into a "real" mail folder. Evolution is more than a mail client, though: it also includes a calendar and contact manager. Though work is still in progress to get the GNOME address book talking with Evolution, it's possible to use GNOME Calendar files by copying the ~/.gnome/user-cal.vcf to the ~/evolution/local/Calendar/calendar.ics file. If you have a PalmOS-based device, Evolution also has some conduits for use with gnome-pilot which will automate this process. Some interesting work is being done on scheduled item recurrence in the calendar. Now it's possible to not only specify that something happen every set period, but days of the week can be specified, too, making it possible to set up recurring appointments every week on Monday, Wednesday, and Friday, for instance. Recurrence is dictated with plain English, so it's easy to make recurring appointments that occur on intervals like "every first Tuesday of each month" or "the third day of each month."
Assessing EvolutionThe release schedule for Evolution is about to step up, which means users will be able to watch the project progress more promptly. Though no firm dates have been set, within the next few weeks more frequent builds will become available. The process of trying Evolution out will become much easier as many of the libraries it relies on begin to firm up and slow their development cycles, becoming more readily available as distribution-native binary packages. Depending on what kind of mail user you are, the current binary release may be enough to use daily. If you're waiting for something to replace your tried-and-true mail setup and rely heavily on fine-tuned filtering, it's probably best to wait. Either way you go, Evolution has reached the point where it's a "must watch" for the curious. It's improving rapidly.
Anna Dirks: Doing Work that isn't Socially WorthlessA lot of what will make Evolution resonate with new users coming from the Microsoft world and more experienced users who are fond of the power they have with traditional UNIX mail tools will be how easily rather complex mail management tasks can be handled. With procmail, for instance, all the power's there, but a copy of Mastering Regular Expressions comes in handy and represents a body of knowledge many newbies won't want to deal with. The ease of use comes from good interface design, and that's where people like Helix Code's Anna Dirks come in. Dirks works as a User Interface Engineer at the company, where she spends her days working out the best ways for users to deal with their computers. She's been involved with all three projects Helix Code has worked on to date: Evolution, Red Carpet, and Gnumeric. According to Dirks, her primary responsiblity is to ensure that the user interface of software Helix Code turns out is "consistent, neat, clean, and usable." To that end, she's contributed to several elements of Evolution's design, ensuring that keyboard shortcuts, dialog boxes and the software's search interface were consistent not only within the program itself, but with established GNOME practices across the project. UI design, according to Dirks, sometimes suffers in the free software world for the simple reason that one of its bedrocks, consistency, is hard to come by: "The GNOME desktop gets a huge amount of UI engineering ideas from all over the world," she says, noting that in addition to the many ideas about how to make software interact with users, hackers simply "think about the functionality of the code in a different way," which sometimes causes them to place other considerations over the needs of inexperienced end-users. Dirks has an interesting set of tools with which to approach the far-flung community of GNOME hackers, too. She graduated from MIT with three degrees: Electrical Engineering, Creative Writing and Womens' Studies. Her programming background includes Scheme, LISP, and Java, and she professes some knowledge of a few other languages. It was while she was programming with Java and developing user interfaces for an online stock trading company in San Francisco that she came to the decision to start working on Free Sofware: "The work I was doing there was socially worthless," she says, though her initial interest in Linux was sparked by simply needing to figure out how to make the sound work on the Linux workstations at her job. She says that the personable and unaffected tone of the Linux community she discovered as she went about tracking down the solution to her problem resonated with her. No stranger to Free Software, owing to her years at MIT, she decided she wanted to work on it for a living. She dropped the job in San Francisco, got a job with Helix Code, and settled in to work among friends. Both Nat Friedman, Helix Code's President, and Dan Winship, a hacker at the company whose work figures prominently in Evolution's Camel back-end, knew her from their time together at MIT. And at the "other GNOME company," Eazel, Rebecca Schulman, another schoolmate, is working on Medusa--a critical component of Nautilus. Dirks says there are several ways to value the work she does with Helix Code. In addition to contributing to Free Software, she says her position as Helix Code's only female engineer provides her with interesting leadership opportunities too valuable to pass up.
Coming UpEvolution isn't the only mail client in town for GNOME. Balsa recently reached version 1.0, and there are several new features that make it worth a look for anybody who wants a solid, stable mail client for GNOME with a few added goodies like filtering and integration with the GNOME address book (something that was missing the last time I looked at it.) In addition, GNOME now has a new package that eases the ever-nagging problem of tying themes together. Because users are forced to juggle themes between their window manager, wallpaper, and GTK theme, there's a bit of a usability issue in terms of configuring GNOME's look. In steps metatheme to correct this.
|