Mozilla Labs Ubiquity Is A Firefox Killer Application!

By | 02.08.2019

adobe photoshop elements 8
Adobe Acrobat Pro DC
September 26, – 18 comments Amos mailed me today and told me about a new Mozilla Labs prototype Ubiquity which he called phenomenal. I was skeptical at first but after a quick trial I’m convinced that this can be the killer app for Firefox. Yes, that may be hard to believe but this prototype introduces a whole new level of interaction with the browser. Natural interaction that is, something that integrates itself perfectly in your work routine. Ubiquity Ubiquity is a Firefox prototype add-on that is similar to Launchy but runs in the browser exclusively.
Mozilla Labs Ubiquity Is A Firefox Killer Application!

Firefox advertisement killer

What did we learn from a solid year of working on Ubiquity? Here goes. This crazy thing can work. A command line for the web? Why would anybody want that? Ubiquity at one point had around half a million active users according to daily server pings. This is amazing for an experiment-quality, proof-of-concept software that presents what is for most people a radically unfamiliar interface. Even in its incomplete, not-ready-for-prime-time state, Ubiquity was clearly providing something that large numbers of people found useful.

We proved that it is possible to square the circle: And we proved that this interface can be part of a new way of using the Web: Both the linguistic interface and the task-centric browsing model are compelling areas for future exploration. I still hear from people who tell me that Ubiquity is the only reason they use Firefox. There is an unanswered need out there, both for verb-centric Web use and for fast, smart, auto-completed language-based interfaces.

This crazy thing can be localized. Difficulty of localization is sometimes raised as an objection to doing language-based interfaces. We proved that this difficulty can be overcome. Ubiquity is still to my knowledge the only attempt at an internationalized pseudo-natural-language input system, the first natural language or command-line interface to offer options besides the English-based default.

When we revisit Ubiquity, we need to get some native speakers to eat the dogfood in various languages and report back to us on how natural or unnatural it feels. Localized Ubiquity needs to be something practical and useful for users in the target locale, not just an academic linguistics exercise. What, it just downloads remote Javascript and runs it with full privileges? But it turned out to have many advantages. Unlike extensions, Ubiquity commands let you add features to the browser without having to restart.

You can make changes to your code, test them, and deploy them to users without anyone ever having to restart the browser. Additionally, the simpler command-centric, Javascript-and-HTML-based API was able to expose most of the powerful features in the Mozilla platform without most of the complexity involved in learning that platform. All these things put together are a big win for developers: The idea of the Ubiquity command subscription model was spun off into its own project: Or a Jetpack feature.

Ubiquity command sets can simply be specializedtypes of Jetpack features. Super Mario Bros. Lack of monotony complicates an interface, as well as taxing your brain by making you decide which method to use each time you use it. A radical redesign of the Ubiquity interface would be to have, not a hotkey-driven overlay, but a permanent, always-visible box into which you type commands.

There could still be a hotkey to focus input to this box, so using it would be just as fast. Once you start going down that road, of course, you have to realize that Firefox already has such a permanent box: An even more radical redesign would be to take away all the interface elements that do the same thing as Ubiquity commands. Remove everything redundant, so the Ubiquity interface is the only way to do things.

More screen space could be given to content instead of chrome, and the interface would be closer to monotonous. Ubiquity could then replace, or rather subsume, the current URL bar. Nountypes are very powerful… but hard to get people to use well When we began Ubiquity, it had no comment of nountypes, nor did command have well-defined argument lists.

Some commands grabbed the selection themselves; some pulled information from other sources; some had optional command line arguments which they parsed themselves. It was very ad-hoc, which led to lots of duplicated effort and inconsistent behavior.

Standardizing onto a system of arguments with defined types was a big win. Letting the parser handle assignment of arguments meant less work for command development. Recognizing potential types of a data input helps us generate better suggestions. And encoding knowledge e. The upside is that our most recent version of the API gives commands a lot of power with very little complexity.

The downside is that we had to go through what felt like dozens of iterations of the API probably really more like 4 in order to get to this point.

Despite their crucial role in the system, nountypes were mostly invisible to Ubiquity users. This was a chronic problem, because it meant that many command developers remained unaware of functionality available in nountypes, and continued to re-invent the wheel themselves.

This also made it hard to focus volunteer developer attention on improving the nountypes, many of which languished in partial completion for long periods of time. I think all these problems can be solved with better communication about the role and importance of noun types. There is much potential benefit there still waiting to be realized.

Naming standards are important… and hard to impose once people get used to just naming their commands whatever. Technical limitations in the early versions of Ubiquity limited what names could be used, making the problem worse. We made some progress toward cleaning up the anarchy in the Ubiquity command namespace but there remains more to be done.

Allowing spaces in command names was a big win, as was allowing synonyms, and standardizing on command names that start with a verb — at least in English. In other languages, the ideal naming standard is not yet so clear. One of the major things that remains to be figured out is how to handle collisions in the namespace, as when two commands want to use the same verb.

