Computing minimalism
Encyclopedia
In computing, minimalism refers to the application of minimalist philosophies and principles in hardware
and software design and usage.
. 8 or 16 Kilobytes of RAM was common, 64K was considered a vast amount and was the Address space
of the 8-bit
CPUs of the day. Expansion beyond 64K would require bank switching
. Storage capacities ranged from 88K floppy disks to (very expensive) 10 Megabyte hard drives. Personal computer
memories have expanded by orders of magnitude over time, where system requirements
remained the same for legacy software as it aged, making even the most elaborate, featureful programs of yesteryear seem minimalist in comparison with current software. Many of these programs are now considered abandonware
. As the capabilities and system requirements of common desktop software and operating systems grew, many developers adopted minimalism as a philosophy and began choosing to limit their programs to a predefined size or scope.
In the early 21st century, changing applications for computing devices have brought minimalism to the forefront. It is no longer necessary to buy a high-end desktop personal computer merely to perform common computing tasks. Multiplication of devices such as smartphones, netbooks and plug computer
s have made minimalism an important design concern. Google
's Chrome browser
and Chrome OS
are often cited as examples of minimalist design.
s made to be as simple as possible by eliminating button
s and dialog box
es that may potentially confuse the user. Minimalism is sometimes used in its visual arts meaning, particularly in the industrial design
of the hardware device or software theme
. John Millar Carroll, in his book Minimalism Beyond the Nürnberg Funnel
pointed out the use of minimalism resulting in little-or-no learning curve
with the benefit of 'instant-use' devices such as video games, ATMs
, and mall kiosks that do not require the user to read manuals. User Interface researchers have performed experiments suggesting that minimalism, as illustrated by the design principles of parsimony and transparency
, bolsters efficiency and learnability.
Minimalism is implicit in the Unix philosophy
of "Do one thing and do it well."
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....
and software design and usage.
History
In the 1950s, some mainframes had only 1,000 characters of memory. In the 1960s, mainframes had 4 to 64 Kilobytes of storage. In the late 1970s and early 1980s, with the earliest generations of personal computers, programmers had to work with the confines of relatively expensive and limited resourcesResource (computer science)
A resource, or system resource, is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource...
. 8 or 16 Kilobytes of RAM was common, 64K was considered a vast amount and was the Address space
Address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.- Overview :...
of the 8-bit
8-bit
The first widely adopted 8-bit microprocessor was the Intel 8080, being used in many hobbyist computers of the late 1970s and early 1980s, often running the CP/M operating system. The Zilog Z80 and the Motorola 6800 were also used in similar computers...
CPUs of the day. Expansion beyond 64K would require bank switching
Bank switching
Bank switching is a technique to increase the amount of usable memory beyond the amount directly addressable by the processor. It can be used to configure a system differently at different times; for example, a ROM required to start a system from diskette could be switched out when no longer...
. Storage capacities ranged from 88K floppy disks to (very expensive) 10 Megabyte hard drives. Personal computer
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...
memories have expanded by orders of magnitude over time, where system requirements
System requirements
To be used efficiently, all computer software needs certain hardware components or other software resources to be present on a computer. These pre-requisites are known as system requirements and are often used as a guideline as opposed to an absolute rule. Most software defines two sets of system...
remained the same for legacy software as it aged, making even the most elaborate, featureful programs of yesteryear seem minimalist in comparison with current software. Many of these programs are now considered abandonware
Abandonware
Abandonware are discontinued products for which no product support is available, or whose copyright ownership may be unclear for various reasons...
. As the capabilities and system requirements of common desktop software and operating systems grew, many developers adopted minimalism as a philosophy and began choosing to limit their programs to a predefined size or scope.
In the early 21st century, changing applications for computing devices have brought minimalism to the forefront. It is no longer necessary to buy a high-end desktop personal computer merely to perform common computing tasks. Multiplication of devices such as smartphones, netbooks and plug computer
Plug computer
A plug computer is a small form factor server for use in the home or office. Compared to their PC-based counterparts, plug computers are lower cost, consume less power, often do not have a video card, and are intended to be powered up at all times...
s have made minimalism an important design concern. Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...
's Chrome browser
Google Chrome
Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...
and Chrome OS
Google Chrome OS
Google Chrome OS is a Linux-based operating system designed by Google to work exclusively with web applications. Google announced the operating system on July 7, 2009 and made it an open source project, called Chromium OS, that November....
are often cited as examples of minimalist design.
Usage
Developers may create user interfaceUser interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
s made to be as simple as possible by eliminating button
Button (computing)
In computing, a button is a user interface element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action.-Description:A typical button is a rectangle or rounded rectangle, wider than it is...
s and dialog box
Dialog box
In a graphical user interface of computers, a dialog box is a type of window used to enable reciprocal communication or "dialog" between a computer and its user. It may communicate information to the user, prompt the user for a response, or both...
es that may potentially confuse the user. Minimalism is sometimes used in its visual arts meaning, particularly in the industrial design
Industrial design
Industrial design is the use of a combination of applied art and applied science to improve the aesthetics, ergonomics, and usability of a product, but it may also be used to improve the product's marketability and production...
of the hardware device or software theme
Theme (computing)
In computing, a theme is a preset package containing graphical appearance details, used to customize the look and feel of an operating system, widget set or window manager....
. John Millar Carroll, in his book Minimalism Beyond the Nürnberg Funnel
Nuremberg Funnel
Nuremberg Funnel is a jocular description of a mechanical way of learning and teaching. On the one hand, it evokes the image of a student learning his lessons with this kind of teaching method almost without effort and on the other hand, a teacher teaching everything to even the "stupidest"...
pointed out the use of minimalism resulting in little-or-no learning curve
Learning curve
A learning curve is a graphical representation of the changing rate of learning for a given activity or tool. Typically, the increase in retention of information is sharpest after the initial attempts, and then gradually evens out, meaning that less and less new information is retained after each...
with the benefit of 'instant-use' devices such as video games, ATMs
Automated teller machine
An automated teller machine or automatic teller machine, also known as a Cashpoint , cash machine or sometimes a hole in the wall in British English, is a computerised telecommunications device that provides the clients of a financial institution with access to financial transactions in a public...
, and mall kiosks that do not require the user to read manuals. User Interface researchers have performed experiments suggesting that minimalism, as illustrated by the design principles of parsimony and transparency
Transparency (computing)
Any change in a computing system, such as new feature or new component, is transparent if the system after change adheres to previous external interface as much as possible while changing its internal behaviour. The purpose is to shield from change all systems on the other end of the interface...
, bolsters efficiency and learnability.
Minimalism is implicit in the Unix philosophy
Unix philosophy
The Unix philosophy is a set of cultural norms and philosophical approaches to developing software based on the experience of leading developers of the Unix operating system.-McIlroy: A Quarter Century of Unix:...
of "Do one thing and do it well."
See also
- KISS principleKISS principleKISS is an acronym for the design principle Keep it simple, Stupid!. Other variations include "keep it simple and stupid", "keep it short and simple", "keep it simple sir", "keep it simple or be stupid" or "keep it simple and straightforward"...
- List of software development philosophies
- No Silver BulletNo Silver Bullet"No Silver Bullet — Essence and Accidents of Software Engineering" is a widely discussed paper on software engineering written by Fred Brooks in 1986...
- Pareto principlePareto principleThe Pareto principle states that, for many events, roughly 80% of the effects come from 20% of the causes.Business-management consultant Joseph M...
80:20 rule - Principle of good enoughPrinciple of good enoughThe principle of good enough is a rule for software and systems design. It favours quick-and-simple designs over elaborate systems designed by committees. Once the quick-and-simple design is deployed, it can then evolve as needed, driven by user requirements...
- Worse is betterWorse is betterWorse is better, also called the New Jersey style, was conceived by Richard P. Gabriel to describe the dynamics of software acceptance, but it has broader application. The idea is that quality does not necessarily increase with functionality. There is a point where less functionality is a...
- viVivi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...