When the topic of using OS X comes up, I tell people that if you drink Apple’s kool-aid and use its apps religiously—Mail, Address Book, iCal, iPhoto—then it will pay off for you. Since they hook into each other, and other apps hook into them as well, you really do get synergistic benefits. For example: if you keep all your contacts in Address Book, you can filter your mail in useful ways. If you create groups in Address Book to categorize your contacts, mail filters can be more useful.

I filter my mail based on whether the sender is in my clients group or my friends group; each goes to its own mailbox, and other actions are triggered as well.

When I receive messages from friends, their names are spoken aloud to me using this script.

When I receive messages from clients, the “work bell” rings (this is something Mail can do on its own), and a Growl notification appears on-screen using this script. I’d like to make it so that clicking on the notification blob opens the message in question, but I haven’t figured that part out yet. These notification blobs are actually pretty intrusive (they sit there until you click on them to dismiss them), but this was an intentional decision: if it’s work-related, I probably want to be interrupted.

When I receive messages from people I’ve never corresponded with before, it’s very likely those messages are spam. So I filter messages where the sender is not on my previous recipients list (this is a handy, and I suspect little-known feature in Mail) to a “holding pen” mailbox that is essentially a waiting room for my junk box. This makes it a little easier to prioritize and batch-process mail in the eternal struggle for inbox zero.

Recently, I discovered DockStar–this lets me see how many messages are in each of several boxes. This alone would almost be enough, but I like the extra channels of information I get.

I’ve recently started reading Hawk Wings, a blog focused mostly on Apple’s Mail.app and other personal-information programs like iCal and Address Book. I’m always keen on ways to tweak Mail, but I was moved to actually write about it by the recent post Mail’s most annoying bug. It got me thinking about all the ways Mail could be better.

When it was released with OS X 10.0, Mail was barely usable. I had used Eudora up to that point, but when I made the switch to X, I decided to leave the old OS behind completely. While Eudora was available, it did not handle Japanese; it only handled Japanese on OS 9 thanks to a plugin that had not been ported to X (I know nothing of the state of Eudora’s i18n today). I looked at some third-party alternatives, and gladly would have paid for one that I liked, but I found nothing that I liked better than Mail, so I stuck with that.

Today, Mail is a pretty good program, but it has obvious problems, and even if those were all fixed, would be solid but not innovative.

Bad/no keyboard equivalents: Mail lets you read messages one of two ways: by splitting the window into a message-list pane and a message-viewing pane, or by showing each message in its own window. My natural inclination (probably inherited from Eudora) is to open each message in its own window, but when you do this, it is impossible to use the keyboard to navigate between messages while viewing the message. You need to close the current message window, then arrow up/down, then open that message. It’s a small thing, but multiplied out hundreds of times a day it adds up. I am dumbfounded by the lack of this, as well as some of the strange keyboard commands that are there—the commands to send and check mail, two of the most common e-mail activities, are obscure and non-mnemonic.

Bad threading: Mail tries to group messages by thread, but also groups based on subject line. I have a client that uses the subject line “request” on every message he sends me, so every time he sends me work, I need to disclose an increasingly ungainly list of messages (I keep all the old ones around just because I am that way). Another weakness in this quasi-threading is that it is “flat”–it doesn’t show which message is replying to which. This is possible. Properly threaded e-mail been possible for decades. Apple should be able to figure it out.

Inclusion of .sig in body: As far as I can tell, most civilized mail clients segregate the signature line from the body of the message when you are editing. Not Mail. This means you needs to edit around the .sig, or add it back after you’ve deleted it.