Several approaches have been discussed, but none implemented yet. Inputs are not just strings Input to a command can be many things. It can be text, obviously, but it can also be a selection of part of a web page, including HTML formatting and images. It could conceivably be the output of a previous command, or even some form of multimedia.

Treating inputs as structured data instead of just strings is a big win because it allows commands to be more flexible in what they do with the data, and allows multiple formats or views to be passed around as a single object. The object can always return a textual representation when one is needed. Image-processing commands remain a large question mark and a potentially fruitful area for exploration.

Switching between mouse and keyboard sucks Not that this is a new problem. But it is definitely a pain to have to select text with the mouse, then switch to the keyboard to invoke a Ubiquity command, then switch back to the mouse to click on a link in a preview.

This means we need better keyboard methods for indicating selections on a page as well as for selecting a result for instance, from a search command which displays multiple results in a preview. I want Ubiquity to let me use the Web the same way. We can also go the opposite direction: Ditch the keyboard, focus on the mouse. We did develop a Ubiquity context menu, which enabled a user to get at their commonly used commands without taking a hand off of the mouse.

This feature remained underdeveloped and little-known relative to the command-line based Ubiquity. There was a lot of interest in mouse-based Ubiquity when I visited Mozilla China, because Chinese internet users are generally much more mouse-oriented and less typing-oriented than Americans. Security is critical… or is it? We put a big red scary warning page in front of the command subscription button, and left the rest up to users. Although we had many discussions about security models for Ubiquity, we never implemented any of them.

We basically punted on security in the first round. Jetpack has the same inherent security vulnerabilities as Ubiquity. The difference is that in Jetpack, they are being addressed. The Jetpack team is putting much effort into implementing innovative new security models that will make it safer to run arbitrary, remotely-hosted Javascript modules as part of your browser. They remain a theoretical threat. When we do Ubiquity again, we will build it on top of Jetpack and be able to take advantage of the Jetpack security work.

In retrospect, maybe punting on security was the right decision after all. Looking at a preview of command execution can be more useful than actually doing it When we started out, the command preview was meant simply as a way of showing a documentation string about the command the user was highlighting. As we went on, we started using it for more and more, rendering dynamic web content in the preview area to show the user exactly what would happen if they hit the enter key.

Eventually we realized that actual execution of the command was often not needed, unless the user wanted to open a new page or insert something into the current one. If their desire was only to see some information, the preview alone was enough. This trend was most noticeable in the Map command.

The Map command was really cool, but also totally inconsistent with how the rest of the commands worked. Using a lot of custom code, Map treated the preview itself as an interactive embedded web app, allowing the user to do things by clicking links and dragging images around in the preview. Having one of the standout commands work so differently from everything else is confusing for new users.

The simple answer would be to make the Map command work like everything else. But it would be interesting to explore what Ubiquity would look like if we took the interactive-preview approach to its logical conclusion and applied it to all commands. For commands that want to offer interactivity in their preview, perhaps a better way would be to open a Jetpack-style sidebar.

But now I think we might have been putting the cart before the horse. I hear again and again from users I talk to that there are just two or three Ubiquity commands that they use constantly, and the rest not at all. Of course, every user names a different two or three commands. Users need to be able to find commands somehow Many of the third-party commands that got written for Ubiquity duplicated the same functionality. The same things were getting written over and over again.

Archived Entry

Amos mailed me today and told me about a new Mozilla Labs prototype Ubiquity which he called phenomenal. I was skeptical at first but after a quick trial I’m. One of the niftiest Firefox add-ons to come out of Mozilla Labs is Ubiquity, a natural language commander that adds killer functionality on-page in Firefox. of application launchers like Launchy or Quicksilver on the desktop. Illustration for article titled Killer Commands for Ubiquity Firefox only: Mozilla Labs unveils the first prototype of a natural language web.

[UPDATED]Useful Firefox addons

What did we learn from a solid year of working on Ubiquity? Here goes. This crazy thing can work. A command line for the web?

Re: Mozilla Ubiquity – Gnome-Do for Firefox

Firefox advertisement killer Firefox Quantum: Chrome Killer?

VIDEO REVIEW: Firefox advertisement killer

ubiquity beta addon for firefox – run, send email, new calendar event, .net/ /08/26/mozilla-labs-ubiquity-is-a-firefox-killer-application/. Very cool. Very cool. It’s essentially Launchy/Quicksilver/Gnome-Do for Firefox. . I guess this add-on will be a killer feature! Weekly Newsletter · Membership Applications · The Fridge Discussions · Forum Council Agenda · Forum Feedback & Help. Webpage Screenshots Screen Capture · A Better Firefox Add-on Bar · A Bible Active Stop Button · Active Whois plugin for Firefox · ACUM · Ad-blocker for Gmail . Apollo Bookmark/Tab/History Sync add-on · city.aura24.rutry Page Speed Monitor Mozilla Labs: Prospector – Search Tabs · Mozilla Labs: Prospector – Site.

Leave a Reply

Your email address will not be published. Required fields are marked *