Experimenting with Social Features in Firefox

We’ve been thinking about how to make Firefox more social for some time.  We started by making it easy to share URLs with the F1 add-on, which has evolved into a planned Firefox feature called Firefox Share.   However, social activities go well beyond sharing, and include contact lists, status updates, chat interfaces, and notifications.  Today you go to a social site to carry these out, but if they were available from inside your browser, you could also access them while you were browsing without having to switch contexts.

We have some ideas on how to do this, and have sketched out a Social API that enumerates the touch points between a social provider and the browser.  This API uses your existing accounts and cookies in the same way as normal web pages, so your privacy settings will not change.  The API proposal allows you to:

  • configure which social service provider(s) you want to integrate with your browser
  • easily switch which service provider(s) should be active at any time
  • see which of your contacts are online and available for a chat (and start or join chats)
  • share and read updates
  • recommend, or express support, for things that you discover on the Web
  • manage and receive notifications about activities coming from the service (friend requests, chat requests, etc.)

We are not sure how these features should be visually exposed, but we have some ideas, which we will share in subsequent posts.  We believe notifications should be available and visible at all times, so they should appear somewhere in the chrome.  All the other elements (social feeds, friend status, and chat windows) should be easily visible and also easily hidden; perhaps as a sidebar and/or pop-out windows.

If you would like to participate, you can find us at #socialdev on irc.mozilla.org, or bring your questions and ideas to the new mozilla-labs-social discussion group.

– Mike Hanson

Watchdog: Visualize how old your passwords are

Today we’re releasing a quick followup to our last Watchdog experiment. The goal of Watchdog is to make it easier for you to make wise decisions about your privacy and security. However, even if you’ve taken care to avoid password reuse, we often forget to regularly change our passwords. Just as with password reuse, there currently doesn’t exist a good way to see which of your Firefox passwords need to be replaced. Enter the Password Age Visualizer.

Once again, data visualization makes it a lot easier to see where to start.

On my blog, I wrote:

“This is a bullet graph. You can think of it as a series of timelines. On the left, you can see a visual hash for each of your passwords. Each bar shows how many days it’s been since you first used that password.

Once a password has been used for over 200 days, its bar turns red. Every time I’ve used that password on a new site, a black tick marker appears on the timeline. Looks like my oldest passwords are my most frequently used. Uh-oh.”

I think information about how old your passwords are, coupled with data about which ones are being reused, makes it a lot easier to see which passwords need to be changed.

Check out the full writeup on my blog, and if you’re really interested, take a look at the code.


The Mozilla Marketplace for Open Web Apps

If you’ve been keeping up with the news from Mobile World Congress, you already know that the Mozilla Labs Apps project has graduated from experiment to platform! The Marketplace is now open for developer app submissions. Developers can secure app names and establish a place in the Marketplace in preparation for the consumer launch later this year.

Bamm.tv, which just announced its partnership with Mozilla, put it this way:

“…tech pioneers Mozilla are… unveiling something genuinely new for their company. The Mozilla Marketplace has a unique twist: an HTML 5 app can be released on any internet-connected platform with zero need for re-coding or re-development.

This is all part of Mozilla’s quest to build a better internet, along with their dedication to keeping it free, open and accessible to all. It will make for a revolutionary multi-platform experience. So, expect an upcoming whirlwind of awesome, innovative new apps…”

Read the full announcement from our friends at Bamm.tv here.

Read more about today’s developer launch over on the Hacks blog, where Joe Stagner (@misfitgeek) shares details.

Watchdog: Visualize your password reuse

Today, we’re releasing another neat little add-on as part of the Watchdog initiative here at Mozilla Labs. Watchdog aims to help you make wise decisions about your privacy. Unfortunately, if you’re like many users, it can be hard to see exactly where you are most vulnerable when you have dozens (maybe hundreds) of accounts linked to several different passwords.

On the original blog post, I wrote:

“You can look at this and pretty quickly figure out where you should start changing your passwords first, and which passwords you should stop reusing. As you change your passwords and update your Firefox password manager, the picture will improve!”

This new add-on, Password Reuse Visualizer, renders a visualization of the different passwords you use, the different sites you visit and the links between them. This way, you can quickly see which passwords you’re overusing and need to change. Hat-tip to Collusion, another interesting Firefox add-on with roots in Mozilla Labs, for inspiring some of my thinking about how to visualize password relationships.

