Towards a “History This” Command Line

Mozilla Labs recently released the 0.1 version of Ubiquity, a Firefox extension that allows the user to interact with and direct their browser through intuitive, written commands. Ubiquity has met with largely positive and excited reviews from the tech community, from folks at Lifehacker to Hackaday to Tools for Thought. The extension currently allows for a variety of commands. The common example that everyone likes to point to is the “map these” command, where you select text, hit the keystroke to bring up ubiquity and type “map these,” which brings up something like the following:

From there, you can do a variety of things with the map itself, including navigating and moving, or inserting it into a separate page. And of course you can also highlight text, and in Ubiquity type “email this to _,” which then searches through your Gmail contacts and sends the highlighted text to them. The most common example I’ve read is if you are looking for a restaurant at which to eat with a friend. You can highlight or type in the restaurant name, map it, look for reviews on Yelp, check your calendar for conflicts, and email an invitation to your friend with all of this information included.

Ubiquity interacts with a wide variety of sites through APIs, including Youtube, Weather, Yelp, Twitter, and Flickr. In addition, you can translate and define words, run calculations, export events to your calendar, count words in an article, or convert units. In many ways, it seems to blur the earlier function of Hyperwords (which I covered in a previous post) with the intuitive command line structure of Quicksilver (for Mac users) or Launchy (for Windows).

I immediately thought of interesting commands someone could write for engaging in historical research. Developing a Ubiquity command set for historians would go a long way towards encouraging traditionalists to finally break into digital history. Instead of reading scary words like Python or machine learning, a researcher with little technological background could hit a couple of keystrokes and be off in running with relatively in-depth analysis of digitized archival material. In many ways, Ubiquity could potentially act as a “gateway drug” for digital history. Of course, this all hinges on at least two things:

  1. Quality, standardized digitization of source materials combined with quality, standardized open API’s. Dan Cohen has great arguments for the importance of a digitized collection like Google Books not only having an API, but having a good one.

  2. Someone in the digital humanities would have to develop these tailored commands for different archives (Bill Turkel, you know you’re interested…) There’s already a Mozilla Labs wiki for creating new commands that looks relatively straightforward, but would probably be above most members of the history community. I’m intrigued by the idea, but unfortunately my own forays into digital history programming have presently taken a backseat to applying to grad schools. Please let me know if anyone in the digital humanities is interested in this…

I feel that Ubiquity takes a substantial next step in the evolution of online interactivity. It’s admittedly buggy (although given its 0.1 version status, this will certainly get better), but it embodies so much of what is positive in today’s digital environment: namely open-source collaboration. Mozilla Labs actively encourages anyone and everyone to develop their own commands and to share them with others. This openness combines with an intuitive simplicity that makes it truly remarkable. As of right now, Ubiquity is a fantastic timesaver and cool trick, but it lacks depth. Almost anything you do in Ubiquity could be done before - just slower and with much less efficiency or ease of use. I have absolutely no doubt that as the open-source developer community jumps on board, this will change.

But for right now what Ubiquity does best is to begin to break down the barriers between computer geeks and laypeople. Some people are writing about the irony of returning to the infant state of the computer interface: the command line.  While interesting, these two instances are fundamentally different: not many people would know how to write even a simple program when faced with earlier command lines, but just about anyone I know can type “Map this” into Ubiquity and get far more complex results. Even as programmers find new ways to write more and more advanced commands, ordinary Firefox users will adopt the basics of Ubiquity in greater and greater numbers. What I foresee in Ubiquity is part of a broader movement that shifts common computing further down the Web 2.0-blazed path of heightened and evolving user participation, control, and access. Instead of having the website developer determine how and where you can go, suddenly you are at the controls of an increasingly powerful and easy-to-use command center for accessing and manipulating data. And I can only dream of the day a grad student will be able highlight some archival text, type “history this” into their command line, and have a fully-compiled dissertation written before their eyes.