Sup FAQ
-------
+
Q: What does Sup stand for?
A: It stands for "what's up?", which is more or less the question in
mind when I fire up my mail client.
-Q: If you love GMail so much, why not just use it?
+Q: If you love Gmail so much, why not just use it?
A: I hate ads, I hate using a mouse, and I hate non-programmability
and non-extensibility.
- Also, GMail encourages top-posting. THIS CANNOT BE TOLERATED!
+ Also, Gmail encourages top-posting. THIS CANNOT BE TOLERATED!
Q: Why the console?
A: Because a keystroke is worth a hundred mouse clicks (as any Unix
sources don't change except by having new messages added. If that
assumption is violated, you'll have to sync the index.
- The alternative is to rescan every source when Sup starts
- up. Because Sup is designed to work with arbitrarily large mbox
- files, this would not be a good idea.
+ The alternative is to rescan every source when Sup starts up.
+ Because Sup is designed to work with arbitrarily large mbox files,
+ this would not be a good idea.
Q: How do I back up my index?
Q: How do I make a state dump?
If you sup-sync only one source at a time, depending on the order,
the messages may be treated as missing and then deleted from the
- index, which means that their state will be lost when you sync the
+ index, which means that their states will be lost when you sync the
other source.
Q: What are all these "Redwood" references I see in the code?
author of ferret, which is the search engine behind Sup. Ferret is
really a first-class piece of software, and it's due to the
tremendous amount of time and effort he's put in to it.
-
Here's Sup's philosophy.
Using "traditional" email clients today is increasingly problematic.
-Anyone who's on a high-traffic mailing list knows this. My ruby-talk
+Anyone who's on a high-traffic mailing list knows this. My ruby-talk
folder is 430 megs and Mutt sits there for 60 seconds while it opens
it. Keeping up with the all the new traffic is painful, even with
Mutt's excellent threading features, simply because there's so much of
The principle problem with traditional clients is that they deal with
individual pieces of email. This places a high mental cost on the user
for each incoming email, by forcing them to ask: Should I keep this
-email, or delete it? If I keep it, where should I file it? For
+email, or delete it? If I keep it, where should I file it? For
example, I've spent the last 10 years of my life laboriously
hand-filing every email message I received and feeling a mild sense of
panic every time an email was both "from Mom" and "about school". The
of storage, have made these questions both more costly and less useful
to answer.
-I think GMail has taken the right approach. As a long-time Mutt user,
-I was pretty much blown away when I first saw people use GMail,
-because I saw them treat email differently from how I ever had. I saw
+I think Gmail has taken the right approach. As a long-time Mutt user,
+I was pretty much blown away when I first saw people use Gmail,
+because I saw them treat email differently from how I ever had. I saw
that making certain operations quantitatively easier (namely, search)
resulted in a qualitative difference in usage. You didn't have to
worry about filing things into folders correctly, because you could
thread-centrism was advantageous over message-centrism when message
volume was high: if nothing else, there's simply less of them.
-Much of the inspiration for Sup was based on GMail. I think it's to
-the GMail designers' credit that they started with a somewhat ad-hoc
+Much of the inspiration for Sup was based on Gmail. I think it's to
+the Gmail designers' credit that they started with a somewhat ad-hoc
idea (hey, we're really good at search engines, so maybe we can build
an email client on top of one) and managed to build something that was
actually better than everything else out there. At least, that's how I
imagine in happened. Maybe they knew what they were doing from the
start.
-But ultimately, GMail wasn't right for me (fuck top posting and HTML
+But ultimately, Gmail wasn't right for me (fuck top posting and HTML
mail), which is why the idea for Sup was born.
Sup is based on the following principles, which I stole directly from
-GMail:
+Gmail:
-- An immediately accessible and fast search capability over the
- entire email archive eliminates most of the need for folders,
- and eliminates the necessity of having to ever delete email.
+- An immediately accessible and fast search capability over the entire
+ email archive eliminates most of the need for folders, and
+ eliminates the necessity of having to ever delete email.
- Labels eliminate what little need for folders search doesn't cover.
to cycle between buffers and 'x' to kill a buffer. There's probably
not too much interesting there, but there's a log buffer with some
cryptic messages. You can also press '?' at any point to get a list of
-keyboard commands, but in the absense of any email, these will be
+keyboard commands, but in the absence of any email, these will be
mostly useless. When you get bored, press 'q' to quit.
I mentioned that Sup's index was empty. The index is where Sup stores
it.
We add messages to the index by telling Sup about the source where the
-messages reside. Sources are things like imap folders, mbox folders,
-maildir directories, and gmail accounts (in the future). Sup doesn't
+messages reside. Sources are things like IMAP folders, mbox folders,
+maildir directories, and Gmail accounts (in the future). Sup doesn't
duplicate the actual message content in the index. So when you search
for messages or view your inbox, Sup talks only to the index (stored
locally on disk). When you view a thread, Sup requests the full
You can manually add a source to Sup's source list by running
'sup-add' with a URI pointing to it. The URI should be of the form:
- mbox://path/to/a/filename, for an mbox file on disk.
-- maildir://path/to/a/filename, for an maildir directory on disk.
+- maildir://path/to/a/filename, for a maildir directory on disk.
- imap://imap.server/folder for an unsecure IMAP folder.
- imaps://secure.imap.server/folder for a secure IMAP folder.
- mbox+ssh://remote.machine/path/to/a/filename for a remote mbox file.
Before you add the source, you need make two decisions. The first is
-whether you want Sup to regularly poll this source for new
-messages. By default it will, but if this is a source that will never
-have new messages, you can specify --unusual. Sup polls only "usual"
-sources.
+whether you want Sup to regularly poll this source for new messages.
+By default it will, but if this is a source that will never have new
+messages, you can specify --unusual. Sup polls only "usual" sources.
The second is whether you want messages from the source to be
automatically archived. An archived message will not show up in your
read/unread status from the source.
sup-sync will now load all the messages from the source into the
-index. Depending on the size of the source, this may take a
-while. Don't panic! It's a one-time process.
+index. Depending on the size of the source, this may take a while.
+Don't panic! It's a one-time process.
Ok, now run 'sup'. You should see the most recent unarchived messages
appear in your inbox. Congratulations, you've got Sup working!
does not use folders. Instead, you organize and find messages by a
combination of search and labels (knowns as 'tags' everywhere else in
the world). I claim that 95% of the functionality of folders is
-superceded by a quick, easy-to-access, and powerful search mechanism,
+superseded by a quick, easy-to-access, and powerful search mechanism,
and the other 5% by labels. (The Sup philosophical treatise has a
little more on this.)
in a thread at one time.
Use the up and down arrows to highlight a thread. ('j' and 'k' do the
-same thing, and 'J' and 'K' will scroll the whole window. Even the
+same thing, and 'J' and 'K' will scroll the whole window. Even the
left and right arrow keys work.) By default, Sup only loads as many
threads as it takes to fill the window; if you'd like to load more,
press 'M'. You can hit tab to cycle between only threads with new
messages.
Highlight a thread and press enter to view it. You'll notice that all
-messages in the thread are displayed together, layed out graphically
-by their relationship to each other (replies are nested under
-parents). By default, only the new messages in a thread are expanded,
-and the others are hidden. You can toggle an individual message's
-state by highlighting a green line and pressing enter. You can use 'E'
-to expand or collapse all messages or 'N' to expand only the new
+messages in the thread are displayed together, laid out graphically by
+their relationship to each other (replies are nested under parents).
+By default, only the new messages in a thread are expanded, and the
+others are hidden. You can toggle an individual message's state by
+highlighting a green line and pressing enter. You can use 'E' to
+expand or collapse all messages or 'N' to expand only the new
messages. You'll also notice that Sup hides quoted text and
signatures. If you highlight a particular hidden chunk, you can press
enter to expand it, or you can press 'o' to toggle every hidden chunk
keyboard commands at any point.)
A few other useful commands while viewing a thread. Press 'd' to
-toggle a detailed header fpr a message. If you've scrolled too far to
+toggle a detailed header for a message. If you've scrolled too far to
the right, press '[' to jump all the way to the left. Finally, you can
-press 'n' and 'p' to jump forward and backward between open
-messages, aligning the display as necessary.
+press 'n' and 'p' to jump forward and backward between open messages,
+aligning the display as necessary.
Now press 'x' to kill the thread view buffer. You should see the inbox
again. If you don't, you can cycle through the buffers by pressing
for those interminable threads that you really have no interest in,
but which seem to pop up on every mailing list.)
-If a thread is spam, press 'S'. It will disappear and won't come
-back. It won't even appear in search results (unless you explicitly
-search for spam.)
+If a thread is spam, press 'S'. It will disappear and won't come back.
+It won't even appear in search results (unless you explicitly search
+for spam.)
You can also star a thread by pressing '*'. Starred threads are
-displayed with a little yellow asterix next to them, but otherwise
+displayed with a little yellow asterisk next to them, but otherwise
have no special semantics. (But you can also search for them
easily---we'll see how in a moment).