Check out my detailed writeup (with more screenshots!), and as always, we’d love for you to take a look at the source code.

Pancake: A new project from Mozilla Labs

What is Pancake?

Pancake is a new Mozilla Labs project focused on exploring, evolving and expanding how we search, browse, navigate, organize and discover amazing things on the Web. To do this, we’re creating an app — a usable prototype that we’ll share and iterate on rapidly through an ongoing series of experiments. We want to better understand what people do on the Web, why and how they do those things, and how we can make those things easier and more efficient.

We’re playing with some huge concepts, monumental problems and occasionally crazy ideas. We’ll be looking at what tools and systems we can create to put more of the Web at users’ fingertips. We hope to devise new metaphors and new systems that give users greater power and control within the modern Web.

We want to address questions that go to the core of how users experience the Web. Some examples of the questions we are asking include: How can we make it easier for people to find what they’re really looking for on the Web? Do URLs still need to be something users care about? Can we make it easier for people to discover new and interesting things on the Web? What impact does social play in discovery on the Web?

The prototype app we are building is really only the surface of Pancake. We’re also pushing the envelope — using the latest and greatest Web technologies — to build an amazing, portable experience for users. The back-end of Pancake will live in the cloud, where we’re creating an extensive Web service that will allow you to carry your data and experience across many devices. Our initial focus is on iOS and Android tablets and phones, but our long-term goal is to help people live their online lives on their own terms, across all devices and platforms.

The project will operate as a typical open-source project — allowing open collaboration so everyone can test our ideas, give us feedback, conduct usability testing, and with us to discover new avenues of experimentation and exploration. We are working hard to release our first prototype in the next few months.

Why are we doing this?

The Web is vast and continues to grow at an unprecedented rate. More people and organizations get online to use and contribute to the Web every day. And the Web is unbelievably powerful — it is changing our media, our politics, our social systems, our education, our communications… our everything. The Web is changing the world, and it is changing with the world.

But there is a problem. Our tools for viewing, understanding and using this increasingly vast and powerful Web haven’t been keeping pace. Our core methods for searching, browsing, navigating, organizing, and discovering things on the Web are not significantly more advanced than they were a decade ago.

On top of this, the Web has evolved well past its origins as a way to publish and consume static information — the modern Web includes socializing, sharing, playing, creating, collaborating and other real world activities that it was never really designed to support. As a result, the modern Web is less useful and usable than it could be, and it is hard to make use of its full potential.

This is where Pancake comes in.

How can you get involved?

If you would like to get involved or talk with us about the project, please visit our Wiki.

Mozilla and Node.js at Node Summit, San Francisco

On January 24-25, Brendan Eich and Mark Mayo will be part of Node Summit, a two-day conference at San Francisco’s Mission Bay Conference Center that brings together business and technology leaders to discuss the challenges and benefits of Node.js.

Day 1 speakers and panelists will focus on challenges and implementations of the platform in a variety of real-world environments, while Day 2 includes the NodeJam Demo Hall, with pitches from an innovative group of startups, showcasing how these companies are applying and advancing the technology.

On January 24 at 1:45pm, Mark Mayo, from Mozilla Labs, joins engineers from Yahoo!, Google, and i.TV, to discuss how Node.js allows them to provide real-time connectivity at humongous scale. Mark recently helped deploy and tune BrowserID, a node.js web application, to a new 250-core production environment.

On January 25 at 9:40 am, Joyent’s Ryan Dahl, inventor of Node.js; Mozilla CTO and Javascript inventor Brendan Eich; Jonathan Gay, inventor of Flash; and other luminaries (to be announced) will discuss “The Evolution of Javascript,” moderated by Microsoft’s Eric Meijer.

This is one not to be missed conference. Register now.

Node.js boxing gloves

Photo credit: Node.js KO Boxing Gloves by superfluity.

WebGL Camp 4 Revisited

It’s been over a week since WebGL Camp 4 took place at our Mountain View offices, in the quintessentially Mozillian common space called Ten Forward. The day-long event, organized by the Katalabs’ Henrik Bennetsen, brought together more than 70 technologists and innovators, while others participated via the live #airmozilla stream, which also included presentations via Skype from Paul Lewis in the UK, on a3, a simple 3D engine; and Bartek Drozdz, who lives and works in Los Angeles, on J3d .

Presenters included academics doing surgical simulation research, entrepreneurs building custom robot toys using WebGL, technologists working on DoD contracts for complex simulation environments, new 3D libraries and engines, a couple of young developers who build a Kinect/Audio/WebGL mashup using Cubic.VR, and WebGL offerings and enhancements from the Google, Autodesk and others.

Many of the presentation slides have already been posted to the agenda: these include Brandon Jones, on optimizing texture performance; Lockheed Martin’s David Smith, on the Department of Defense’s virtual world framework; and Mozilla intern Douglas Sherk on Context Loss: The Forgotten Scripts. Nicolas Garcia Belmonte posted a thoughtful recap that covered “stuff I learnt about state-of-the-art WebGL, and the incredible community that we have here in the Bay Area around this technology.” Videos from the event will be posted in early 2012 for archival viewing.

WebGL was practically invented at Mozilla and the creative energy and friendly, collaborative spirit of the WebGL community felt right at home with the quirky and inventive Mozillian ethos.

As Henrik points out in a video soundbyte, making amazing 3D graphics as easy to create as “view source” has got to be good for humanity, right?

After seeing the WebGL nyan cat meme in action, we have to agree.

Evolution of the App manifest: Where we’re headed

There’s been some discussion among standards watchers and others about our decision to design an App manifest for the Mozilla Labs App Project, which launched as a developer preview last week, rather than go with one or another existing App format.

The engineers who work on the Apps Project architecture have looked closely at existing formats and continue to engage in ongoing conversations with other app platform providers. In the past, in relevant forums and bugs, we’ve articulated some of our concerns around the existing specs, especially with regard to handling offline apps.

We recognize that many differences between the Mozilla and Chrome app manifest formats are largely cosmetic. We agree on the fundamentals. We’re continuing a conversation with Chromium engineers that we expect will bring us closer together in the months ahead.

It is also important to remember that Apps began as an experiment within Mozilla Labs, so we did what was fastest to get us out the gate. We started with a simple, extensible format – and that’s exactly where we are today. The apps preview for developers is a malleable offering. We believe the Apps project will be most successful if we can get all browser vendors to agree on both the APIs and the manifest format.

We will continue to have these conversations and hope to resolve the issues in order to converge on a standard. None of our current decisions are etched in stone. We value your feedback, so please keep it coming. We promise to continue to listen and respond.

Ragavan, on behalf of the Mozilla Labs Apps team

Watchdog: Helping Users Manage Passwords and Privacy

Mozilla is one of few organizations that is truly user-centric. Our principles include these important statements:

Individuals’ security on the Internet is fundamental and cannot be treated as optional.


Individuals must have the ability to shape their own experiences on the Internet.

When it comes to managing your passwords and privacy preferences, we think there’s an opportunity to do much better than the current state of the Web. That’s why we’re starting the Watchdog Project, a set of experiments to help users manage their online identity and privacy on existing web sites. Watchdog is a research project within Mozilla Identity which is meant to complement existing products like BrowserID.

With Watchdog, we are looking for ways to proactively nudge the user to make better, more informed password and privacy decisions. We want users to know if they’ve reused a password too often. We want to make it easier for users to select the privacy preferences that match their needs. We want to automate as much of this as possible. When you’re browsing with Watchdog, you should feel safer because you are safer: you’ve got a watchdog.

The main developer working on Watchdog is Paul Sawaya, who interned at Mozilla this past summer and continues to work with us this year for his final project at Hampshire College. We’re excited to have him leading the charge.

photo of a watchdog

Watchdog will be structured as a series of independent add-ons, developed for Firefox and, in some instances, for other modern browsers too. The first add-on is Watchdog Visual Hashing for Firefox or Chrome. Paul has a detailed description on his blog:

“With that in mind, my first step to a smarter password manager was to experiment with visual password hashing. As a feature, it’s almost entirely unobtrusive–and worth an explanation, in case you haven’t seen it before. Visual hashing allows your computer to display something about the password you’ve entered without actually showing your password on the screen. The idea is to map the set of all possible passwords to a (smaller) set of visual cues. For now, I’m using four colors.”

Try it out for Firefox or Chrome, check out the source code, and please send us feedback.

Photo credit: watchdog by aye_shamus