September 4, 2008...10:54 pm

On Commands, Designers and The Magic Editor

Jump to Comments

Ubiquity has released and many people have written commands for it. If you look at the list, you’ll see that most of them are simply search commands (or bookmarklets rewritten as commands). Although these are essential, Ubiquity commands can do so much more. A few people have begun exploring some new ideas in this regard.

One command that I particularly like is the “share-on-delicious” command written by Leslie Orchard. Basically, it is a del.icio.us command where you can add notes and tag the bookmark simply by saying “share-on-delicious tagged cool ubiquity”. This functionality is not very remarkable. In fact, there’s another command that does the same things. But, the reason Leslie’s is better is because it is one of the few commands that uses previews extremely well. Here you go, compare the previews of two different commands:

As you can see, the preview makes a huge difference. It displays the information a lot more clearly. It shows the tight del.icio.us integration immediately. And, it also makes me want to use it more often.

Graphical keyboard user interface

Ubiquity is a graphical keyboard user interface. But a lot of people are missing the graphical aspect of it. And that is precisely what makes Ubiquity different from a command line. Command icons help but previews have to be more visual, not just the plain text that you would normally expect from the terminal. I can’t emphasize enough the fact that previews must be graphical because after all, Ubiquity is a GUI.

The current state of command previews is also partially my fault. Even some of the built-in commands don’t have appropriate previews. The digg command and the last-email command are perfect examples of forgetting that we are actually dealing with a graphical user interface. The functionality is awesome but just look at the way the information is displayed and contrast with other possible implementations.

.

Designers

The lack of graphical previews is, of course, not all the developer’s fault. Like many others, I am also only a programmer and I suck at design. So, we need to hook up designers with programmers. But sadly, we did not make it easy for designers to get involved in Ubiquity when we released it. The developer-facing side of Ubiquity is awesome (nice development environment with chrome access and yet, no browser restarts! Also, great command utilities and documentation). But, while we have lowered the barrier for entry for extending the browser, we have not given as much thought to collaboration. A few ideas to remedy the current situation and increase the amount of collaboration follow.

Better Herd

The Herd is a great way to find commands especially with the upcoming web of trust. But the Herd needs to be more like AMO and this is not as tough as it seems. Thanks to the brilliant idea of keeping metadata together with the code, auto documentation of commands is easy. With a bit of javascript, it is possible to generate detailed pages about each command.

And to promote discussion, all we need is a comment box for every single command. This simple textbox at the bottom of every command page will go a long way in bug reporting as well as in helping designers and command developers work together. Right now, even if a designer wants to help with a command, all he gets in many cases, is a blank page with a subscribe notification on the top of the page.

Magic Editor

After describing something simple for the Herd, here’s a grand idea – have a lightweight IDE built-in as the command editor. Besides having syntax highlighting and perhaps even Eclipse-like autocompletion for Utils and CmdUtils, collaboration related features must also be added.

Here’s how collaboration will work with the magic editor and The Herd. I first post on my Herd command page that I’m looking for a designer to help me with the preview for my new Twitter command. Say Yatrik wants to help, he just comments on my command page. Then, in my Magic Editor, I just invite him using his OpenID and immediately, a notification popups on his computer telling him I want to allow him to work on this command’s code. Now, both of us can edit the code simultaneously and it’ll be automatically synced. So, he can add in new images and modify the CSS while I write the Javascript. To improve debugging, there could be an embedded preview (so you don’t have to open Ubiquity everytime you want to test) which you examine with Firebug. After we are done with the command, I can just hit an Upload button at the top of the Magic Editor that will upload the new code and files to my server (possibly by integrating with FireFTP). Immediately, these changes including those in the metadata (I’d have added Yatrik as a contributor for the command) will be seen on the Herd page for this command.

In essence, Magic Editor + The Herd is the heaven for web-based collaboration. I don’t know if it’s worth anyone’s time to implement all this closely tied together awesomeness. But if it does happen, I am sure Ubiquity and the Web will be much better. We would have lowered the barriers for extending the web and the browser even futher. And we would have also gotten more designers involved with Ubiquity and open source, in general.

4 Comments

  • I also like UserScript.org as a repository site.

  • I agree strongly with your view on the graphical previews as it is one of the first things that drew me to Ubiquity. Good visual design is essential in relaying information to the user in a quick, concise and clear manner; we are very visual creatures after all.

  • We’ve made great progress in making the command editor better for 0.1.2. The herd is also improving constantly. Visual previews will be a major priority in the future.

  • Some awesome ideas here….especially on the note of the Magic Editor/Designing…can’t wait for the designer front to open up!

    User interface could greatly be improved with more designing functionality.


Leave a Reply