Introducing Snowl

Chris Beard

53

An Experiment with Messaging in the Browser

Conversing (a.k.a. messaging) is a common online activity, and a number of desktop and web applications enable it.  But with an increasing variety of protocols and providers, it’s getting harder and harder to keep track of all your conversations.

Could the web browser help you follow and participate in online discussions?

Snowl is an experiment to answer that question.  It’s a prototype Firefox extension that integrates messaging into the browser based on a few key ideas:

  1. It doesn’t matter where messages originate. They’re alike, whether they come from traditional email servers, RSS/Atom feeds, web discussion forums, social networks, or other sources.
  2. Some messages are more important than others, and the best interface for actively reading important messages is different from the best one for casually browsing unimportant ones.
  3. A search-based interface for message retrieval is more powerful and easier to use than one that makes you organize your messages first to find them later.
  4. Browser functionality for navigating web content, like tabs, bookmarks, and history, also works well for navigating messages.

The Initial Prototype

The initial prototype supports two sources of messages: RSS/Atom feeds and Twitter.  And it exposes two interfaces for reading them.  First, a traditional three-pane “list” view, targeted to active reading of important messages:

the list view

Second, a “river of news” view, based on the concept popularized by Dave Winer, designed for casual browsing:

the river view

Roadmap

Our next step is to gather feedback on the prototype and the ideas behind it.  We want to know if the concept has promise and is worth pursuing further.  We’re particularly interested in feedback on how messaging might fit into the browsing experience and if there are other interfaces (or refinements to the two interfaces built into the prototype) that would make it easier for users to have online conversations.

We’re still considering what may come after that, but possible extensions to the Snowl prototype include:

  • support for additional message sources, e.g. Facebook, AIM, Google Talk, etc.;
  • an interface for writing and sending messages to enable true two-way conversations;
  • an API to make it easier for developers to build new experimental interfaces, e.g. an instant message view.

Also, last week at the Firefox+ summit there were related discussions about the future of Thunderbird‘s user experience, with many ideas that overlap the ideas embedded in Snowl. We expect that some of the Thunderbird ideas will influence Snowl’s future, and that lessons (and possibly code) from Snowl will influence Thunderbird’s future.

Get Snowl for Firefox

Get the initial prototype: Snowl for Firefox.

Warning: the initial prototype is a primitive implementation with many bugs, and subsequent versions will include changes that break functionality and delete all your messages, making you start over from scratch.

The prototype code is released under an MPL/GPL/LGPL tri-license.  Most icons are from the Silk icon set by famfamfam, licensed under the Creative Commons Attribution 2.5 license.  The OPML icon is from the OPML Icon Project, licensed under the Creative Commons Attribution-Share Alike 2.5 license.

Get Involved

Let us know what you think by posting in the forum, reporting bugs, or conversing with us in the #labs channel on irc.mozilla.org.  Or check out the source and submit your bug fixes and enhancements.


53 responses

  1. arthur wrote on :

    how about adding these to my stream?
    > email (gmail, yahoo, etc.)
    > facebook newsfeed
    > voicemail
    > IM

  2. KChristoph wrote on ::

    Here you can find some thoughts in german:
    http://www.mozillablog.de/2008/09/03/snowl-weitere-neuheit-der-mozilla-labs/

  3. mykmelez wrote on ::

    @techwizrd: not yet, but I’d love to see additional services integrated into Snowl, and identi.ca seems like a perfect candidate. Currently I’ve targeted integration of additional services to the 0.5 release on the roadmap, and I’ll think about making identi.ca one of them. But if you want to see it happen sooner, and you’re able to hack on Firefox extensions, you’re more than welcome to work on it for an earlier release.

  4. techwizrd wrote on :

    Is identi.ca support planned anytime in the near future?

  5. liverbird529 wrote on ::

    I agree that a built-in IM client would make this much more useful. A little refinement and a little work on smoothing out the appearance, and this could be amazing! Also, LOVE the logo. =)

  6. tyronne wrote on :

    seems excellent,based on Prototype

  7. tom wrote on ::

    Stay away from Mozilla. They are highly unprofessional. Their solution for everything is to insult and ban you.

    I asked for support on their forums. I got this:

  8. ChiJoan wrote on :

    Where’s the Screenshot Folder on your Website? People need to have an idea of what it will look like or act like.

    I wish you better luck keeping up with all the changes that happen with the various add-ons and plug-ins in the various OS or Distros. Like the recent changes in Yahoo Classic Webmail on PcLinuxOS has the flags on messages loose their color. Yet in Ubuntu all is good, my WinXP seems to be OK, but I don’t use it that often.

    Keep up the good work…

  9. ers- wrote on :

    sip deh! ( in english is : good!)

  10. agung kurniawan wrote on :

    nice

  11. Brett Zamir wrote on ::

    This is really exciting to see finally. I’ve had a dream of this for some time. Although it has the disadvantage of not being implementing with ul lists (uses select menus instead) though I know lists are possible, I have a column browser (ala Mac OSX) which lets you browse any XML source (including a JavaScript-generated XML source which lets you browse local files as well–I hope Snowl can merge all kinds of data sources like this together so one can have files alongside webpages/emails/etc.).

    At present the column browser is only read-only, but I hope we might make it work with renaming/drag-and-drop moving/adding/deleting as I’ve only begun to do. Feel free to contact me about it… brettz9 (Yah)

  12. eBestPrice Quebec wrote on ::

    That’s rock! I really love this logo

  13. mmc wrote on :

    “1. It doesn’t matter where messages originate. They’re alike, whether they come from [...]”

    I don’t completely agree with this. Some type of messages are more important exactly because of where they originate (eg. an employer). Other I may read, but it’s not crucial if I missed them.

    My point is that there should be a way to prioritize the messages, so that important ones will bubble up and not get lost (now the awesomebar comes to mind)…

  14. Johan Ronström wrote on ::

    More thoughts.. I’m subscribing to a few comment feeds (including this one), and my source list is already full of authors that has commented. Mostly people I have no use having in my source list. There should be an easy way to structure that list…

    One idea would be to have an option per feed not to add new authors to the list, but still have them in an internal list, so that I could access their posts if I have added the author by hand, or if they show up from another source… If that makes sense…

    Or possibly make a tree-view list so that I can expand the authors of a particular feed… but that makes less sense since we’ll want the authors to be higher than the source in the hierarchy, to be able to see all their contributions from all sources…

  15. Seth R wrote on :

    I think a good interface for alerts would be to dedicate 20 to 100px on the status bar or a toolbar to colored one or two word status updates based on user criteria. For instance I might set mine up so that when my boss IMs me it would display red with the word AIM and my boss’s screen name, then when my favorite rss feed is updated I would have it display the feed’s name on a green backround.

    I think it’s also very important that any feature like this should be capable of being popped out into a new window. I use dual monitors and it is vital to me that I can manage one task like IM on one monitor while managing another like browsing or coding on the other. At the same time unobtrusive integration with ff in a single window also has its merits, users should have both options.

  16. Seth R wrote on :

    I think a good interface for alerts would be to have 20 to 100 px on the status bar or a toolbar dedicated to one or 2 word colored alerts. The user could specify message criteria for the different colors and different words. So for instance an IM from my boss might display as red with the word AIM while an update to my favorite RSS feed might display green with the name of the feed.

  17. sky wrote on :

    great idea! keep it going mozilla(h)

  18. Pete Morley wrote on ::

    Also, forgot to add. Like Johan said, keep the app running in its own dedicated tab, possibly have a FireFox tab and a SnowOwl tab. Toggling between the two would be like switching between two desktops within the browser window.

  19. Pete Morley wrote on ::

    I can see it developing into a tool that can share content from all forms of online media. From Blogs to Digg to newfeeds to AIM/MSN users using multiple accounts and service providers all talking together via SnowOwl. The problem at the moment with creating a single online network is that that I have different friends on sites like Reddit, Digg and Delicious.

    I could add my accounts from gamefaqs/gMail/Google Reader/Delicious etc. and use SnowOwl as a platform to share that info with other SnowOwl users on my friends list who wouldn’t nessacarily have accounts with the same social networking sites.

    Including the ability to make stickies, notes and threads with groups of people then share those with other users could make this a powerful tool for both online businesses collaboration and regular social networking.

    Also, love the logo.

  20. Blake wrote on ::

    Sounds interesting if more features are added, but right now it seems like nothing more than a feed reader since Twitter updates are already available as RSS/Atom feeds.

    It would definitely be more worthwhile if it aggregates other social media services, and maybe if it had integration with those services like a built-in IM client, easy sharing on Digg, Delicious, etc.

  21. Ben wrote on :

    o rly?

  22. JV wrote on :

    I’d like to be able to forward copies of my GrandCentral.com and Home Phone email alerts that I receive when a voice message is received to the new service too.

  23. jacob mathai wrote on ::

    This sounds promising.

  24. hrongyorgy wrote on :

    Please split to rows columns to fit columns in window… This’s terrible now.

    Pre-thx.

  25. Natanael L wrote on :

    YOU ROCK! I love this, I can’t wait to try it!
    TOo bad I don’t have internet access at home right now… :(

  26. Michael Briggs wrote on ::

    Nice idea guys. I just downloaded it but it didn’t seem to work with the version of firefox I have. Will try it on my machine at home and see how I get on. thanks again – seems to promise a lot of the stuff that I was using Flock for.

  27. question wrote on :

    Hello,
    thanks for the answer.
    I also would like to make a feature request: so far it seems all the people would like to have all sorts of different channels supported (and more, some people simply may not want some the channels they don’t need themselves), so please, could you consider plug-in architecture for Snowl? Just a basic core with add-ons for various kinds of messaging. Thanks!

  28. Johan Ronström wrote on ::

    And when I subscribed to the comment feed here, there was nothing showing up in the list of sources…

    Where you by the way should be able to select multiple sources and get the messages from all of those, not just the last selected.

  29. Johan Ronström wrote on ::

    Great tool! Some thoughts:

    Since Snowl lives inside my browser I’d really like the option to show the actual source website (link) instead of the contents of the feed when viewing blog posts and such. An option to be enabled per source to get styles and comments directly.

    And I must agree that it is most annoying that it overrides the current page when clicking on the feeds, I’ve done so three times now having to rewrite this every time!

    This could be solved by letting the whole app live inside a single window (or tab), with the left and top bars only visible there. I can’t really see the advantage of having them open outside the tabs… Or if it was a standalone app I might rather use that.

    I also have some problems with the sorting of messages. I always want to sort them in reverse cron, newest on top, but the app seem to jump back to oldest on top…

  30. Завработок в интернете wrote on ::

    Very good job! Nice logo :)

  31. Arthur wrote on :

    Cannot find Snowl to bring it up. Expected to see it in the View -> Toolbars or Sidebar.
    ???

  32. mykmelez wrote on ::

    Wow, lots of great feedback. Thanks all for your comments and references. A few specific responses:

    Blair: Snowl is a separate effort, but there’s lots of cross-pollination between me and the Thunderbird team.

    Marcin: it doesn’t currently automatically keep track of comment threads on blogs, but that seems like it would be a great addition, perhaps not for every comment thread, but for a set that the user is interested in.

    James: that’s a good point. I’ve been frustrated by that problem in the past as well. Perhaps opening messages in new tabs is the solution.

  33. David wrote on ::

    http://21echoes.blogspot.com/2008/07/kitchen-sync-synx-other-witty-title.html

    right there with ya, boys

  34. James M. wrote on :

    This is a very nice tool, but I just have one problem with it. Every so often, I will accidentally click on one of the feeds when I’m browsing somewhere else, and it will automatically override the page I was viewing.
    Would there be any way to open it in a different tab automatically, or could you set that as an option?

  35. Marcin Tustin wrote on ::

    Will it automatically keep track of comment threads on blogs?

  36. Blair McBride wrote on :

    There’s been talk in the past about doing something like this with Thunderbird – is Snowl related to that, or is it a separate effort?

  37. Brian wrote on ::

    I think the key importance is tight integration with the web browser. Like you mention there is already several multi protocol messaging clients. So Snowl needs to stand out and do something no other client can do because it is integrated within the browser. Then i think this project can tie in with Aurora, by using these messages protocols to discuss, share and collaborate with others.

    Right now i use Trillion Astra and it is stunning, but because im steadily moving more to the Linux world, i no longer can use the client version, but have to relay on there online messaging services. So im looking forward to see what Snowl can do

  38. Gilberto Padilha wrote on ::

    I agree with other commenters, a stand alone application would be better, or at least we could choose if we want to run it as an extension in Firefox or as a stand alone application, as we can do with Sunbird and Lighting.

  39. Svetlana Gladkova wrote on ::

    I also feel it is too much of Firefox – no matter how much I adore it. And what’s more important, there’s no big difference between switching from on desktop app to another and switching between browser tab: the bad thing about multi-tasking is that you have to switch your focus and then bring it back, not the fact that different tasks are performed in different apps.

  40. Dr. Otto Van DerWahl wrote on ::

    Joy of all Joys! My Firefox shall own me!

  41. sander wrote on ::

    Looks interesting. Hopefully they’ll use XMPP transports to provide the additional message sources

  42. Alexei wrote on :

    quick vote to support ICQ and jabber(including google talk)

  43. Nick wrote on :

    a stand alone app would be better

    just my opinion, but with all the extensions i have now, my firefox install is bloated enough and enough of a memory hog

    perhaps a stand alone app that has a cross application plugin for firefox users (i.e. the ability save rss feeds from ff to said stand alone app) would be ideal

    but i like the concept, maybe this can one day replace pidgin for me (not that i am in any hurry ;) )

  44. Toe wrote on :

    Benjamin Smedberg made a post a while back about why he doesn’t like web message boards. Some of the problems he has seem fairly similar to what Snowl is trying to solve. Might give you some food for thought.

    http://benjamin.smedbergs.us/blog/2006-09-05/i-hate-web-fora/

  45. mykmelez wrote on ::

    Hey all,

    If you’re having trouble installing the extension because you get the error “Invalid file hash (possible download corruption)”, it looks like that’s a problem with the addons.mozilla.org web site. The problem has been reported as bug 424339, and a possible workaround is to enable third-party cookies (Preferences > Privacy > Cookies > Accept third-party cookies).

  46. Evan wrote on ::

    Same problem as Ken:

    Firefox could not install the file at

    https://addons.mozilla.org/en-US/firefox/downloads/file/35119/snowl-0.1-fx.xpi

    because: Invalid file hash (possible download corruption)
    -261

    ???

  47. Dan wrote on :

    Loving the logo :-)

  48. Shog9 wrote on ::

    Light-weight threads: msgA isResponseTo msgB
    Obviously useful for mailing lists and discussion forums, but could also make organizing “related” blog posts much less painful, and make sorting through IM conversations… uh… possible.

  49. mykmelez wrote on ::

    question: currently there isn’t any way to organize subscriptions, although I’d like to implement that in the future.

    Karl: excellent point; threads are indeed a fundamental unit of info in online discussions, and it should be much easier to subscribe to individual ones.

    Sylvain: Snowl is highly likely to be less powerful than everything else to date, since this is just an initial prototype!

    However, your point about sharing is well taken. Ideally, I’d like Snowl to make it possible to share content regardless of the protocol used for sharing, i.e. Twitter, email, AIM, etc.

    Re: places, no this is an independent implementation, although it tries to integrate with the places implementation in Firefox (as well as other Firefox features).

  50. Sylvain Rouquette wrote on :

    I currently use gReader + Diigo, and I think it achieves the same thing, but snowl seems to be less powerful.
    Diigo let me share some bookmarks with a group of people, and I can annotate some part of the website I shared, we can talk about it on the website. You can subscribe to the RSS to receive every new added bookmarks.

    In the latest update, gReader allow you to share a news from your RSS feed with a comment.

    I think it’s an important feature to share content with a note (or context) to other people, to point what is interesting and to start a discussion about it.

    Of course we could use email to share bookmarks, but I think it’s easier to share these thing through RSS.

    I don’t know how snowl will evolve, but it could be great if it’s easier to share content with others. Is it the old “places” renamed ?

  51. Karl Fogel wrote on ::

    This is great (right there with ya.

    Just to blue sky at you a bit: some features that are best implemented server-side could be done (albeit somewhat awkwardly) on the client-side too. For example, no mailing list manager out there allows one to subscribe to a thread — you have to subscribe to the whole list or to nothing. And yet many blogs (e.g., blogspot) do effectively allow the user to subscribe to a thread: it’s the “email me when other people comment on this post” option.

    So Snowl could offer users a way to subscribe to just the thread in whatever context the thread is found: mailing list, forum, blog, etc.

    (I’m sort of treating the thread, rather than the message, as the fundamental unit of information here.)

  52. Ken wrote on :

    Getting an Invalid file hash (possible download corruption) – 261 error message.

  53. question wrote on :

    Hello,
    is there a way to organize the subscriptions? Hierarchy, tags, ..?