Way back in 2006 we did a major re-factoring of our inventory control application - NeXT®. We took out stop watches and started charting all of our form's behaviors. We focused on our Daily Maintenance and Transactional forms (read about those here).
DataWorks' 3/6 Design Axiom:
- Any user action (click of a button, etc) that takes over 3 seconds to complete must be accompanied with a thermometer, hour glass or status message that indicates the system is still working.
- The goal of all forms is that they display usable information to the end user within 3 seconds of a menu click.
- The maximum allowed time that a form can take to display is 6 seconds.
- A form that takes over 6 seconds to display, must be redesigned with less data or fewer controls until it takes 6 or less seconds to load.
It was while penning our newest amendment to our design constitution - "The 10 Second Rule" that I remembered we had established this rule of 3's and 6's as an internal SOP within our R&D group. This axiom was adopted during the re-tooling of version 3 of NeXT. I think any application designer can use these as benchmarks to judge the usability of their software. Obviously, it would be better if everything was instantaneous - but in 2010 we sit upon a hardware plateau that is unlikely to see any dynamic swing in productivity.
The outcome of our axiom was that slow, data-fat forms where refitted with hyperlinks to allow loading and displaying of data on request rather than loading and displaying everything immediately. It made us think about the relevance of information. What was primary? What was secondary? I think it resulted in a cleaner look that allows for more intuitive data input and data mining.
The best example of this visual and data weight lost is NeXT''s general product form. Here are the before and after photos. The biggest difference is that the before image has 6 child views strung along the bottom of the form. By reducing it down to one grid with just SKU information we lost 10 seconds on the load of the form.
The speed up was not just from the data connection and query. It was also the reduction of the additional interface controls. Each control (page, grid, command button) has it's own load, initialization, and refresh events that eat up CPU cycles faster than my children eat Cinnamon Toast Crunch cereal. Every child page and grid we turned into a hyperlink shaved another half second from the form's fat load time.
The data is still available, but we added hyperlinks to get to that data. Green links lead you to add, edit and delete record land. Blue links indicate there is read-only information ahead.