TNL.net is designed for modern browsers but the content is still readable in older ones. If you want to ensure the best experience, please install a browser that was developed after 2009.

tnl.net

Usability Bazaar

Over the past few days, I’ve been doing some research for an easy-to-use web-based open-sourced con­tent man­age­ment sys­tem. The basic sys­tem needs to be usable by sev­eral peo­ple and needs to be sim­ple. In the process, though, I have learned that sim­plic­ity is hard to do.

The main chal­lenge comes from the fact that most soft­ware devel­op­ers are too knowl­edge­able to really cre­ate easy to use sys­tem. As a result, new fea­tures are cre­ated daily for open source tools but lit­tle atten­tion is being paid to mak­ing the over­all tools easy to use. The chal­lenge is that sim­ple inter­faces are hard to design and largely present a chal­lenge that is woe­fully under­ap­pre­ci­ated. A good inter­face is one that is so in tune with user expec­ta­tions that it becomes essen­tially invisible.

As a result, the bal­ance in prod­uct devel­op­ment always hap­pens between fewer fea­tures with an eas­ier to use inter­face vs. large fea­ture set with increased com­plex­ity. Weblog tools seem to man­age a care­ful bal­ance between the two but are unfor­tu­nately tied to a par­tic­u­lar model, based on entries and list of entries. More com­plex sites, with dif­fer­ent sec­tions and other func­tion­al­ity do not fall well within that mold.

Let me go through an exam­ple to get a bet­ter idea of what I mean. The site that I am try­ing to cre­ate is for an orga­ni­za­tion. Most of the peo­ple in that orga­ni­za­tion are peo­ple with lit­tle to mod­er­ate com­put­ing expe­ri­ence. They know how to use a browser, they know how to type text into a form. That’s basi­cally the level of knowl­edge that the sys­tem has to meet. How­ever, the sys­tem should allow for a num­ber of extra func­tion­al­ity such as the abil­ity to cre­ate a set of nav­i­ga­tions for a site, the abil­ity to cre­ate new pages within that site, and some basic work­flow com­po­nents to divide between con­trib­u­tors (who may cre­ate con­tent), edi­tors (who autho­rize that con­tent to be pub­lished and can create/edit/delete sec­tions), and admin­is­tra­tors (who will take care of adding new fea­tures, cre­at­ing, edit­ing and delet­ing users, and look and feel). There needs to be func­tion­al­ity to also allow mem­bers of the read­ing com­mu­nity to do some com­ment­ing on sto­ries posted, and for edi­tors to cre­ate polls.

So far, it seems like an easy thing to build. How­ever, when one scratches the sur­face, com­plex­ity sets in. How does one get noti­fied that con­tent needs to be updated? How does a story make it to the site? How does the site look and feel change? Using tools like Slash or PHP­nuke seemed like a good idea ini­tially but they lock a site into a par­tic­u­lar look and feel that can only be changed with a lot of hand-wringing devel­op­ment. Fur­ther­more, the com­plex­ity of orga­ni­za­tion is some­thing that the user com­mu­nity could not wrap their minds around.

As a result, I’ve dis­cov­ered that sim­plic­ity was much more com­plex. What we, as pro­gram­mers, expect a user to do is very dif­fer­ent from how users expect a sys­tem to react. From there, a big dis­con­nect arises. We know that there is only so much you can stuff on a screen. In terms of inter­face design, the best sys­tems are gen­er­ally sys­tems that appear to pro­vide less options to the user. For exam­ple, the suc­cess of web browser arise from the fact that their inter­face is rel­a­tively sim­ple: an entry field (where you type the URL), some basic nav­i­ga­tion (go for­ward, go back, reload, stop, and home) and a con­tent win­dow. By com­par­i­son, Microsoft Word has no less than 23 choices on its “stan­dard” menu. I would haz­ard a guess that most peo­ple do not use most of the func­tions on this menu and that they there­fore should be hidden.

In Don’t Make Me Think, Steve Krug points out that proper web design should ensure that users don’t have to think about where to look in order to find the infor­ma­tion they need. This is a pretty major step in devel­op­ment that shows that users should be able to intu­itively use a sys­tem. How­ever, design­ing such a sys­tem is a very com­pli­cated endeavor.

Over a year ago, Matthew Thomas pointed out some of the usabil­ity issues pre­sented to the open source com­mu­nity. A cur­sory look at open source appli­ca­tions since then has shown lit­tle progress on the sim­plic­ity front. As a result, I have started a Yahoo Group enti­tled Usabil­ity Bazaar (with apolo­gies to Eric Ray­mond for steal­ing his line.) Please feel free to join in. Together, we might be able to start focus­ing on those issues and devel­op­ing open source soft­ware that peo­ple other than us geeks will use.

Originally published on June 12, 2003 in Technology . You may find related thoughts pieces under the following terms: , , ,