Introducing Weave

As the Web continues to evolve and more of our lives move online, we believe that Web browsers like Firefox can and should do more to broker rich experiences while increasing user control over their data and personal information.

One important area for exploration is the blending of the desktop and the Web through deeper integration of the browser with online services.

We’re now launching a new project within Mozilla Labs to formally explore this integration. This project will be known as Weave and it will focus on finding ways to enhance the Firefox user experience, increase user control over personal information, and provide new opportunities for developers to build innovative online experiences.

Just like Mozilla enables massive innovation by making Firefox open on many levels, we will aim to do the same with Weave by developing an open extensible framework for services integration.

Organizing Principles

We’ve set out some basic organizing principles to help frame the approach that we’re going to explore. We will:

  • provide a basic set of optional Mozilla-hosted online services
  • ensure that it is easy for people to set up their own services with freely available open standards-based tools
  • provide users with the ability to fully control and customize their online experience, including whether and how their data should be shared with their family, their friends, and third-parties
  • respect individual privacy (e.g. client-side encryption by default with the ability to delegate access rights)
  • leverage existing open standards and propose new ones as needed
  • build a extensible architecture like Firefox

Overview of the Idea

  1. browser metadata is pushed into the cloud (e.g. bookmarks, history, customizations, etc.)
  2. this metadata is transparently reflected everywhere an individual gets online
  3. we provide a basic framework for easily sharing and delegating access to this metadata to friends, family and third-parties
  4. we build tools and APIs to extend this framework and to provide new user experiences

Use Cases

We’ve also developed some initial use cases that we’ll be exploring with Weave. To be clear, it’s not Mozilla’s intent to provide robust applications for, say, travel planning. We intend to provide the infrastructure and an consistent model for how a user can open up their browser metadata to friends and third-party applications. These use cases are just examples of the types of things we would like to explore, and have others build applications on top of.

Initial Roadmap

  • basic framework and server-side in place for testing and experimentation
  • authentication with a single online service provider (e.g. labs.mozilla.com)
  • bookmark and history synchronization to the server from multiple clients
  • default encryption of all user data with a placeholder algorithm

Weave 0.2 (Early 2008)

  • initial Web service APIs for developers to build on
  • user controls and ability to delegate (and revoke) access rights to specific bits of browser metadata
  • UI to enable sharing on applicable interfaces

Get Weave

  • Install Weave v0.1 for Firefox 3.0b2pre or greater, Windows/Mac/Linux
    Warning: This is an early prototype. Use at your own risk.

How to Get Involved

We’ll be rolling out prototypes of various components of the framework, gathering feedback and hosting a series of discussions and sessions on the Mozilla Labs site to plan, design, and further develop Weave.

  • Discuss, debate and add to the design in the Weave forum.
  • Join us in #labs on irc.mozilla.org.

Introducing Personas

<br>

Personas for Firefox
Personas for Firefox is a extension that adds lightweight theming to your browser.

Personas is a prototype that builds upon the ideas that:

  • themes today are too hard to find, install and use
  • graphic designers should be able to style the browser without having to code
  • browsers can be more than just desktop software, they can include online components
  • people just want their computer to be a little more fun and personal

This version improves upon a prototype that was discussed and tested earlier this year.

We’ve just started talking about the possible benefits of taking advantage of an online component to deliver a better browser experience. There is certainly more to explore in this regard; Personas is but a simple example.

In this version, the Persona selector is dynamically loaded and populated from a JSON feed and all designs are loaded via URLs to remote resources. All changes to the browser chrome are applied instantly, with no need to restart.

We’ll shortly be releasing an API that will allow developers and designers to submit Personas that are based on Web content, including support for anything that can load in a content window such as HTML, CSS, PNG, JPG, Javascript, SVG and Canvas.

Features

  • You can select a Persona from the dynamic menus and see results instantly without having to discover, select, download or install a separate bit of software or code.
  • Personas can be added, removed or updated by their designers at any time, without requiring a software update.

Get Personas for Firefox

  • Install Now for Firefox 2.0.0.* – 3.0b2pre, Windows/Mac/Linux
    Compatible with the default themes that ship with Firefox

How to Get Involved

Prism Prototype Now Available on Mac and Linux

We’re happy to announce the Prism prototype is now available for Mac and Linux! We’re also releasing an updated version for Windows that resolves some of the issues users have encountered.

Download the Prism prototype for Mac OS X, Linux, and Windows.

