Jump to page content

Consistency

Caveats

Most if not all pages are just rough notes, and these pages as a whole are far from complete. More notes will be added in time, eventually, maybe.

If, from reading these notes, you conclude that I am off my rocker, you won’t be the first, and you may even be right.

No doubt there are a dozen and one reasons why none of this would ever work, but perhaps somewhere deep down there is a tiny fragment that could be used for something.

Contents

Intrinsic consistency

Hypothetically, a good user interface offers a “learn once, apply everywhere” experience. Techniques learnt in one application can be re-used in other applications, from high level to low level. One of the key improvements with Mac OS X over older operating systems was a rethinking of the user interface with a focus on clarity and consistency. A new toolbar system was made available for all applications to share. A new menu was created that represented the application itself, relocating application-specific menu items into a logical place. “Quit” was no longer a File menu item (having Quit or Exit under File makes no sense), and “Preferences” was relocated from the various places it could be found. While Microsoft’s choice of Cmd+; for Preferences was popular, Apple went with a different shortcut that was likely chosen to minimise trouble with different keyboard layouts. The Mac felt more harmonious as a result.

Under Microsoft Windows, the opposite is true. There is no guarantee of an Edit menu. There is no guarantee of a menu bar at all. The symbol for whatever passes for the applications menu system is not consistent, and its location within the window is not consistent either. Programs that pre-date the ribbon concept won’t have a ribbon, and programs that pre-date Windows 11’s distaste for ribbons will still have one when they are no longer meant to. The title bar colour and design varies between applications and the distinction between active and inactive windows (title bar colour, window transparency and title bar caption colour) varies between applications. Sometimes there are no context menus, and sometimes Ctrl+C to copy does not work. Even a title bar is no longer a guarantee; this means that, within a remote desktop environment (Remote Desktop Services and Azure Virtual Desktop), the top bar from the remote client sits on top of your browser tab and gets in the way, and neither Google nor Microsoft are willing to concede and allow the user to put the title bar back (only Firefox still offers this).

Open and Save dialog boxes in Windows are very poor. The way that programs customise them is such that many applications are tied to a very specific version of the dialog boxes. This means that the Open and Save dialog box design and functionality differs considerably between applications. Compare the following two examples:

Open dialog box in JujuEdit
Open dialog box in IrfanView

IrfanView’s modified dialog box is trapped in an older design.

These limitations are fairly easily for “computer-savvy” users to overlook, to a certain extent at least. However, the ever-increasing diversity of UI designs, especially when taking the World Wide Web into account, places a considerable cognitive burden on even the smartest of computer users. Expecting the average, non-technical computer user to make sense out of this confusion is deeply unfair. Simply rote-learning the UI fundamentals no longer works as every program and every website is designed and behaves differently.

Consistency is not merely a visual concept. Whether applications automatically save changes, and in what manner they do so, is application specific, confusing and often very poorly implemented. Microsoft Office auto-save is provided by default but is disastrously awful. Inkscape requires the user to learn that the feature exists and configure it manually, and the resulting files are all dumped into a folder with names in the form “automatic-save-0-2026_03_25_22_37_20-20428-1.svg” with no direct indication of what each one is an automatic save of. (See also: saving changes.) Once again, users have to memorise the different behaviours and learn which programs require manual configuration and which programs do not have this facility at all.

Architecture

The kernel–shell distinction found in Windows will not exist. All behaviour will be core functionality that is uniform across the system.

Innovation at the application level

Windows is plagued by application-level innovation. This is most noticeable with Microsoft Office, which has always featured UI concepts not exported the OS, and in the case of the ribbon, copied very poorly by many other applications. IrfanView added its own recent folders feature to Open and Save dialog boxes that violate expectations in two different ways. The behaviour is application-specific, so users are not going to expect this feature and then cannot benefit from it in any other software. The list of recent folders is constrained to IrfanView, so you cannot use it to select working directories shared by other applications (for example working with both HTML and images at the same time in the same folder).

Application-level innovation consistently highlights the need for the operating system to provide a high quality experience that ensures that all programs can share the same suite of functionality without needing to keep reinventing ideas in ways that are not consistent across the system as a whole.

Global questions

Some matters of consistency are complicated by the desire to harmonise the multitude of applications that a computer system is designed to accommodate. The limitations of physical reality (down to the size of the Latin alphabet) cause conflicts that are difficult if at all possible to resolve.

Mouse button assignments

See also: pointing devices

Mice are physically constrained to a limited number of buttons. This figure is typically three in most cases. The resulting shortage of buttons leads to assigment conflicts and overloads. More broadly, different applications assign different buttons to the same task. Inkscape uses middle mouse to pan an image, while IrfanView uses right mouse. Dragging with the right mouse button has a very different meaning (show context menu of actions following a drag) in File Explorer in Windows. Switching between different programs becomes difficult as a result.

The mouse wheel also warrants consideration: depending on the application it may be used for zoom or for vertical scrolling. Photoshop 7 confusingly uses it for both: zoom (with the wheel direction backwards) so long as there are no scroll bars, and scroll if there are. This means that the final zoom step that introduces scroll bars cannot be reverted by rotating the wheel the other way as the wheel behaviour changes. In some systems and applications, the wheel will scroll vertically if there is a vertical scroll bar, and horizontally if there is a horizontal scroll bar and no vertical scroll bar.

Keyboard shortcuts

See also: keyboard

Keyboard shortcuts are based on the Latin alphabet and the standard 104/105/108-key keyboard, which are also highly constrained. Inkscape uses F1 for the selection tool; accidentally using F1 to enter selection mode in another application will divert away to a help page. Applications that need a lot of shortcuts tend to have single-keystroke commands which adds another layer of confusion.

There is only so much that can be done to rectify this, as the collective repertoire of commands across all applications is too great to have a common set of keyboard shortcuts.

Temporal consistency

System design

It’s not sufficient that a system be point-in-time consistent. It must also be consistent over time. This requires a system to be properly engineered from the outset, and the design retained for the maximum length possible. The more typical situations are that either a terrible idea (and often a collection of bad ideas) remains in place unchanged so long that it becomes fossilised, or that a facet of a system is repeatedly changed to maximise user confusion. The start menu in Windows is the most prominent example, as it is endlessly redesigned with no version ever really making a whole degree of sense. No sooner have you adapted to the strange rules and behaviours of the new design, it gets reinvented as something stranger.

The trade-off between leaving something unchanged and upheaval is a difficult one. Change is easier to accept when there is an obvious improvement and when reasonable use cases of the old design are all accommodateed with the new design; change is hard to accept when it feels like the design was chosen largely by dice roll.

State

The Finder in Mac OS was “spatial”: each folder on disk remembered its window position, scroll position, layout and the position of every single icon. This approach mimiced the real world, where items can ideally be found exactly as you left them. Whether this is truly a good or a bad idea depends on how you work with the system. Nonetheless, computers should strive to attempt temporal consistency of state where reasonable.

Refresh

As noted under refresh, as reality changes, the computer should remain in sync by updating window contents. The contents of windows should not go out of consistency with the environment.