From "Code"
🎧 Listen to Summary
Free 10-min PreviewThe Graphical User Interface and Display Technologies
Key Insight
The Graphical User Interface (GUI) was substantially advanced by Xerox PARC, whose Alto computer (1972-1973) served as a groundbreaking prototype. The Alto featured a unique paper-sized raster display (8 inches wide, 10 inches high) with 606x808 pixels, utilizing 1 bit per pixel for black and white, consuming 64 KB of memory as part of the processor's address space. This enabled software to render pictures and text in various fonts, treating the screen as a high-density, two-dimensional array for information and direct user input, marking a fundamental departure from the linear 'teletypewriter' model. Alto software pioneered the use of multiple windows, graphical objects like buttons, menus, and icons, and mouse-based interaction, striving for 'the Augmentation of Man's Intellect'.
While the Alto was not commercially sold by Xerox, its concepts profoundly influenced Apple, leading to the ill-fated Lisa (1983) and the much more successful Macintosh (1984), which popularized GUIs. The original Macintosh had a 512x342 pixel black-and-white display, requiring approximately 22 KB of RAM for video. Its Macintosh operating system (Mac OS) provided a comprehensive application programming interface (API) with hundreds of functions for drawing graphics (lines, rectangles, ellipses, text in various fonts and styles) and managing user interface components (buttons, menus), offering a complete graphics programming system. This system allowed for WYSIWYG ('What you see is what you get') display of documents, making the GUI an intuitive environment for users and a powerful platform for programmers to develop modern interfaces efficiently.
Modern computer displays are predominantly raster displays, which construct images from a series of horizontal lines of pixels (picture elements), similar to how a television operates. Each pixel's color and illumination are determined by 1 or more bits in video memory. For example, a 640x480 resolution display has 307200 pixels. One bit per pixel allows 2 colors (e.g., black/white), requiring 38400 bytes. To achieve 16.7 million 'full colors,' 3 bytes per pixel (1 byte each for red, green, and blue) are needed, demanding 921600 bytes for a 640x480 screen. Color is produced by combining light from three electron guns (red, green, blue). The 'color depth' (number of bits per pixel) and display resolution are limited by the amount of memory available on the video adapter board. In contrast, older vector displays, like those used in the SAGE system, drew lines and curves directly using an electrically positioned electron gun, more akin to an oscilloscope.
📚 Continue Your Learning Journey — No Payment Required
Access the complete Code summary with audio narration, key takeaways, and actionable insights from Charles Petzold.