handling mailing lists, newsgroups, and feeds

Users participate in discussions and receive announcements via a variety of delivery methods, including mailing lists, newsgroups, and feeds. Although these methods are all technologically different, users interact with them in roughly the same ways. They subscribe to and unsubscribe from a source of discussion/announcements, collect its messages into folders, sometimes save those messages indefinitely, and other times periodically delete old messages.

Users don’t care about the technology providing communication, they care about the communication itself. So the UI of a messaging client like Thunderbird shouldn’t arbitrarily differentiate between delivery methods but rather focus on what users actually want to do with the messages they receive. Thunderbird’s UI should include the following features:

  • ways of subscribing to sources (in this one regard, the UI may vary noticably between methods, since users tend to stumble upon them in different ways, and it may be difficult to hide some details of the subscription process);
  • when a user subscribes to a source, the client automatically creates a collection (a.k.a. “folder”) in which to store the source’s messages;
  • global and per-source options (with sensible defaults) for receiving messages in the Inbox, in a collection, or in both places;
  • readily-available contextual options (f.e. toolbar buttons, context menu items, buttons embedded into the message display, etc.) for managing sources (i.e. unsubscribing from them, changing their settings);
  • when a user receives a message from a discussion/announcement to which he isn’t subscribed, readily-available contextual options for subscribing to it;
  • global and per-source options for deleting messages after a certain amount of time, a certain number of messages, or a certain amount of storage space;
  • a way to browse the list of all subscriptions and manage them;
  • a distinction between turning off message reception (either temporarily or permanently) and removing the source and its messages completely (not sure which should be called “unsubscribing”; probably the former);

Note that unsubscribing from a mailing list is technically very different from unsubscribing from a feed, since mailing list subscriptions are stored on a list server. But from the user’s perspective, it’s irrelevant where or how the subscription is stored, since either way she wants the same thing: to stop receiving the messages. Users shouldn’t have to learn two different UIs for doing the same thing just because the technology behind their behavior differs, just like they shouldn’t have to learn different ways of accelerating depending on whether their car has a carburetor or fuel injection; Thunderbird should handle those details under the hood.

For feeds, that means no longer polling the feed. For mailing lists, it means interacting with the server to cancel the subscription. And even though there’s no standard way to unsubscribe from a mailing list, most lists are run by one of a small set of list server packages which are identifiable from the headers they add to messages, so it’s possible to implement a few package-specific handlers that can automate unsubscribing from 99% of lists.


Myk Melez

Myk is a Principal Software Architect and in-house entrepreneur at Mozilla. A Mozillian since 1999, he's contributed to the Web App Developer Initiative, PluotSorbet, Open Web Apps, Firefox OS Simulator, Jetpack, Raindrop, Snowl, Personas, Firefox, Thunderbird, and Bugzilla. He's just a cook. He's all out of bubblegum.


One thought on “handling mailing lists, newsgroups, and feeds

  1. All decent ideas that I’d love to see implemented.

    My question, as a new-to-Thunderbird user is – what the heck took so long?

    When Thunderbird first got off the ground, surely there were some things that developers wanted to accomplish to make it ‘stand out’ from the crowd?

    Better late than never, I suppose..

    Btw, as a newsgroup reading & RSS-feed subscribing user, I would love to see user interface changes between ‘modes’ (including email).

    One thing I find with RSS feeds in TB is that I don’t need a large message pane, but do need the ‘preview pane’ to be quite tall. So I pull the pane up and read my webpage feeds. Then I click on my newsgroupss and have to drag the preview pane grabber and slide it back to about 1/2-way, where I like it for newsgroup reading. It would totally rock to have TB remember my preferences for each activity!!

    Also direly in need of a ‘refresh’ messages toolbar button like in OE, for example – as currently the only way to clear Read messages is to quickly swap folders (when in Unread view).

    Thanks – I find your blog thoughts quite insightful.

Comments are closed.