User Interface Clerks

Interaction design as an area of specialization is still relatively young, and continually evolving and re-defining itself. Often this is healthy; but in some cases, trends seem to have taken the discipline off the rails. One of these is a move to almost clerical roles and methods of user interface design that have arisen in some projects and companies with which I’ve been familiar, at least in the area of Web design.

Growing professions, particularly multidisciplinary ones without standardized certifications and qualifications, may be more likely to attract a people who are semi-qualified—and maybe only tangentially interested. This is perhaps especially true of “soft skill” roles such as interaction design and usability. But it seems to have happened very quickly in this field, and I am surprised at the number of people who claim to be qualified and have, for example, never heard of SIGCHI or its equivalents (or, at best, have never bothered to join); are not at all familiar with HCI history or classic papers and concepts (particularly true, it seems, of those who have never worked outside of the Web); and are often neither “active users” of technology (e.g. early adopters) nor particularly adept with or interested in computers in general.

Because these people practice neither user-centred design nor computer science, but rather focus on documentation (often using a very narrow range of specific applications), I call them “user interface clerks.” The design method they follow seems to be:

  1. Read uses cases written by business analysts;
  2. Produce static drawings of Web pages to reflect the use cases;
  3. (Optionally) perform usability tests using the drawings and make superficial changes as a result;
  4. Hand over the diagrams to Web developers and software engineers.

Notice that there is virtually no user input, research, knowledge, or involvement. The use cases do not introduce it, and they are the first significant problem. Most use cases are essentially disorganized short stories that describe how a user accomplishes a task or tasks using an imagined user interface. (Use cases are written by “business analysts,” a profession that seems to me to be devoid of any particular skill set or qualification. Perhaps the subject of a future post.) The user interface is not specified in detail, but critical aspects of it, such as widgets and Web pages, are assumed and written in. Much of the work of the interaction designer is heavily influenced, if not largely predetermined, by whomever writes the use cases. Ideally, of course, use cases should be implementation-independent, technology-free descriptions of a system, detailing basic user intentions and system responses, but not presuming any specific way of instantiating these in a particular user interface design. See for instance Constantine and Lockwood’s Structure and Style in Use Cases for User Interface Design (PDF).

Another problem is the drawings, or “wire frames” as they are usually called. These are typically produced in Microsoft Visio (or OmniGraffle on the Mac). They are very time consuming to produce and maintain, so the UI clerks end up spending the vast majority of their effort producing and editing them, as a result ending up virtually uninvolved in other aspects of analysis and design. “Wire frame” is a term that comes from computer graphics and is a display mode in which a three-dimensional object is rendered in a manner showing only object edges and joins, not surfaces. This is done in order to provide quick visualization of the models. There are two important differences between these wire frames and the diagrams drawn by the user interface clerk. The first is that, in computer graphic wire frames, the missing detail already exists and can be rendered at any time. The wire frames are an optional display mode: defining surface textures and fills is part of the work process. If the UI design equivalent of 3D object surface details was detailed graphic design, these UI “wire frames” might be justifiable, although I think it is preferable to design the entire user experience at least somewhat co-operatively with a visual designer.

However, the second difference between 3D wire frames and these user interface diagrams is that the non-rendered component of UI drawings is not just “surface details,” but the central component of the design: the behaviour of the user interface, or the interaction design itself. The diagrams are static and only specify content and, usually, rudimentary layout. So this design method is not only incomplete, but the behavioural details end up being defined by developers and engineers. This might work out in some cases, but often it does not. This is not only because the engineers do not have training or experience in interaction design, or do not have the time to consider it in enough detail. It is because good interaction design must be “built in” to a system, and cannot be tacked on at the end. This is particularly problematic for complex interactions, which are much more prevalent than in the earlier days of the Web.

I state that superficial changes are made if and when usability testing is performed: this is an important point and perhaps the crux of the problem. The “clerical” method of designing and defining a user interface is not only time-consuming, but is also part of a lockstep waterfall procedure, and as such is adhered to in order to reduce risk. That is, risk from the project perspective, not in terms of usability. It is considered far more important to deliver something—anything—on schedule than it is to succeed in improving a software system. And with that, we arrive back at the place that, as interaction designers, we have been arguing against for decades now. Partly as a result, the actual work of designing innovative and usable user interfaces is being taken over by visual designers and others who seem to be far more willing than the “clerks” to get their hands dirty with the details of interactivity.

It’s time for the user interface clerks to put aside Visio and learn about user and task analysis, interaction design beyond simple hypertext, and how to design and prototype interaction.

Blasted Church Chardonnay 2005

A friend bought me a 2004 vintage a few months back, and this differs significantly. This vintage has a clear, pale, almost silver-amber colour with a medium, citrus-pineapple nose. On the palate: dry, slightly weak acidity, medium body with a strong citrus flavour. Good, but a little overbalanced with the strong flavour. $23.