Reply format oriented towards top-posters: I’m not going to say that top-posting is wicked and only evil, stupid people do it, but I don’t do it. [Update: Holy crap, look at the passions this topic arouses.] When replying to an e-mail, I try to interleave my points with the sender’s points. Mail is set up to encourage top-posting though: it places the cursor on a blank line above the quoted text, and prefaces the quoted text not with a salutation but with a more bureaucratic “on such-and-such a date, so-and-so wrote:”. So there’s that wasted blank line, and a first line that I almost invariably wind up editing (if you get e-mail from me that has that introductory line unedited, it means either that I’m really busy, that you are bugging me, or that I don’t know how to address you). Again, customized salutation lines have been around for a very long time. Mail should solve this and not assume that everyone is a top-poster. And when I want to interleave my response into the quoted text, Mail does a lazy job. The helpful thing would be to create three blank, unquoted lines with the cursor on the middle line. Mail creates one blank unquoted line. If I’m inserting a comment between two paragraphs of quoted text, there will be one blank quoted line just hanging there—it should clean that up. I think Eudora did.

Simple filtering: I use a lot of rules in Mail to direct my mail into the appropriate slots. I know that Boolean logic can get confusing, but Mail could offer an expert mode for creating rules like “If (A or B) not C” Yes, I know that Mailsmith can do this. I also know that Mailsmith has no support for Japanese. i18n is a real bright spot in Mail: before Mail, e-mail containing Japanese was a frequent PITA. I still have occasional problems with it, but the problem is mostly solved.

No queue for outgoing mail: This is another one of those Eudora features I miss. With Eudora, it was possible to write a message and queue it for delivery later (indeed, this was the default, though it was also possible to send immediately). Not with Mail: you send it, it’s gone. A five-minute grace period would save a lot of mistakes.

So far, these complaints are just of the “this is broken” variety. There are lots of ways Mail could actually be innovative.

Presentation of threads: This is one thing where gmail is out in front: it shows “conversations,” including both messages you received and sent as part of the conversation. Even if Mail would show all the messages in a mailing-list thread in one window—ideally with proper threading indicated—I’d be very happy. If it could go a step further and strip off all the detritus of footers and excess quoting, I’d be amazed.

Mailing-list handling: As long as we’re talking about mailing lists, Mail should be smart enough to recognize “hey, you’ve subscribed to a mailing list” and offer to set up special mailboxes and filters for it. Since almost all mailing lists run on a handful of platforms (Yahoo Groups, Google Groups, Mailman, and maybe one or two others), it should be possible to create special actions for quitting a list, etc, so that newbies who subscribe to a list they then decide to leave don’t post annoyed and annoying messages to the list asking “how do I leave this list?” (actually, this suggests a whole xmlrpc mechanism for managing lists, but that’s a topic for another day).

Ad-hoc mailing lists: this could be dangerous in the wrong hands, but sometimes it is useful to have a mailing list for a short period of time and a small number of people. With the right rules and actions, a mail client could emulate a mailing list well enough. There should be a quick way to set this up.

Alternate views: It could be useful (or at least interesting) to be able to view my mail database in calendrical form. Or by person. It would be interesting, for example, to see a histogram of all the mail exchanged between me and Gwen over time.

I’ve been musing a bit lately about the problem of having too much information on our computer screens to deal with. I’ve also been thinking about the problems involved in using a computer as the hub of an entertainment center. What follows is a concept that might be able to address both problems, as well as a few others.

This is a gadget I call the “sidepad.” It has a few modes of operation.

1. Docked mode

In this mode, the sidepad is physically connected (via a docking station) to the host computer, and acts as a specialized secondary display.

I’ve written before that I like the idea of roping off a section of my display for to use as for status-monitoring displays and the like, or better yet, a separate display entirely. There wouldn’t be enough of this ancillary stuff to fill a normal display (even a small one), but a custom display such as I am proposing would be perfect.

Shown here is a very rough mockup of a 20“ iMac with an ancillary display showing how the two would relate.

Here is a detail of just the sidepad in docked mode

In this, the ancillary display shows the dock, application palettes, and ”dashboard“-style information, though in a much simpler and more disciplined format than Apple’s Dashboard. For lack of a better name, I’ll tentatively call this part of the display the ”dashpad“. Rather than having each widget being free-floating and self-contained, each dashpad widget fits into a ”slot“ and has no chrome (though actual widgets in this case could be somewhat dressier than I am showing them here). I have left the application palettes alone, although I envision a standard visual format for them, along with a special API to take advantage of the ancillary display.