Prism now provides a cross-platform way to integrate the web platform with the desktop environment, and developers don’t have to lift a finger to desktop-enable their web applications, while users have the choice to use their favorite web apps in their browser, on their desktop of choice, or in both places.

Incidentally, we’re working on a simple way to open a web application in Prism directly from Firefox (no separate Prism download required), and here are some more ideas folks have suggested to us for improving desktop-web integration:

  • allowing web applications to register to handle particular content types;
  • drag-and-drop support for uploading files to web applications;
  • support for running applications offline (local storage, offline/online event notifications, caching of application components, etc.).

We’d like to see these sorts of features standardized as part of the web platform so they become available to Prism, Firefox and other web-enabled applications. The WHATWG is already standardizing content type handling and offline support in its HTML5 spec, and offline support is already available in Prism and development versions of Firefox 3!

We’d love to hear more ideas for improving Prism and desktop-web integration, so keep the feedback coming! Tell us which web apps you’ve been using in Prism and how it changes the way you use those apps. Report problems you’ve encountered or features you’d like to see in future versions. You can even check out the code and contribute changes!

Introducing Prism

Personal computing is currently in a state of transition. While traditionally users have interacted mostly with desktop applications, more and more of them are using web applications. But the latter often fit awkwardly into the document-centric interface of web browsers. And they are surrounded with controls–like back and forward buttons and a location bar–that have nothing to do with interacting with the application itself.

Transition550

Mozilla Labs is launching a series of experiments to bridge the divide in the user experience between web applications and desktop apps and to explore new usability models as the line between traditional desktop and new web applications continues to blur.

Unlike Adobe AIR and Microsoft Silverlight, we’re not building a proprietary platform to replace the web. We think the web is a powerful and open platform for this sort of innovation, so our goal is to identify and facilitate the development of enhancements that bring the advantages of desktop apps to the web platform.

The first of these experiments is based on Webrunner, which we’ve moved into the Mozilla Labs code repository and renamed to Prism.

Prism

Prismlogo400

Prism is an application that lets users split web applications out of their browser and run them directly on their desktop.

Refracting550

Prism lets users add their favorite web apps to their desktop environment:

Startmenu550

When invoked, these applications run in their own window:

Googlecalendar550

They are accessible with Control-Tab, Command-Tab, and Exposé, just like desktop apps. And users can still access these same applications from any web browser when they are away from their own computers.

The Best of Both Worlds

Prism isn’t a new platform, it’s simply the web platform integrated into the desktop experience. Web developers don’t have to target it separately, because any application that can run in a modern standards-compliant web browser can run in Prism. Prism is built on Firefox, so it supports rich internet technologies like HTML, JavaScript, CSS, and <canvas> and runs on Windows, Mac OS X, and Linux.

And while Prism focuses on how web apps can integrate into the desktop experience, we’re also working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to 3D graphics hardware.

Comparison550

The User Experience

We’re also thinking about how to better integrate Prism with Firefox, enabling one-click “make this a desktop app” functionality that preserves a user’s preferences, saved passwords, cookies, add-ons, and customizations. Ideally you shouldn’t even have to download Prism, it should just be built into your browser.

Prismui

We’re working on an extension for Firefox that provides some of this functionality. For more information about the user experience we hope to achieve in Prism, see Alex Faaborg’s blog post. For some of the technical details and new features found in Prism, see Mark Finkle’s blog post.

Getting Started with Prism

We have an early prototype for this working today on Windows, with work continuing on Mac and Linux (for which we should have builds available soon).

To try out the prototype, download and install it: Download Prism for Windows.

Then start Prism. It will display an Install Web Application dialog.

Prism08500

Enter the URL of the application you want to use in Prism (e.g. mail.google.com), a name for the application (e.g. Gmail), and pick where you’d like to create shortcuts to the application.

Then press the OK button. Prism will create shortcuts to the application in the locations you specified and then start the application.

How to Get Involved

Prism is just the first of many experiments we hope to conduct around improving the usability of web applications. It’s open source, like everything we do, and we’re interested in hearing from and working with anyone interested in further developing this concept.

  • Discuss, debate and add to the design in the forum. Report bugs in Bugzilla.
  • Get the source code, extend it, fix bugs and/or submit patches.

    The project lead for Prism is Mark Finkle and contributors include Cesar Oliveira, Wladimir Palant, Sylvain Pasche, Alex Faaborg, and Myk Melez.