YVR Plans and Global Warming

There was a front page article in the Sun on Friday, “YVR considers building $1.2-billion runway across fish habitat.” Nowhere in the article are environmental factors beyond the local debated; even a spokesperson for the David Suzuki Foundation focuses on the fish. It is alarming to see plans for the airport into the 2040s and beyond discussed without mention of global warming (never mind that we now know there will be few fish by that decade if current trends are not reversed). It should be obvious that airline travel will be one of the activities we will have to curtail drastically in the near term; this will arguably have a significant impact on flight volume. In addition, it would seem the entire airport—never mind just the new “foreshore runway”—is at risk of being submerged with rising sea levels. When will we begin to make these connections, and begin to take action, including realistic adjustments in our planning activities?

Homeschooling in Vancouver

I wrote the following a year or two ago, with the intention of posting it to the HS-Van mailing list. I never did, mostly because the group is so defensive and belligerent that real debate on the issues I raise here would have been difficult or impossible, and the ill will created would have made it even more difficult than it has been for my family. I post it here in the hope that anyone considering home schooling in Vancouver (or elsewhere) will be very careful to find out what is happening in their community before proceeding.


I have not been subscribed to this mailing list before; my wife has forwarded me relevant and interesting e-mails. We’re going through a difficult time with our daughter right now, and while I cannot solely attribute the situation to home schooling in general or the Vancouver home schooling group specifically, it’s prompted me to think a lot about our experiences since we moved back to the city in the fall of 1999. We have home schooled in Victoria, the UK, and California as well as in Vancouver, but never experienced anything like what I have seen here.

As a father I’ve been somewhat on the periphery, partly out of necessity as I am the “earner” in our family, and partly because this is something of a pattern, here and elsewhere, in home schooling communities. Us dads tend to be quiet and in the background much of the time. This doesn’t mean that we don’t support home schooling, at least in most cases and certainly in mine.

I’ve always considered our family to be in the “unschooling” category. We have tried to follow interests and topics as they arise and as our daughter expressed interest. However, I would have to class many of the families I’ve encountered in Vancouver as non-schoolers. There seems to be strong resistance to pursuing sustained, in-depth work across a reasonable spectrum of subjects. One parent has even said, “we don’t learn from books”! From what I have seen there is a lack of rigour and depth in the approach to learning; a significant bias against any kind of co-operative study; and a particular prejudice against—or at least exclusion of—science.

More than this, there seems among some parents to be an encouragement of activity and experimentation that, in concert with academic activity, might be acceptable (depending on your bent); but in its absence I see as very unhealthy. There is nothing necessarily wrong with experiencing “altered states of consciousness,” as long as one has properly developed and secured the normal state.

I don’t think it’s an exaggeration to say that most of the home schooled children I know within a couple of years of my daughter’s age (16) could be considered dropouts. I mean that in the sense of learning and progress towards adult behaviour, responsibility, and independence. I sincerely doubt that any of them could pass a Grade 10 level general knowledge or standardized test. Before I’m attacked on that one, I will qualify it by saying that I believe the home schooling substitute for an arbitrarily imposed curriculum should be your own, and probably of higher standard, rather than virtually nothing at all. (It is also worth reflecting on how the Ministry of Education might change their stance on home schooling if they had a chance to assess some of these children.) The goal of home schooling has always been to do better than school. And in fact, many—perhaps most—home schooling communities produce a greater percentage of learners who continue their studies; they feed the post-secondary system with children who are better prepared, more academically advanced and inclined, and more mature than those who have gone through the compulsory schooling system.

If any of these kids actually do get around to considering university study, it will likely require significant remedial work. There is nothing inherently wrong with this, but the purpose of specifically choosing to start at a significant deficit is lost on me. One of the potential benefits of home schooling is to bypass the socially artificial “teenage” stage and get real experience pursuing a passion—for instance, via an apprenticeship with a mentor in the community.

I perceive a strong “hands off” philosophy from many of the parents. However, allowing someone to figure out their own life doesn’t preclude adult involvement and guidance. Guidance is not equivalent to control. “Doing what you feel like” without being aware of the consequences is not maturity.

Sometimes I wonder how many of the families we’ve encountered are familiar with the home schooling literature, such as John Holt. I have seen from some of the adults in the community the kind of cliquish, mean-spirited, exclusionary behaviour I have encountered nowhere else in my life except during my own days at public school. One of the results appears to be a group of children who are anti-adult, peer-attached, and often dishonest.

All of this is just my perspective; I know there is a lot of variety and dedication out there. However, I see this as a serious crisis, and can’t help but wonder what has gone wrong. We have some work ahead to turn our daughter’s life around, and the social and educational context is going to make this quite challenging. If new parents were to ask me whether to home school in this city, I would strongly recommend that they find other like-minded people before committing.

