we've been talking about Native Objects lately around TWI, so i thought that i would dig up the article by usability guru Larry Constantine criticising the Naked Objects approach. this article was originally recommended to me by Tom Poppendiek at last year's XP2003 conference, but i hadn't looked it up until now: http://foruse.com/articles/nakedobjects.pdf.
i haven't read any of Constantine's writings previously, but everyone that i've talked to who knows a thing or two about usability has got great things to say about his work on usage-centered design (UCD). this article, i found, was a different matter entirely.
first of all, it is pretty light on criticism, but is full of pomp and invective directed at the naked objects approach and its authors. quotes like "the usability problems with such interfaces ... will be fairly obvious to any competent usability professional" are not really constructive. rather than providing a balanced evaluation of this new and interesting technique, Contantine goes on the defensive and categorises naked objects as a threat to usability experts everywhere; a threat that could eliminate them from project budgets. i'm sorry, but huh??
i agree that usability experts are undervalued, but naked objects hardly presents a threat of this magnitude. besides, there is huge opportunity for a usability expert to direct the generation of a naked objects UI. Constantine seems to miss the point in thinking that a naked object UI has to look like just like the default UI generated by the framework and must have the same usability idioms (right-click context menus and drag-and-drop). this was a technique developed by the authors with application to their particular domain. they produced this UI as a product of interacting with and receiving feedback from their users. it worked for them, but it doesn't mean that it should be blindly applied everywhere. there is a huge opportunity to customise the generated UI to meet the user's needs and a usability expert should be instrumental in helping with this.
Constantine also seems to fixate on the jargon used by the naked objects developers: words like object, member and instance. yes, these words might be unfamiliar to users -- though they do communicate the ideas effectively to OO developers, which is the target audience here; however, there is no reason why these terms need to percolate into the language of the UI. work with the users to come up with a synonymn that expresses the same idea to become part of the team's domain language. no big deal.
Constantine's dismissive language directed at "object-oriented congniscenti" hardly serves to bridge the gap that he believes exists between programmers and usability experts, and the fact that all of his references point to his own papers hardly helps build his case. bottom line: i'm still waiting for a better informed, more rational critique of naked objects.