A mate of mine working in the US sent me a link to a Mozilla Labs tool called Ubiquity.

Essentially, the idea behind it is to let users describe what they want to do with the Internet rather than where they want to go.  The web at the moment is really based around sites that you have to actually visit to be able to use the information.  Their idea is to skip this visiting stuff and let the tool (or commands written for it) do all the work for you, giving you only the information you were after.  They have a really good description on their blog post (linked above), and I can't really think of a better way to describe it than them (which is probably good), so have a read if you're interested.

It's really lightweight and very easy to install, but at the moment it only works for Firefox.  It's also surprisingly easy to write new commands.  I've been a .Net kid for a while now but it only took me a couple of hours to hack up a new command.  Admittedly the Ubiquity language is Javascript so it's not terribly unfamiliar.  Still, that's a pretty short learning curve.

Commands have the ability to give you a realtime ajax preview before you actually execute the command.  In most cases, I don't even use the execute functionality and I suspect that for the small things, most people won't.

Anyway, when I was trying it, the built-in "define" command wasn't working for me.  It would look up a word when you pressed enter to execute the command, but it didn't give me a preview.  So, in order to get a nicer dictionary lookup and at the same time try out this funky little thing, I decided to create my own.  Of course once I'd got mine working, the define command started working properly.  I like mine better - it gives prettier results.  It's not just because I made it myself... but that's the main reason.

You can go here to have a look at it.  Subscribe to it if you want to use it or hey, just steal the code or whatever, I don't care, it's public license - do what you want.

So in summary, it's easy to use and I think it has the potential to be something really big.  If you have a look at the examples of what they're ultimately trying to be able to do, it's pretty impressive.  Imagine typing "find restaurants near me with reviews over 4 stars" and being given a google map with markers and summarised reviews of each.  Very useful, no?

Hmm, combine that with voice recognition and you've got a genuine futuristic computer from the movies!  Rad.

Damian Brady

I'm an Australian developer, speaker, and author specialising in DevOps, MLOps, developer process, and software architecture. I love Azure DevOps, GitHub Actions, and reducing process waste.