Sorry, it isn’t a new product but rather a new way to navigate around our products and do things. Or more accurately, it will be if the right people are impressed by my ShipIt Day toy. It is a cross between Quicksilver and a command line with AutoComplete with a lot of AJAXy sugar.
While I implemented this in Jira, it could be pulled out and inserted into all the other products quite easily. If we had plugable plugins, it could be a fully contained plugin, with each product supplying it’s own extensions.

In this picture you will see the addition of a small Sonar icon in the top right. The main purpose of this is to enable access to Sonar, you can also simply do an “accessKey g”. E.g. FireFox2 on Linux would be “Alt-Shift-g”. This will popup the Sonar box:

Here, you simply start typing and Sonar will guess what you are trying to do:

Don’t know any commands, wait a second and it will prompt you with a list of commands:

It is smart enough to guess commands as well.

It will also boost results based on how much of the command you write. I.e. if there are two commands, “Create Issue” and “Close Issue”, the boosting order would be as follows:

  • no command – It will order the sections by natural weight (specified)
  • “c “ – It will order the sections by natural weight (specified)
  • “ci “ – It will order the sections by natural weight (specified)
  • “create: “ – It will only show the create issue section
  • “create “ – It will only show the create issue section
  • “cr “ – It will only show the create issue section
  • “close: “ – It will only show the Close Issue section

Though giving a command doesn’t rule out other sections, it merely boosts:

This may seem a little confusing, but it feels really natural and ituitive while using. More often than not, people’s desired results were appearing at the top of the list at their first try of Sonar

When you click or select a Command or Section heading it will place the fully boosted command with the current search in to the input box.

This one seemed to impress people – creating an issue in a project with 5 characters (including spaces).

What I didn’t get done

  • Fully plugable – I would have liked to make all the commands as plugins
  • Punk Button – Would have loved to have a “Are you feeling lucky” button that would navigate to the first returned result. This would be triggered by pressing Enter. This way you wouldn’t need to wait for the results to be returned. You could also save this as a firefox bookmark and navigate to nearly anywhere in Jira
    by doing something as simple as “sonar admin info” in the FireFox location bar. This would take you directly to the System Info page in the admin section.

Cool Stuff and use cases

More commands – With more commands you could get to do some seriously cool stuff.

  • u:to get a user
  • qs:to return the issues from a quicksearch
  • i:to search for an issue
  • assigned:lists all issues assigned to a user
  • <command> i:Command could be anything in the “Transition” or “operations” section of an Issue. E.g. “edit i: JRA-1234”

Even cooler

Objects as commands:

  • JRA-109:Will list all the commands you can do on that issue. E.g. edit, delete, Close, Re-open, attach a file, covert to sub-task….
  • JRA:Will list all the things you can do on that project
  • nmenere:Will list all the actions you can perform on the user nmenere

The Shit!

Using commands to feed other commands:

Use case 1 – Anton asks you to close an issue assigned to you in the Jira project

  1. Type in “qs: jira my unresolved “
  2. Sonar will display all issues assigned to you in the Jira project that are unresolved
  3. Select an issue – JRA-4508
  4. Sonar places “JRA-4508:” in the text field
  5. Sonar displays all actions that can be done on JRA-4508
  6. Type in “c”
  7. It will narrow down your choices to “Clone” and “Close”
  8. Select Close
  9. You will go directly to the Close issue page

Use Case 2 Tony asks you to take a look at an issue that Terry is working on:

  1. Type in “u: Terry”
  2. Sonar will display a list of all Terry’s in the system. There are a lot!
  3. Type in ” atlassian”
  4. This list is narrowed down to all Terry’s whose email contains “atlassian”
  5. Select Terry Ooi
  6. Sonar places “tooi: ” in the text box
  7. Sonar displays a list of options for the user tooi
  8. Select “Issues assigned to Terry”
  9. Sonar places “assigned: tooi” in the text box
  10. Sonar displays the list of issues assigned to Terry
  11. Select the issue Tony told you about.

Other Products

  • Bamboo – control/navigate queues and builds from Sonar
  • Confluence – navigate spaces/pages, users, news, admin….

What Now?

This was only a ShipIt Day spike, but hopefully I have impressed the appropriate people enough to get it into a near version of Jira…

Atlassian Sonar (ShipIt)...