CoScripter

What do you get when you mix one part automation, one part natural language interpretation, two parts programming by demonstration, and three parts online collaboration? If you stir all of these research areas together and toss in some XUL, you get one of the most innovative extensions for Firefox: CoScripter.

CoScripter was created by a research team at IBM led by Allen Cypher, and it allows you to record your actions on the Web, play them back, and share them with others. For instance, one popular script quickly automates the process of adding your phone number to the national do not call registry:

Coscripter

A video demonstrating how CoScripter works is available on IBM’s alphaWorks site. In the video, they automate the process of searching for houses in Palo Alto. Instead of bookmarking individual static pages on the Web, this is like bookmarking a series of actions, with online sharing and tagging built in.

In addition to being really useful, CoScripter is also very interesting from a research perspective. One of the most innovative aspects of CoScripter is that actions are represented as human readable and editable text. In their CHI 2007 paper they put CoScripter into the context of previous Firefox extensions:

Greasemonkey [1] enables users to make client-side modifications to the appearance and behavior of web pages on their computer. However, creating a Greasemonkey script requires detailed knowledge of JavaScript programming to alter the DOM of the web page.

Chickenfoot [2] eases client-side customization by providing a higher-level API for accessing and manipulating common web page elements, using information in the rendered DOM. For example, the Chickenfoot instruction click(‘search button’) will click a button with the text “search” on it. However, the Chickenfoot interface is still very much a programming interface, in which users write syntactically correct statements in the Chickenfoot programming language.

Unlike Greasemonkey and Chickenfoot, CoScripter does not require users to know how to program. CoScripter expresses commands in natural language, as opposed to a formal scripting syntax. This means that you can literally edit the textual instructions and play the script again, or even drop in instructions written by hand and see if CoScripter is able to execute them. Because CoScripter’s interpreter is extremely flexible, this actually works surprisingly well. They call this approach Sloppy Programming:

…Koala [former name] leverages the sloppy programming approach in the web domain by taking advantage of the fact that most web commands are flat: there is one verb, and one or two arguments. This assumption dramatically simplifies the algorithm, and makes it more robust to extraneous words. It can handle long expressions originally intended for humans.

Some of the code that drives CoScripter is also interesting from an accessibility perspective. Imagine commanding your browser using only your voice, or tabbing through form fields on a Web page and having a screen reader accurately tell you what each element is by analyzing the surrounding text. Since the CoScripter team plans to open source their code, Mozilla’s accessibility team will be looking into leveraging their work.

In the future CoScripter might also impact how we test Firefox. Ray Kiddy recently wrote a post proposing that we allow beta testers to attach a log of their actions to a bug report, instead of having to manually write a list of steps explaining how to recreate the issue. Ray notes that in addition to helping our testers quickly communicate the steps to recreate a bug, these scripts could also eventually be used for automated testing.

Quick note about phishing: since scripts are shared between users, be careful what you run. Hopefully the social nature of CoScripter will result in the community quickly flagging and removing any malicious scripts that get submitted.

To everyone at IBM that worked on building CoScripter, congratulations on setting a new bar for the state of the art in Web browser automation.

Better animations in Firefox 3

One of the cool new features coming in Firefox 3 is support for a new animated image format. Browsers have supported animated GIFs for more than a decade, but the GIF image format has a number of limitations and is overdue for replacement. The PNG image format is now widely accepted as a superior replacement for static GIF images, but for animated GIFs there has not yet been a clear successor. The new Animated PNG format (APNG) is a simple extension to PNG, making it superior for animations too.

The problem

So, what’s wrong with GIFs? The two most apparent problems are that GIF images can only contain 256 colors, and lack support for partially-transparent pixels. This results in images which often look grainy or rough, and which do not smoothly blend into their background. A clever designer can somewhat mitigate these problems, but the tricks used don’t always work well in different situations — especially if the image is animated. Let’s look at an example of this problem…

Example: the Firefox “throbber”

In Firefox 2, the animation used to indicate that a page is still loading (affectionately known as a “throbber“) is an animated GIF. Here’s the actual image used on OS X, placed against some different backgrounds:

