Hydrogen UI redesign and engine enhancements

Abstract

These improvements are aimed at:

  • Making the interface more logical and intuitive, more simple yet advanced
  • Reorganising the interface so there are no duplicate controls and no blank screen space
  • Less mouse movements, less pop-up windows
  • Turning each instrument into a Synthesizer on it's own

These features are planned to be implemented during the course of 0.9.6-0.9.7-0.9.8 releases. Please view the Roadmap? for more details.

Problems

  • Many widgets are wasting screen space by unneeded spacing and graphics
  • There are many blank, unused areas in the interface
  • Several actions can be done in different ways, whereas there should be one, most simple and logical way

Ideas

Graphics

  • Many of the current graphics are visually "wrong" so to say: why an additional design element should be visible better than the actual control element? Frames, shadows, borders and such should **never** be visible better than the faders, rotaries, labels.
  • Make all widgets fit exact rectangle areas so the interface is more condensed (to an extent that it makes sense of course), displays more info/controls at a time, and is usable on smaller screen resolutions.
  • Buttons should be made more readable. A pixel font is great, but in many places it is misplaced by 0.5 px which makes it blurred a little.
  • The "BYP" button is an obscure one: you really should have a lot of knowledge to figure out that it stands for "Bypass". It should definitely be replaced by ON/OFF switch everywhere.

Usability

We can have less mouse movements and thus the hands of users will get less tired. Here are some tips.

  • Less pop-up windows. Many procedures like browsing for files can be done right in place.
    • When you select "Load Layer" in the layer editor, you get a generic pop-up window, browse for a file - thus you move your hand from the bottom right to the middle of the screen and then back. But we can have an in-place file browser: on "Load Layer" the whole view of the layers changes to a file browser with preview data (sample size, bit/sample rate), "Load" and "Cancel" buttons; you browse for a file, select "Load" or "Cancel" and then you get back to the layers view - no excessive hand/mouse movements, very ergonomic, the whole procedure is performed in one place.

Mixer

  • Kill the mixer as such - disassemble it's functionality into Pattern Editor, Synthesizer, Effects Rack and Master Rack.

Pattern editor

Includes functions some of which also exist in the song composer. If we remove/rearrange them, we can free about 50 pixels of screen height.

  • Selecting a pattern is possible via clicking it in the composer (good) but why would you want/need to press the +/- buttons in the pattern editor many many times to get to some pattern (bad).
  • Pattern size and resolution can go into "Properties" dialog along with the pattern name.
  • No need for the up/down arrows for rearranging instruments, it's better / easier / more intuitive to just press on the instrument and drag it up or down and drop where you want it to be
  • THINK: where can the recording options go? Maybe to the transport bar?

Status bar

Status bar never shows very long messages. We can create a small status bar right in the transport and remove the QT status bar thus freeing about 15-20 pixels of the interface.

Hydrogen rocks

Below is the mockup of the UI/feature enhancement idea:

http://artemio.net/projects/hydrogen/mockup1.png