Gehringer Brothers 2005 Riesling

A clear, very pale lemon-gold appearance on this vintage. On the nose, clean medium grassy quality with a hint of sagebrush (brings back memories to this former Kamloops boy). A nice off dry palete, solid acidity, medium body and length. Grassy-vegetal qualities enhance the mineral quality. Overall, good; I will try others from this winery, which has had tastings around town recently that I’ve not been able to attend.

CBC Transmits US Government Propaganda Verbatim

I could hardly believe I was reading this when it came through on RSS today: Post-9/11 U.S. is safer but ‘not yet safe’. A White House “report” says that “since the Sept. 11 attacks, America is safer, but we are not yet safe.” In other words, “we are doing a great job, but you should continue to be scared and let us do whatever we think we need to do.” Of course, the U.S. is arguably less safe now than it was five years ago. But there is no counterpoint in the story, no analysis. The White House statement is reproduced without comment or question. What has happened to the CBC? Are news rooms now simply filled with people converting incoming press releases to HTML and scripts for the evening news?

Cocoa Week 2: Conversion Methods and Data

Day 6: More work on the ChromaBank class. I was pondering how best to handle data for the conversion methods. I realized that, looking forward to when I get to a patch librarian and, later, an editor, this class should be able to store patch bank data in different formats simultaneously: for example, Syntech sysex; EES sysex; audio for the cassette interface; and textual data–for which I hope to do an HTML template in addition to the simple listing provided by the original tape2txt. So I’m thinking that, in converting say from sysex to tape, I should initialize with sysex data from the input file(s) and then simply ask the object for audio patch data. (This could potentially ease conversions from multiple formats simultaneously, as well: the user might drag a couple of different kinds of files to the app, with HTML as the desired final output for all.) The fact that the tape data doesn’t exist would trigger an internal conversion and return the data in the requested format. This would also be an advantage in future for saving to files owned by the application, as only the data of interest to the user would be saved; perhaps there could also be a user preference. So syx2tape becomes a method of ChromaBank, called when tape data is requested and the tape instance variable is empty, or when the sysex data has ben modified. Perhaps the designated initializer should put “scratch patch” data in the sysex instance variable and leave the others null: this will be the most useful format for most people, and is also used by the new CPU Plus instrument upgrade.

One interesting stylistic limitation I have found is that a method which calls other instance methods seems to require variables that are in the scope of the object, rather than just the method. Which seems messy. Specifically, as I write bytes to the data format I’m converting to, I have to maintain counts and the converted data object-in-progress as well. Would it be better to pass these values back and forth between methods? What is the overhead for that? Perhaps in this case I don’t have to worry about this, as I can convert straight into the tape instance variable; this would presumably work also if it was already populated with data (for instance if the sysex variable was changed and another conversion was requested–which makes me think I need to convert other existing bank formats automatically when any of the format instance variables is set, to keep all data in sync within a ChromaBank object).

Day 8: Posted a question reflecting some of the above to the Cocoa-Dev list.

Day 9: Received a thoughtful reply from Rush Manbert, who suggested that with respect to using instance variables for efficiency, “the answer in 99.999% of the cases is no.” Also, the old adage, “first make it run, then make it fast.”

Day 10-12: Started putting together method arguments for passing back and forth a conversion flag; I’m using the form wasUp = [self writePre:inputSyx withFlag:wasUp]; and it seems this will work pretty well. Trying an instance of NSMutableData with appendBytes:length for compiling the converted data, but there’s something I don’t understand about the void pointer form for the bytes themselves I have to investigate.

Another problem I’ve had is finding a Cocoa equivalent for fgetc() used in the original code. This C function gets the next character from an input stream. So I am putting the data to be converted into an instance of NSInputStream. No results yet.

Day 13: Installed the CPU Plus upgrade in my Chroma, which will make it easier (more like modern synths) to implement an editor/librarian for the instrument.

Day 14: How do you inspect object instance variables in the Xcode debugger? I’m in an instance method on the stack. Globals doesn’t show them.

Vancouver Panhandlers

What is the difference between someone begging for money, and another shoving towards us a “newspaper” such as 24 Hours or Metro? Why is one considered more annoying and unacceptable than the other? Some might say that the former is asking for something, while the latter is giving us something else. They’re almost certainly both out there in an effort to survive. But the commuter rags are panhandling as well. They’re not asking for our money, but for our attention: the “news” gathered almost verbatim from wire services is simply a carrier for advertising. (Sometimes these papers don’t even pretend to be news-oriented, printing full-page ads on the front page.) And my attention is far more valuable than my money. In fact, I get paid for it.