How would something like this work technically? At the physical level, I imagine a dock that would connect to the host via Firewire. Although it would act in some respects as a second display, it would probably need to be treated more as a peripheral; it would have its own processor, which would need to collaborate with the host to fake acting like a second display in some respects.

At the software level, the OS would need a new API that let applications relegate palette display to the sidepad when present, along with support in the OS for the look and actions of those palettes. Likewise display of the dashpad.

2. Detached mode

In this mode, the sidepad is undocked from the host computer, but within wifi range, and acts as a remote terminal for that computer, as well as the command center for home entertainment.

We’re at a point where having a remote display for one’s home computer can be incredibly handy. Such as:

You see something while watching TV and want to check some background info on the web (IMDB entry on an actor, product website for something you see advertised).

You are piping music from your computer to your stereo. You want to be able to see track info, and to have more control over playback than next/previous track buttons on a normal remote offer.

Obviously these tasks can be accomplished with another computer networked into your primary computer, but this can require a fair amount of setup, and the expense and maintenance of an another computer. Apple likes to talk about its computers being ”digital hubs,“ and I love the idea, but I need to be able to use it out at the ends of the spokes.

Shown here is the sidepad removed from the dock. It would communicate with the host over wifi (probably setting up a VPN). Assuming the mac was also hooked up to, say, a TV and stereo, the sidepad would work as a remote control in this mode, directing media signals to the appropriate outputs.

In this mode, the screen would show something completely different. A fixed source browser would appear on the top-left, with tabs for one’s computer, the Internet (which would show a browser in the remainder of the screen), music, movies, photos (which would hook into the appropriate sources on the host’s hard drive, and display suitable browsers), and an organizer (contacts and calendar that would sync with the appropriate iApps).

3. Outbound mode

In this mode, the sidepad is operating independently of the host computer, functioning as an Internet terminal, media player, and PDA.

A lot of people who mostly need a desktop computer could also use something lightweight for e-mail, web surfing, and entertainment when they are away from home. The proportions of the display are not an accident: it has a 16×10 aspect ratio, for widescreen video. A laptop (especially a used one) is not an unreasonable solution, but may be overkill, and requires more work (and if Apple has its way, a .Mac subscription) to keep in sync with one’s desktop. Low-powered, small, and lightweight web-surfing tablets such as the Nokia 770 and Pepperpad already exist, but these are not really designed to sync with larger computers, much less provide either of the other modes I’ve discussed.

In order to fulfill its other functions, the sidepad would need a powerful enough processor to act as a PDA, with utility applications like a word processor, spreadsheet, and e-book reader. So it would be a no-brainer to include these functions in this mode.

One aspect of this mode that is open to criticism is the fact that it would require a fair amount of storage to be useful, increasing its price and putting it dangerously close to iPod territory. This could be handled by making storage optional, by using a memory-card slot, or by actually designing in an iPod dock.

The display in this mode would be very similar to that in Detached mode. The functionality would be different, though. The ”my computer“ tab might be disabled if a VPN at a decent speed cannot be established. The media tabs would reveal locally stored content, not content on the host computer.

Objections

What are the odds of something like this being built? Slim. There are a lot of problems with this idea:

Price: it might wind up being expensive enough that most people would reasonably ask ”why not just get a laptop?“

Size: For one thing, the size is not one we’ve seen before in a portable product—bigger than a PDA, PMP, or portable game console, but smaller than a laptop. The fact that nobody’s selling a device this size (measuring roughly 12” x 6“, the size of a license plate in North America) may be because nobody would buy it. For another thing, in order to feel well-connected to the host machine in docked mode might require different models for different screen sizes.

Marketing: With several different modes, none of which are ones that most consumers will instantly grok, this would be a challenge to sell effectively.