Worse is better
Encyclopedia
Worse 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
Software quality
In the context of software engineering, software quality refers to two related but distinct notions that exist wherever quality is defined in a business context:...

 does not necessarily increase with functionality. There is a point where less functionality ("worse") is a preferable option ("better") in terms of practicality and usability. Software that is limited, but simple to use, may be more appealing to the user and market than software that is more comprehensive, but harder to use. The phrase is an oxymoron
Oxymoron
An oxymoron is a figure of speech that combines contradictory terms...

 and at different times, Gabriel himself has argued both sides of the "worse is better" concept.

Origin

Lisp expert Richard P. Gabriel came up with the concept in 1989 and presented it in his essay "Lisp: Good News, Bad News, How to Win Big". A section of the article, entitled "The Rise of 'Worse is Better'", was widely disseminated beginning in 1991, after Jamie Zawinski
Jamie Zawinski
Jamie Zawinski , commonly known as jwz, is a former professional American computer programmer responsible for significant contributions to the free software projects Mozilla and XEmacs, and early versions of the Netscape Navigator web browser...

 found it in Gabriel's files at Lucid Inc.
Lucid Inc.
Lucid Incorporated was a software development company founded by Richard P. Gabriel in 1984 which went bankrupt in 1994.-Beginnings:Gabriel had been working for Lawrence Livermore National Labs on a computer hardware project called "S1", the first incarnation of which used a CISC processor...

 and e-mailed it to friends and colleagues.

Description

In The Rise of Worse is Better, Gabriel claims that "Worse-is-Better" is a model of software design and implementation which has the following characteristics (in approximately descending order of importance):
Simplicity: The design must be simple, both in implementation and interface. It is more important for the implementation to be simple than the interface. Simplicity is the most important consideration in a design.
Correctness: The design must be correct in all observable aspects. It is slightly better to be simple than correct.
Consistency: The design must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases, but it is better to drop those parts of the design that deal with less common circumstances than to introduce either complexity or inconsistency in the implementation.
Completeness: The design must cover as many important situations as is practical. All reasonably expected cases should be covered. Completeness can be sacrificed in favor of any other quality. In fact, completeness must be sacrificed whenever implementation simplicity is jeopardized. Consistency can be sacrificed to achieve completeness if simplicity is retained; especially worthless is consistency of interface.

Gabriel argues that early Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 and C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, developed by Bell Labs
Bell Labs
Bell Laboratories is the research and development subsidiary of the French-owned Alcatel-Lucent and previously of the American Telephone & Telegraph Company , half-owned through its Western Electric manufacturing subsidiary.Bell Laboratories operates its...

, are examples of this design approach.

The MIT approach

Gabriel contrasts the philosophy of "Worse is better" to the so-called "MIT
Massachusetts Institute of Technology
The Massachusetts Institute of Technology is a private research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing a total of 32 academic departments, with a strong emphasis on scientific and technological education and research.Founded in 1861 in...

 approach" (also known as "the Right Thing"), which he describes as follows in The Rise of "Worse is Better". Contrasts to "Worse is better" are in bold:

Simplicity: The design must be simple, both in implementation and interface. It is more important for the interface to be simple than the implementation.
Correctness: The design must be correct in all observable aspects. Incorrectness is simply not allowed.
Consistency: The design must be consistent. A design is allowed to be slightly less simple and less complete to avoid inconsistency. Consistency is as important as correctness.
Completeness: The design must cover as many important situations as is practical. All reasonably expected cases must be covered. Simplicity is not allowed to overly reduce completeness.

Effects

Gabriel argues that "Worse is better" produces more successful software than the MIT approach: As long as the initial program is basically good, it will take much less time and effort to implement initially and it will be easier to adapt to new situations. Porting software to new machines, for example, becomes far easier this way. Thus its use will spread rapidly, long before a program developed using the MIT approach has a chance to be developed and deployed. Once it has spread, there will be pressure to improve its functionality, but users have already been conditioned to accept "worse" rather than the "right thing". "Therefore, the worse-is-better software first will gain acceptance, second will condition its users to expect less, and third will be improved to a point that is almost the right thing. In concrete terms, even though Lisp
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...

 compilers in 1987 were about as good as C compilers, there are many more compiler experts who want to make C compilers better than want to make Lisp compilers better."