.demoimg1 { padding: 1em; background-color: #404040;} .demoimg2 { padding: 1em; background-color: #ebebeb;} .demoimg3 { padding: 1em; background-color: #40ff40;} .demoimg4 { padding: 1em; background-color: #dd0041;} .demoimg5 { padding: 1em; background-image: url(http://people.mozilla.com/~dolske/apng/checker.png);}

You can see that when used on a light gray background (OS X’s default color), the throbber looks just fine. But against any other background, it looks terrible. Why? To antialias the image, in order to make it look smooth, pixels must be blended to a fixed color (the expected background). If partial transparency was supported, the antialiased pixels could be made appropriately transparent, and the animation would look fine against any background.

Here’s the throbber, now rendered as an APNG: [If you’re viewing this page with Gran Paradiso, the development version of Firefox 3, you’ll see the images below as they, uhh, throb. If you’re not, you should just see the static first frame — APNG is backwards compatible with existing PNG viewers.]

The APNG version clearly looks better against different backgrounds. And that’s useful to have in practice, as it allows Firefox themes and extensions (like Chromatabs 🙂 to change the browser’s chrome while reusing the existing throbber, and not end up with an ugly mess.

A chicken and egg…

A spiffy new animation format is nice, but without an authoring tool no one will use it. But who’s going build such a tool before anyone is using the format? Chicken, meet egg.

Luckily, here at Mozilla Labs we have the technology to build both the chicken and the egg! The Mozilla platform can encode as well as decode APNG images, runs on multiple platforms, and has familiar environment for dealing with UI/scripting/graphics. So, yadda yadda, I wrote a Firefox extension to make creating APNGs easy. It’s called “APNG Edit.” Not the most creative name, but it’ll do. Here’s what it looks like:

My goal was to create a simple editor; the primary workflow being to load up a series of images (one for each frame), adjust the various settings for each frame, and then encode and save the finished animation as an APNG file.

The red dinosaur head shown in the screenshot above is “Chompy,” who serves as an amusing interstitial while Bugzilla processes a user’s search query. Chompy looks a little rough as an animated GIF; problems similar to the GIF throbber above are visible, and it also shows some dithering artifacts.

I obtained the individual frames as PNGs from Klowner, the Mozilla community member who originally rendered Chompy, and was able to quickly load them into APNG Edit and save the resulting animation. Here’s Chompy as a high-quality APNG:

…with a side of bacon

Oh, and “one more thing”!

I quickly realized that while a simple editor to assemble frames was a good first step, a Mozilla-based editor could be a lot more powerful with some minimal effort. Why not take advantage of Javascript and <canvas>, so that animations can be dynamically created and modified? Instead of drawing each frame in Photoshop or Gimp (over and over, as you fine-tune how you want the animation to look), it’s far easier to script the drawing tools provided by <canvas> so that the animation can be generated automatically with the parameters you specify.

For example, to make the OS X throbber, I wrote a script to draw lines with the appropriate shape, color, and rotation for each frame. I was curious what a larger version might look like, so I basically just changed the X and Y size specified in my script, and ran it again:

Here’s an existing <canvas> demo, which I easily converted into a script for generating an APNG:

The first version of the clock animation resulted in a rather large file (about 450K) because each frame was a complete rendering. I wrote another script to optimize each frame by only encoding interframe differences, which knocked the size down to 79K. I could also make easy adjustments to the dimensions or frame count, by simply adjusting the script parameters and re-rendering the animation .

Try it, extend it

Try out the editor for yourself. You’ll need:

There are still some rough spots in the editor which need improved, and there are a lot of interesting possibilities for new features. Unfortunately I anticipate most of my time will be spent working on Firefox 3; however I would welcome patches and scripts from anyone interested. Here’s some ideas for future directions:

  • Add the ability to edit frames in an existing APNG or animated GIF (needs changes to imgIDecoder)
  • Reorder frames by drag’n’drop
  • Save APNGs as color mapped 8-, 4-, or 2-bit images (for decreased file size)
  • Scripts to perform more kinds of frame manipulations.
  • Sandboxing of scripts to prevent malicious code
  • Cropping frames
  • Scaling frames
  • Animated text with the new <canvas> drawString() API
  • SVG-based frame rendering
  • Gratuitous spinning logo

    Joey Tutorial Video

    We introduced the Joey Project back in May. Project Joey brings the Web content you need most to your mobile phone by allowing you to easily send it to your device. Here is a sneak peak at how to get started using Joey today.

    Project Joey, Customize Your Mobile Web Experience – Tutorial from AirMozilla and Vimeo.

    We are looking for your feedback. Please send us your thoughts and opinions by joining the conversation on the Joey forum.

    The Graphical Keyboard User Interface

    WIMPy and the Terminal

    Wimpy

    Terminal

    The history of user interfaces can be very briefly summarized into two distinct eras: the command line, followed by the graphical user interface. Interactions on the command line are very fast, but the set of possible commands is not discoverable. GUIs are essentially the opposite, on both issues. Interactions with graphical user interfaces are slower, but possible commands are given visual affordances, and icons attempt to convey possible commands through metaphors.

    The GUI is largely considered superior to command line interfaces that predated it, but that isn’t entirely true. For instance, while I was in college a majority of students preferred Pine (screenshot) over graphical email clients like Outlook. A group of students in a human computer interaction class I was in did an in-depth analysis of the usability of each application. They found that across a wide variety of metrics, like simplicity, system response time, and (most critically) overall time on task, Pine knocked Outlook’s toolbar-customizing-dialog-poping-drag-and-drop socks off.

    Tradeoffs

    Instead of trying to conclude which is superior, a GUI or a keyboard-based interface, it is important to note the specific tradeoffs each interface currently makes in terms of the bandwidth of output, and bandwidth of input.

    Modern graphical user interfaces are clearly higher bandwidth than text-based command line interfaces in terms of output, but consider the bandwidth of input:

    Standard GUIs, with their drop down menus, check buttons, and tree-lists just cannot compare to the range of options that a text interface gives effortlessly. In just five alphanumeric characters, you can choose one out of 100,000,000 possible sequences. And choosing any one sequence is just as fast as any other sequence (typing five characters takes roughly 1 second). I challenge you to come up with a non text-based interface that can do as well. (Command Line for the Common Man: The Command Line Comeback)

    Tradeoffs

    Graphical user interfaces often provide keyboard shortcuts to serve as accelerators. But these keyboard shortcuts are not interfaces in themselves, but simply serve as hooks into various parts of the GUI. For instance, consider control-D in Firefox, it simply pops up the bookmark creation dialog box, and suddenly the user has to go back to using the mouse (or awkward tabbing) in order to complete their task.

    The Best of Both Worlds

    Over the last six months, I’ve been thinking a lot about the work of two designers: Nicholas Jitkoff (Blacktree, creators of Quicksilver) and Aza Raskin (Humanized, creators of Enso). Both have designed user interfaces that exist in the riven between command line interfaces and graphical user interfaces. And both of these applications are a joy to use.

    Quicksilver

    Unfortunately these types of hybrid keyboard/GUI user interfaces have gone largely unexplored by interaction designers. Aside from feed and label navigation in Google Reader, I don’t know of too many other applications that are currently leveraging these types of incredibly streamlined graphical interfaces, designed solely for keyboard input.

    How Firefox Could Potentially Leverage Graphical Keyboard User Interfaces

    Here are some ideas I’ve had about how several different Firefox features could be designed using a graphical keyboard user interface. Please note that these are all only conceptual mockups, and we currently have no official plans to implement these features for Firefox 3 (although, we may at some point release a prototype extension through Mozilla Labs). If you are an extension developer and are interested in contributing to a project like this, please email me or leave a note in the comments.

    All of these mockups show interfaces that are entirely keyboard driven. A keyboard shortcut launches the UI, and the UI is later dismissed by either selecting an item using the arrow keys and hitting enter, or by hitting escape. These interfaces are all modal, and when invoked they occupy large amounts of space on the screen.

    For each of these mockups you can click through for a larger version.

    Searching the Web (control+k, or alt-alt)

    Of all of these mockups, I think keyboard-based Web search would be the most useful. This mockup also features some favicon upscaling code I wrote for another Mozilla Labs project.

    I1Kuiwebsearch

    In addition to Web search, the “Bookmarks and History” search will likely be more efficient than the current WIMPy ways of accessing bookmarks in Firefox:

    The move back to language started with web search engines in general, with Google placing the capstone when its name became the house-hold verb for “typing to find what you want”. In fact, Googling is almost always faster then wading through my bookmark menu (which says there is something wrong with using menus as a mechanism for accessing bookmarks). (Command Line for the Common Man: The Command Line Comeback)

    Switching Tabs (control+tab)

    I1Kuitabswitching

    Navigating Recent History

    I1Kuirecenthistory

    Tagging Pages

    I1Kuitagging

    Acting on Microformatted Content

    I1Kuimicroformatdetection

    Conclusion

    -Just because the command line predated the graphical user interface doesn’t mean interfaces based on windows, icons, menus and pointers are always superior to interfaces based around using the keyboard for input.

    -Designing interfaces based solely around the mouse and standard GUI widgets, and adding keyboard accelerators as an afterthought, does not always result in creating the most effective and streamlined user interfaces for advanced users.

    -Interaction designers should consider designing keyboard-based graphical user interfaces, to simultaneously take advantage of both high bandwidth input, and high bandwidth output.

    Introducing Joey

    What is Joey?

    When you browse the Web, there is a great deal of important content that becomes inaccessible as soon as you walk away from your personal computer. Whether it’s the driving directions that you looked up or your favorite sports teams’ latest scores, you lose access to that information as soon as you turn off your computer.

    Mobile browsing is intended to solve this problem: just use the browser on your phone to access the content you need. However, as we all know, this isn’t the greatest experience; there is too much data to download, the data is hard to reach, the content isn’t formatted for the phone. Quickly retrieving specific pieces of information using a mobile device needs to be easier.

    Project Joey brings the Web content you need most to your mobile phone by allowing you to easily send it to your device. You can quickly mark content that is important to you and have that content always available while using your mobile phone.

    The premise is this: you can use Firefox to send text clippings, pictures, videos, RSS content, and Live Bookmarks to your phone through the Joey Server. The Joey Server transcodes and keeps all of the content up-to-date. You can then use your phone’s browser or the Joey application on your phone to view and manage what you have uploaded.

    The goal is to investigate the mobile space using a desktop-centric model. Like many other Mozilla projects, there are no plans to productize Joey. We will work with the community to build a compelling and usable tool that people will enjoy using.

    Although we are in the early stages of development, much of Joey is usable today. Feel free to go to joey.labs.mozilla.com using Firefox, create an account, and give Joey a try. The Joey application for mobile devices isn’t complete yet, but in the meantime you can access information on the Joey server from your mobile device using any type of mobile browser.

    Developer Information

    Want to help out? Great! You can start by reading the documents below, checking out the code, and looking over our to-do list. If you’re developing, please get on IRC and join #joey.

    View the source code

    Important Documents

    Communication Protocol
    Database Design

    Discuss Joey

    In addition to commenting below, you can also discuss joey on the labs forums.

    Keep track of your friends with The Coop

    Just a few years ago, one of the most popular uses of the internet was to send jokes, cute pictures, and news stories to friends and family (social networks) via email. Fast forward to today, and you’ll find that not a lot has changed except the medium. Now one of the most common uses of instant messenger services and social networking sites is to send people links to jokes, cute pictures and interesting news stories.

    This behavior isn’t at all surprising – it’s friends sharing experiences, the very backbone of social interactions and friendships. It’s also unsurprising that most “Web 2.0” services have a feature that makes it easy for you to build a social network so that you can share things more easily, or subscribe to a friend’s activity as a way of keeping in touch.

    What is surprising, however, is how little of this type of functionality has made it into today’s web browsers. The result is that when people think of tools for social interaction, email and instant messenger are at the top of their list, not web browsers.

    Bcawck!

    Enter “The Coop”, a Mozilla Labs project to experiment with adding social tools to the web browser. We want to create a fun and easy way to share links with your friends, and to browse the set of links that friends have shared with you. We also want to make it easy to “subscribe” to a friend in order to make it easy to keep track of the pictures, movies, blog posts and status information that they might be posting on a variety of services. There’s a project page that describes The Coop in a bit more detail, and also has some mockups of how it might look (my favorite is the idea for a view that shows a stream of recently shared material.)

    Myk Melez has also made an initial prototype available. (Note that you’ll have to allow add-ons to be installed from labs.mozilla.com in order to install The Coop.) This first build uses Facebook’s “Share” feature as the data transport layer for now, and allows you to share web content by dragging it onto your friend’s picture. As the project page indicates, we’re thinking of several different data transport mechanisms, as well as how we want to expose various interactions. This prototype really helps to get a feeling of what The Coop might become over time.

    Telling Vlad about the Tubes!

    If you’re interested in an easier way to share your cool online experiences with your friends, we encourage you to check out the project page and the prototype (one cool feature of the new AMO sandbox is that you can browse the code), and then come join us in the forums and help us iterate on the design and code.

    Update! We have made The Coop available at a new location here and have updated the original link above. Note that you will have to allow add-ons to be installed from labs.mozilla.com in order to install this prototype.