← Back to team overview

unity-design team mailing list archive

HUD: tab completion is a must-have

 

I've spent a little time on the HUD, trying to find things to improve. I've found a few. In this mail I'll pretend my previous suggestion "HUD: reduce clutter by removing repeated information" has been implemented. As in the previous email, I'll use text in a square bracket to symbolize the HUD input field.

I'll pretend I enter a search phrase and show what happens. I really wish I could illustrate in a better way, but this will have to do for now. I have a summary at the end, so feel free to skip ahead.

Consider an IDE. You have a projects menu which lists your projects by name. All the projects submenus are identical:

Projects:
- MyProjects Name
- - Run
- - Design GUI
- - Edit code
- - Package
- - Commit
- - Test tools
- - - Edit tests
- - - Run tests
- - - Test history
- - ...
- Second Projects name
- ...

Current situation:

[run tests]
Projects > My new HUD Demo > Test tools > Run tests
Projects > Old school GUI project > Test tools > Run tests
Projects > My guitar effects studio > Test tools > Run tests
Projects > Quickly Test project > Test tools > Run tests
...

You'll then have to use arrow keys to select the right project. It's quite nice, but it would be very useful if tab completion was added, for instance to display a submenu:



STEP 0 (enter 'pr' and press tab. It expands the search and shows all the projects in that menu, ordered by use frequency. Selecting one of the items would expand your search phrase)

[pr<TAB>]
Projects
    Quickly Test project
    Old school GUI project
    My guitar effects studio
    My new HUD Demo


STEP 1 (The search field was updated when I pressed tab. Found two projects matching "my". Displaying the four most common actions for the most used project, but not for the others.)

[Projects my<TAB>]
Projects > My new HUD Demo
    Edit code
    Run tests
    Design GUI
    Run
Projects > My guitar effects studio
Projects > My discarded project


STEP 2 (expanding the search and pressing tab to complete the projects name. Displaying the four most common actions for this project.)

[Projects My g<TAB>]
Projects > My guitar effects studio
    Run
    Design GUI
    Package
    Commit


STEP 3 (Expanding search to find a specific submenu.)

[My guitar effects studio te<TAB>]
Projects > My guitar effects studio > Test tools
    Edit tests
    Run tests
    Test history



SUMMARY:

This was a lot of text, and I hope you got the point. If I wanted to run the tests for My guitar effects studio, I would use this phrase: "pr\t my g\t te\t ru\t", which would expand to "Projects > My guitar effects studio > Test tools > Run tests". This might seem more complicated than simply entering "test history" and using the arrow keys to get to the right project. And it would be.

However, by using tab completion, you're limiting the search dramatically. When I use "pr\t", only the top-level menus are searched to find Projects, so that should be lightning fast. Then, when I enter "my g\t", only the Projects menu is searched, and so on. This should improve the speed dramatically and therefore also the user experience.

It's worth keeping in mind that tab completion wouldn't change anything for people who doesn't use it anyway. It would still be possible to search for "test history" and navigate by arrow keys, but the search itself would be much slower.

Thoughts?

--
Jo-Erlend Schinstad



Follow ups