Gabriel credits Jamie Zawinski
Jamie Zawinski
Jamie Zawinski , commonly known as jwz, is a former professional American computer programmer responsible for significant contributions to the free software projects Mozilla and XEmacs, and early versions of the Netscape Navigator web browser...

 for excerpting the worse-is-better sections of "Lisp: Good News, Bad News, How to Win Big" and e-mailing them to his friends at Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

, who sent them to their friends at Bell Labs
Bell Labs
Bell Laboratories is the research and development subsidiary of the French-owned Alcatel-Lucent and previously of the American Telephone & Telegraph Company , half-owned through its Western Electric manufacturing subsidiary.Bell Laboratories operates its...

, "who sent them to their friends everywhere." He apparently connected these ideas to those of Richard Stallman
Richard Stallman
Richard Matthew Stallman , often shortened to rms,"'Richard Stallman' is just my mundane name; you can call me 'rms'"|last= Stallman|first= Richard|date= N.D.|work=Richard Stallman's homepage...

 and saw related ideas that are important in the design philosophy of Unix
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:...

, and more generally in the open-source movement
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

, both of which were central to the development of Linux.

Gabriel later answered his earlier essay with one titled Worse Is Better Is Worse under the pseudonym
Pseudonym
A pseudonym is a name that a person assumes for a particular purpose and that differs from his or her original orthonym...

 "Nickieben Bourbaki" (an allusion to Nicolas Bourbaki
Nicolas Bourbaki
Nicolas Bourbaki is the collective pseudonym under which a group of 20th-century mathematicians wrote a series of books presenting an exposition of modern advanced mathematics, beginning in 1935. With the goal of founding all of mathematics on set theory, the group strove for rigour and generality...

).

See also

  • KISS principle
    KISS principle
    KISS 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"...

  • Software bloat
    Software bloat
    Software bloat is a process whereby successive versions of a computer program include an increasing proportion of unnecessary features that are not used by end users, or generally use more system resources than necessary, while offering little or no benefit to its users.-Causes:Software developers...

  • List of software development philosophies
  • Minimalism (computing)
  • No Silver Bullet
    No 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 principle
    Pareto principle
    The 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 enough
    Principle of good enough
    The 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...

  • The Mythical Man-Month
    The Mythical Man-Month
    The Mythical Man-Month: Essays on Software Engineering is a book on software engineering and project management by Fred Brooks, whose central theme is that "adding manpower to a late software project makes it later"...

  • The UNIX-HATERS Handbook
    The UNIX-HATERS Handbook
    The UNIX-HATERS Handbook is a semi-humorous edited compilation of messages to the UNIX-HATERS mailing list. The book was edited by Simson Garfinkel, Daniel Weise and Steven Strassmann and published in 1994....


External links

  • Is Worse Really Better, Richard P. Gabriel
  • The Rise of "Worse is Better", Richard P. Gabriel
  • Worse is Better, Richard P. Gabriel
  • Worse is Worse, Jim Waldo (Sun Microsystems engineer)
  • The “Worse is Better” idea and the future of Lisp, Daniel Weinreb
    Daniel Weinreb
    Daniel L. Weinreb is a programmer and computer scientist. He attended MIT 1975–1979, graduating with a B.S. in Computer Science and Electrical Engineering, where he wrote EINE, the text editor for the MIT Lisp Machine. EINE made use of the window system of the Lisp Machine, and thus is the first...

  • Worse Is Better, So Start Simple and Go from There, a Lifehacker discussion
  • c2 wiki entry on WorseIsBetter, contributors on Ward Cunningham
    Ward Cunningham
    Howard G. "Ward" Cunningham is an American computer programmer who developed the first wiki. A pioneer in both design patterns and Extreme Programming, he started programming the software WikiWikiWeb in 1994 and installed it on the website of his software consultancy, Cunningham & Cunningham , on...

    's WikiWikiWeb
    WikiWikiWeb
    WikiWikiWeb is a term that has been used to refer to four things: the first wiki, or user-editable website, launched on 25 March 1995 by Ward Cunningham as part of the Portland Pattern Repository ; the Perl-based application that was used to run it, also developed by Cunningham, which was the first...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK