Or, how to survive the r6rs-discuss deluge.

So, I have been using Opera to manage my mail for some time, and I've always found it pretty nice, and I have know there were many features of which I was not taking full advantage. Little did I realize that I would have the perfect opportunity to really stress test the Opera Mail workflow.

The Problem

When R6RS-Discuss was fully active, I was receiving upwards of 200 emails per day into my inbox, not including spam. These were messages that I was interested in, and couldn't just toss or archive. I had to have a way of handling this email effeciently.

The Traditional Power User Approach

The traditional power user of email has configured a nice procmail filter, with a set of folders and settings that automatically filters incoming email into the appropriate email folders, where they can be observed and read. Usually the power user will also have some means of tagging or identifying which email messages have not been handled and which ones can be archived away.

Opera isn't the traditional email client, though....

A Brief Opera Mail Overview

Opera's basic mail philosophy is to maintain a single database of all messages in the Opera Mail program, and to provide various means of displaying only a subset of these messages to the user at any given time. There are a set of pre-defined, static filters such as Unread, Received, and Outbox that always show messages that have a certain property. Additionall, Opera allows you to design custom "filters" which enable you to view only certain messages of the entire database, much like a traditional email folder, except that the message is stored in a single database, and the same message can be visible in many filters, and removing a message from a filter does not remove it from the database. You can think of these filters as very specific database queries.

Opera also provides a feature called labels. These are a set of seven predefined tags which you can assign to any given email message, such as Important, To Do, and Send Reply.

These are features most people who use Opera will have heard before, but perhaps not their full potential. Some things that users often overlook, however, is the ability of Opera to filter any given view to show only a selected set of possible messages in that filter. Opera identifies messages that come from feeds, newsgroups, and mailing lists, and also allows you to show only the unread messages. You can select to show only certain parts of the whole database in useful ways.

Putting Opera Mail through its paces

Most people probably have some sort of filters set up, and use the attachments or other filters to read through their mail. I certainly did. But when I started getting so many emails into my inbox, I couldn't keep up. I wanted to be able to do a few basic things:

  1. Quickly identify and eliminate Spam.
  2. See the messages that would be most relevant to my task at hand quickly, without being bogged down by extraneous messages.
  3. Be able to mark and tag messages for later quick use, without keeping them around in my inbox.


Because messages were coming from all sorts of people with all sorts of content, there was no way a traditional procmail filter could keep up. I simply can't predict what is going to be important at the moment, except to know that certain topics will be important to me at certain times. You see, the topics were what was important, not necessarily who sent them.

I already had a set of filters that would partition my database into the various domains in which I would be focusing at any one time. What I hadn't used before, was the auto-learn feature of Opera. Most mail clients have a way of auto-learning your Spam, but Opera can also auto-learn what to make visible in what folders. This means that I can train my mail client to filter things for me, so that I don't have to create a new rule for every special instance I come across. When I was filtering out tons of messages, and some mailing lists were important at a given time, so long as they were on-topic, I couldn't rely on specifying the rules myself. This saved me vast amounts of time.

Once this was done, I could go into any of my filters and only view the messages that would apply to say, my work, at that moment, without having to worry about the rest of the messages getting in the way. When I was ready to deal with some other messages, I could filter out and see only the regular messages, and then later view all of my mailing lists and newsgroups, but those newsgroup and mailing list messages would still show up in another filter say, if they were important enough.

I had to move a lot of messages away from the inbox so that I could deal with only a subset of the new messages without having to be constantly reminded of the 400 plus emails that I want to reply to some day. That's where Opera's Tagging comes in quite handy. In some cases, I also wanted to save off specific emails that were going to be useful in the immediate future, but which required no further action of their own. Again, labels come to the rescue.

If I was searching for something that someone sent me, the Attachments filters helped me find the exact file. I could also easily browse only a given newsgroup or mailing list given Opera's built-in filtering.

The Moral of the Story

So, technically, much of this could probably be done in another mail client, but it would require much more work. In Opera, it was a few clicks of the mouse and I had my system up and running, and the email system was mostly automatic. An occassional dragging of a message one place or another, tagging here or there, and adjusting view visibility is all it takes to get fast, efficient email processing.

I know that I couldn't have done this with my traditional mail client approaches without some serious programming, and that's what really sells Opera's mail client. I really can handle massive amounts of information without losing my ability to get the important stuff right away. I can take in somewhat trivial content in case it is useful, without being afraid of losing myself in the noise.

Opera, FTW.