Archive: Dec 2007
I don’t remember where I first heard the term “0-1-N Fallacy” (and Google doesn’t want to help), but I’m pretty sure I didn’t make it up. If anyone knows the source, please let me know so I can give credit where it is due.
The “0-1-N Fallacy” is a misguided design process based around the idea that if an application displays data records of some sort, it must handle exactly three cases – displaying 0 records, displaying 1 record, and displaying N records (where N can be any number from 2 – infinity)
The problem with the 0-1-N fallacy is that if you always design a product to scale to handle infinite records, you will invariably wind up with an overcomplicated user interface when N is a small number. In cases where N is almost always a small number, designing for unlimited scalability makes the needs of the many outweigh the needs of the few.
One simple example is the usage of radio buttons vs. select boxes. Radio buttons are almost always preferable to select boxes when presenting a very small amount of choices – because the choices are always fully visible. If you absolutely must handle a case of unlimited options, you have to go with the select box. But if 90% of the time, you only have a small amount of options, you’ve made life much harder for the vast majority of cases, to handle the extreme outlying cases.
It may seem heresy to most engineers to claim that anything less than infinite scalability is good enough, but in UI design that is definitely the case. The iPhone, for example can only have 9 web pages open at once. It probably has the memory to hold dozens more, but if it held dozens, it would have to abandon the extremely elegant UI of “flicking” thumbnails to move between pages, and use a clunky list instead.
It may also seem heresy to apply semi-arbitrary limits on presented data but that’s why UI design is sometimes more of an art than a science. It takes experience and confidence to tell a developer “I don’t care if your search algorithm can present 1,000 options – presenting 5 is what’s right for the user.”