THE MEMORY OF THE CITY
log in
Samantics
On the fittedness of computing environments
2024-03-28 16:13:51

On the fittedness of computing environments

Lately I've been on a retro-computing binge, revisiting some past nostalgias (and borrowed nostalgias) with fresh eyes. I don't usually think highly of nostalgics in the purest sense—I've always thought of rose-tinted glasses as an obstacle to true appreciation of history rather than a justification for it—but this time I took a long, hard look at the technology of my own childhood for once, particularly the quirks of 90s Windows, from 3.0 through 2000, and in the midst of this I've come to realise that the standard terminology we use to describe the experience of using old computers is missing an axis, one that's worth defining.

For want of a better term, I'm going to call this fittedness. A software environment is perfectly fitted to its hardware if:

  • The software was designed for that specific hardware configuration, and makes full use of it
  • The software has no extensibility
  • The software has no customizability
  • The software is not portable
  • The software does not make use of virtual memory

  • Fittedness is a continuum: Mac OS 1.0 is more fitted to a Classic Mac than NeXTSTEP 3.3 is to a NeXTstation—it is less portable and less extensible—but both are less fitted than a GameBoy game is to a GameBoy.

    Hardware can also be fitted to software: the textbook case of this is the Nintendo 64 controller, which has a second D-pad (the yellow "C" buttons) intended for manipulating Super Mario 64's camera controls.

    In general, console games are tightly fitted to their platforms, though there are sometimes mismatches. If software is ported to a more powerful platform but not resized to fit the new host, then it is sub-fitted. This is typical of emulated games, but is, strictly speaking, an inevitability whenever a new system is backward compatible with older software. (Unless you compile everything from source bespoke for your own CPU, you're probably running some binaries that are sub-fitted for its instruction set.)

    Conversely, and much more rarely, if the host is deficient relative to the feature set, and the software uses kludges to get around these deficiencies, it could be called super-fitted. Superfitting is generally rather conspicuous when it occurs. Examples:

    * Early Multics development happened in a simulator of the GE 645 computer which ran on a GE 635, at around a hundredth of normal speed.
    * Some early 90s X11 window managers like tvtwm allow for scrolling a virtual desktop to simulate having a larger-than-actual-size monitor.
    * East Asian input method editors are super-fitted to the physical properties of the US English 101-key (or, in some locales, 105-key) keyboard; even Cyrillic barely fits.
    * For a period in the early 2000s, alphabetic input on mobile phones used various schemes of pressing keys multiple times to select specific letters or combinations, often with heuristic dictionaries to speed up typing.

    (I use the terms "sub-fitted" and "super-fitted" to avoid confusion with the statistical vocabulary of under-fitting and over-fitting.)

    Certain classes of software are destined to be fitted. In general, embedded firmware is highly fitted to its target hardware, although there are some egregious exceptions, like Windows Embedded.

    Not all hardware can be fitted against; as it becomes more powerful, factors like display bandwidth and human design start to dominate. On a modern smartphone, the only time business applications ever really worry about fitting the device is when they're considering the screen size and aspect ratio.

    So fittedness is mainly relevant to retrocomputing. It is particularly poignant in the subjective experience of retrocomputing, because it makes the software feel cosy and comfortable. If a computer system is the subject of nostalgia, odds are that the nostalgic fixation involves some indelible or default detail borne moreso from fittedness than developer hubris. When people idolise classic Macs, they don't tend to fixate on the default halftone wallpaper (which was set in stone because some Apple devs thought custom wallpapers would mar the experience!) even if they do admire the one-bit display, the high-legibility system font, and the black rounded CRT-mimicking screen corners. In icon sets, limited colour palettes and weird aspect ratios tend to be just as much of the story as do the designs themselves.

    I suspect this is part of why certain vintage GUIs have an intrinsic appeal. The first version of Amiga Workbench, which was more-or-less bespoke, from kernel to window widget, is much more cosy than Atari TOS, a port of the CP/M + GEM software stack. However, this quality is almost invisible in MorphOS 3.1 and AmigaOS 4, even though the idiosyncrasies of the Amiga bloodline are still visible in every scrollbar and icon. And yet, if we slip back a few years to small web and permacomputing gain momentum, I believe fittedness is a quality that will continue to be important as a shibboleth for passion projects fuelled by genuine human connections. It is the antithesis of the triple-A game design ethos, which values interchangeable components with maximal fidelity to minimize the time spent concocting and shipping new products, and to some extent we already consider cosiness to be an important quality of the wholesomeness of indie games, even when those games have been subsequently perverted and subverted by the paragons of finance—it is the skin that the skinwalkers wear, so to speak.
    Samantics comment   8458.549 tgc / 2024.239 ce