Worse is better

Worse is better is actually known as New Jersey Style. Introduced by none other than Richard P. Gabriel, it also basically aimed to describe the software acceptance and its dynamics. It is just that it has its broader and even wider application.

Apart from it, its main concept emphasized is that quality does not actually increase along with functionality. And, there really comes in when less functionality is an even likeable option when it comes to usability and practicality. The software might be limited but still easy and convenient to use. This is even more attractive to the market and users as compared to the reverse.

Prior to the so-called oxymoronic title, it was actually called by Gabriel as caricature. This declares the style bad than the “Right Thing”. Nevertheless, he further stated that it has even more survival characteristics as compared to the right-thing development style. This is even more superior than the MIT Approach.

History

In the formulation of the concept, Gabriel was working as a Lisp programmer in the year of 1989. He even presented it in the essay entitled “Lisp: Good News, Bad News, How to Win Big”. In a particular section of the article “The Rise of “Worse is Better”, it was actually disseminated during the start of the year of 1991. This was especially right after Jamie Zawinski found it in the files of Gabriel at Lucid Inc. And then, it was emailed to colleagues and friends.

Description

The Worse is Better is actually claimed as a model of software implementation and design consisting of the following characteristics. This is in approximately descending order of significance.

Simplicity

As per the design, it must really be made simple, particularly in interface and implementation. Thus, the implementation must be made simple as compared to the interface.  In a design, it will always be essential to have simplicity.

Correctness

In almost all aspects, the design must always be correct. Nevertheless, it is better to just stay simple than right.

Consistency

Prior to the design, it must not also be overly consistent. There are times that consistency might be sacrificed. The important thing is that all those design parts are dropped. They are those that usually deal with less common situations than just to introduce inconsistency or complexity in the entire implementation.

Completeness

The design will have to cover a lot of significant situations as practical. All reasonable and expected cases must even be covered. Quality is also usually being favored than completeness. Even consistency may be sacrificed just to be able to obtain completeness. This is particularly true if simplicity is retained.

Concrete Examples, Variants (MIT)

In regard with the concrete examples of Worse is Better, these mainly include the early C and UNIX, created by none other than Bell Labs. These have been introduced as examples of this particular design method or approach.

Even the windows registry is another example wherein you will notice that everything in .NET is carried out through the use of plaintext.config files. And as the registry hive is believed to be really superior, it is still subjected to a lot of issues that relate to complexity. The moment you have lost a few bytes and they have been corrupt, you will now have to say goodbye to the registry data.

— Slimane Zouggari