Ubiquity in Firefox: Round 1
Mozilla Lab’s Ubiquity experiment continues to be a big success, with over two-hundred thousand active users, and millions of downloads. It’s time to start seriously thinking about how to bring Ubiquity-like features to all Firefox users, not just the early adopters.
Before we get into specific designs, let’s start with some overarching design goals to frame potential solutions.
(1) Don’t force new work flows. A large part of perceived software bloat comes from piling on new features without a unified vision — each disjoint, with their own way of doing things, and own way to invoke them. The more we can place time-saving designs in the path of current work flows, the smarter, quicker, and lighter the software feels. Done well, the feature doesn’t even really feel like a feature, just a lending hand: “of course it was supposed to work that way”, says the user.
A corollary, however, is that we can’t block the old work flow by trying to “help”. That would be rude.
(2) It must be localizable. Firefox currently ships in over sixty languages. Porting even the restricted natural-language parser in Ubiquity to all of those 60+ languages is nigh impossible (we’ll be getting some linguist help soon). We’ll need an interface informed by Ubiquity for Firefox, one that’s easier to bring to more languages.
(3) Should feel like Firefox. This is a bit more touchy-feely. The features uplifted from Ubiquity should feel at home in Firefox.
Design 1: Awesome Bar
* Ubiquity actions live in the Awesome Bar and are identified in the identity button
* Commands get a frecency score, just like web pages (already a feature in Ubiquity 0.1.5)
* Commands look like chrome, same color and texture
* Self describing text in the field persists when it has the focus, can be adapted to explain what input a command takes.
* After selecting a command and entering additional text, the autocomplete results area can be used for feedback (as opposed to the current two-pane Ubiquity interface)
In this mockup, the “identity” button, is co-opted to identify the selected action/verb. Visually, this is the clean but there is a problem: How do you get back to the normal URL-going state of the Awesome bar? Presumably you could hit “escape” or “backspace” to go back, or there can be the standard “x” in the URL bar — but is that discoverable enough?
This is similar to the first design, but instead of the verbs moving to the identity button, they live in tokens which get added to the URL bar. This is a wire-frame/schematic illustration by mAlex Faaborg has a lot of details that need to be fill in, but does address the backspace problem. To me, it doesn’t feel quiet right, but I can’t put my finger on why.
An unanswered question in all both of these mockups is how actions/verbs like translate, that take multiple arguments, work.
Design 3: Awesome Bar
Alex Faaborg demonstrates how we can, in addition, include commonly used actions/verbs to the right of the Awesome Bar to help with recognition over recall.
* Reminds you of what commands are available (“Oh yeah, I could use the map command more because I like to map stuff.”)
* Allows you to enter input and then select the command, like type “french revolution” and then click Wikipedia.
* Eventually we can phase out the search bar in favor of this type of interface, since selecting the search engine first with a drop down is clunky.
Design 4: Mouse
An illustration of how we can intercept the selection gesture, enabling a mouse-based Ubiquity.
This is just the first round of brainstorming. The sky is still the limit. We’re really interested in seeing more mockups, and having more people participate in the brainstorming process.
Challange: Create your own mockup of how Ubiquity could look in Firefox and post them here in the comments, on your blogs, or put them on Flickr tagged them with “mozconcept”.