Mozilla Labs: F1

Today we’re happy to announce the Mozilla Labs F1 service, an experiment that’s designed to test our premise that sharing on the web should be easy, safe and fast.

So many buttons just to share!

Have you noticed how more and more pages on the web have 3, 6, or sometimes 12 little icons on a page encouraging you to share the link to that page with your friends? Why is that? Publishers want to make it easy for their readers to spread the word about their content, and readers often do want to pass the word about something important or silly. Still, the current model is not nearly as awesome as it could be:

First, publishers don’t know which sharing system you like to use. Maybe you’re a Facebook wall-writer. Maybe you tweet everything. Maybe you prefer private emails. Maybe you use some sharing service that that publisher has never heard of! There’s no good way for the publishers to know, so they either pick a few, or pick a lot (leading to pages that are covered in bright little buttons), leading to web pages that are cluttered, ugly, but also not very usable.

Second, when you use a sharing service, you often don’t know who has access to what data, and what they’ll use it for.

Is it safe to use their “email a link” service? Are those email addresses sold to third parties? Who knows?

Finally, the interactions are confusing. Today, users who want to share a page have to figure out where on the page the sharing buttons are, and which one is the one they use. Worse, for those pages which don’t have an appropriate sharing link, they have to navigate to the URL bar, select it all, copy it, and then go to their sharing service, and paste it. That’s a lot of error-prone steps, and we think it should be much, much easier.

Sharing that’s easy and clutter free

As you can see in video below, to use F1, install the F1 add-on which adds a button to your Firefox toolbar. Specify which accounts you want to use for sharing, and from then on, sharing is as easy as clicking the toolbar button, picking how you want to share that link, adding a message and hitting Share. It’s addictively easy.

Mozilla Labs F1 from Mozilla Messaging on Vimeo.

To try it out, go to the Mozilla F1 home page and follow the instructions there.

The technical story behind the supported services

As a first cut, we implemented support for Facebook, Twitter, and email via GMail. We picked those because they’re popular, have good API support for authorization using OAuth, and in the case of GMail, provide APIs to contacts, which makes for a good auto-complete experience.

We built prototype support for Yahoo’s email service, but found that they require an additional CAPTCHA authentication during send, which makes sharing harder and slower. If this extra step were avoidable we would consider adding Yahoo back into the list of supported services.

We also want to support generic email, but that will require setting up more email infrastructure than we wanted to take on at this stage, such as requiring email validation, ensuring that we’re well armed in the fight against spammers, etc.

The long-term story, however, is that the system should know which sharing service you use, and offer to use those! That will require sharing services to advertise to the browser that they offer a sharing API and the browser to see which services you use. Furthermore, sharing is not a standardized activity, so some protocol is likely needed for user agents to offer users the service they want without having to know about all of them.

As with all Labs project, this add-on is made available to people who want to help us shape future products. We’ll collect information about the sharing events, and do statistical queries on that data, as described in the privacy policy. We’ve already found that our first test users had very different patterns than our own, and are keen to find out what a broader set of users do with it!

Experimental support for publishers

For publishers who want to experiment with this feature, the add-on adds an experimental new API call to the navigator object (navigator.mozilla.labs.share()), which if evolves into a standard, could lead to less cluttered web pages. See the wiki for details.


We’re keen to hear your thoughts on this new service — add a comment to this post, throw in your suggestions or votes. We’re particularly interested in things we can do to make the service more usable & useful, and of course to hear about bugs. Developers interested in discussing the navigator.mozilla.labs.share() api and possible standardization efforts in this area should join the mailing list.

Source Code

The code for both the add-on and the service is open source and we’d love you to fork it and send us your requests for changes.