Desert of My Real Life

{June 19, 2013}   Software Controls Users

I’m often surprised that some of the most valuable lessons I learned back in the late 1980’s have not become standard practice in software development. Back then, I worked for a small software development company in Western Massachusetts called The Geary Corporation. The co-founder and owner of the company was Dave Geary, a guy I feel so fortunate to have learned so much from at a formative stage in my career. He was truly ahead of his time in the way that he viewed software development. In fact, my experience shows that he is ahead our current time as most software developers have not caught up with his ideas even today. I’ve written about these experiences before because I can’t help but view today’s software through the lens that Dave helped me to develop. A couple of incidents recently have me thinking about Dave again.

I was talking to my mother the other day about the … With Friends games from Zynga. You know those games: Words With Friends, Scramble With Friends, Hanging With Friends, and so on. They’re rip-offs of other, more familiar games: Scrabble, Boggle, Hang Man, and so on. She was saying that she stopped playing Hanging With Friends because the game displayed the words that she failed to guess in such a small on her Kindle Fire and so quickly that she couldn’t read them. Think about that. Zynga lost a user because they failed to satisfy her need to know the words that she failed to guess. This is such a simple user interface issue. I’m sure Zynga would explain that there is a way to go back and look for those words if you are unable to read them when they flash by so quickly. But a user like my mother is not interested in extra steps like that. And frankly, why should she be? She’s playing for fun and any additional hassle is just an excuse to stop playing. The thing that surprises me about this, though, is that it would be SO easy for Zynga to fix. A little bit of interface testing with real users would have told them that the font and speed at which they displayed the correct, unguessed word was too small and too fast for a key demographic of the game.

My university is currently implementing an amazingly useful piece of software, DegreeWorks, to help us with advising students. I can’t even tell you how excited I am that we are going to be able to use this software in the near future. It is going to make my advising life so much better and I think students will be extremely happy to be able to use the software to keep track of their progress toward graduation and get advice about classes to think about taking in the future. I have been an effusive cheerleader for the move to this software. There is, however, a major annoyance in the user interface for this software. On the first screen, when selecting a student, an advisor must know that student’s ID number. If the ID number is unknown, there is no way to search by other student attributes, such as last name, without clicking on a Search button and opening another window. This might seem like a minor annoyance but my problem with this is that I NEVER know the student’s ID number. Our students rarely know their own ID number. So EVERY SINGLE time I use this software, I have to make that extra click to open that extra window. I’m so excited about the advantages that I will get by using this software that I am willing to overlook this annoyance. But it is far from minor. The developers clearly didn’t test their interface with real users to understand the work flow at a typical campus. From a technical standpoint, it is such an easy thing to fix. That’s why it is such an annoyance to me. There is absolutely no reason for this particular problem to exist in this software other than a lack of interface testing. Because the software is otherwise so useful, I will use it, mostly happily. But if it weren’t so useful otherwise, I would abandon it, just as my mother abandoned Hanging With Friends. When I complained about this extra click (that I will have to make EVERY time I use the software), our staff person responsible for implementation told me that eventually that extra click will become second nature. In other words, eventually I will mindlessly conform to the requirements that the technology has placed on me.

Dave Geary taught me that when you develop software, you get the actual users of that software involved early and often in the design and testing. Don’t just test it within your development group. Don’t test it with middle management. Get the actual users involved. Make sure that the software supports the work of those actual users. Don’t make them conform to the software. Make the software conform to the users. Otherwise, software that costs millions of dollars to develop is unlikely to be embraced. Dave’s philosophy was that technology is here to help us with our work and play. It should conform to us rather than forcing us to conform to it. Unfortunately, many software developers don’t have the user at the forefront of their minds as they are developing their products. The result is that we continue to allow such software to control and manipulate our behavior in ways that are arbitrary and stupid. Or we abandon software that has cost millions of dollars to develop, wasting value time and financial resources.

This seems like such an easy lesson from nearly thirty years ago. I really don’t understand why it continues to be a pervasive problem in the world of software.

{June 11, 2012}   Interaction Design

I’m reading an interesting book by Janet Murray called Inventing the Medium: Principles of Interaction Design as a Cultural Practice. She is articulating things that I’ve thought for a long time but is also surprising me a lot, making me think about things in new ways. The book is about the digital medium and how objects that we use in this medium influence the way we think about the world. She argues that technological change is happening so quickly that our design for the medium hasn’t kept up. Designers use the conventions that work well in one environment in a different environment without really thinking about whether those conventions make sense in that second environment. As a result we get user interfaces (which is a term she doesn’t like but which I’ll use because most people interested in these things have a pretty good idea of what we mean by the term) that are far too complex and difficult to understand.

One idea that strikes me as particularly important and useful is Murray’s argument that designers create problems when they separate “content” from the technology on which the “content” is viewed. Like McLuhan, Murray believes that “the medium is the message,”  by which she means “there is no such thing as content without form.” She goes on to explain, “When the technical layer changes, the possibilities for meaning making change as well.” In other words, if you change the device through which you deliver the content, the tools needed to help consumers understand that content should probably also change. My favorite personal example of the failure of this idea is the Kindle, Amazon‘s e-reader. I’ve owned my Kindle for about three years and I mostly love it. One thing that feels problematic to me, however, is the reporting of where you are in the book that you’re reading. Printed books are divided into chapters and pages and it is easy to see how much further the reader has to go to the end of the book. Readers trying to read the same book might have difficulty if they are using different editions because page numbers won’t match up but the divisions into chapters should still be the same. If a page of text in a physical book corresponds to a screenful of text on an e-reader, page numbers don’t really make sense in e-books, mainly because the reader can change the size of the font so that less or more text is able to be shown on the screen at a given time. This means that the Kindle doesn’t have page numbers. But readers probably want to be able to jump around e-books just as they do in physical books. And they want to know how much progress they’ve made in an e-book just as they do in a physical book. So Amazon introduced the idea of a “location” in their e-books. The problem with a “location,” however, is that I have no idea what it corresponds to in terms of the length of the book so using locations doesn’t give me a sense of where I am in the book. For that purpose, the Kindle will tell me the percentage of the book that I’ve currently read. I think the problem with these solutions is that the designers of the Kindle have pretty much used the idea of pages, changed it only slightly and unimaginatively, and it isn’t as informative in the digital medium as it is with a physical book. I don’t know what the solution is but Murray suggests that the e-reader designers should think about the difference between “content” and “information” in their design.

Murray distinguishes between “content” and “information” and thinks that device designers have problematically tried to separate content from the technology on which this content will be viewed. So the designers of the Kindle see the text of the book as the content, something they don’t have to really think about in designing their device. Instead, Murray suggests that they focus on information design, where the content, which in this case is the text, and the device, in this case the Kindle, cannot be separated. The designers should think about the affordances provided by the device in helping to design the information, which is meaningful content, with which the reader will interact.

Another example appeared in my Facebook timeline last week, posted there by one of my friends pointing out the fact that the Mitt Romney campaign is insensitive at best and hostile at worst to women. The post is a video of Romney’s senior campaign advisor Eric Fehrnstrom, appearing on This Week with George Stephanopolous a week ago, calling women’s concerns “shiny objects of distraction.” Watching it, I was annoyed and horrified by what I was supposed to annoyed and horrified by. But I also noticed the ticker tape Twitter feed at the bottom of the video. The headline-type feeds at the bottom of the screen on television news have become commonplace, despite the fact that they don’t work particularly well (in my opinion). I’ve always felt that the news producers must know that the news they are presenting is boring if they feel they have to give us headlines in addition to the discussion of the news anchors. But in the video of Romney’s aide, the rolling text at the bottom of the screen is not news headlines but a Twitter feed. So the producers of This Week have decided that while the “conversation” of the show is going on, they want to present the “conversation” that is simultaneously happening on Twitter about the show. There are several problems with this idea, not least of which is that most of the tweets that are shown in the video are not very interesting. In addition, the tweets refer to parts of the program that have already gone by. And finally, the biggest problem is that the Twitter feed recycles. In other words, it’s not a live feed. They show the same few comments several times. Someone must have thought that it would be cool to show the Twitter conversation at the same time as the show’s conversation but they didn’t bother to think carefully about the design of that information or even which information might be useful to viewers. Instead, they simply used the conventions from other environments and contexts in a not very useful or interesting way.

Another of Murray’s ideas that strikes me as useful is the idea of focusing on designing transparent interfaces rather than intuitive interfaces. Intuition requires the user to already understand the metaphor being used. In other words, the user has to understand how an object in the real world relates whatever is happening on the computer screen. This is not particularly “intuitive,” especially for people who don’t use computers. I’ve been thinking about the idea of intuitive interfaces since I started teaching computing skills to senior citizens. For them, it is not “intuitive” that the first screen you see on a Windows computer is your desktop. And once they know that, it isn’t “intuitive” to them what they should do next because it’s all new to them and so they don’t have a sense of what they CAN do. For example, they can put a piece of paper down on a real desktop. Metaphorically, you can put a piece of paper (a file) down on the Windows desktop but the manner in which you do that is not “intuitive.” The first question I always get when I talk about this is: How do I create a piece of paper to be put on the desktop? Of course, that’s not the way they ask the question. They say, “How do I create a letter?” That’s a reasonable question, right? But the answer depends on lots of things, including the software that’s installed on the computer you’re using. So the metaphor only goes so far. And the limitations of the metaphor make the use of the device not particularly intuitive.

Murray argues that focusing on “intuition” is not what designers should do. Instead, designers should focus on “transparency,” which is the idea that when the user does something to the interface, the change should be immediately apparent and clear to the user. This allows the user to develop what we have typically called “intuition” as she uses the interface. In fact, lack of transparency is what makes many software programs feel complex and difficult to use. Moodle, the class management system that my University uses, is a perfect example of non-transparent software. When I create the gradebook, for example, there are many, many options available for how to aggregate and calculate grades. Moodle’s help modules are not actually very helpful but if the software was transparent, that wouldn’t matter. I would be able to make a choice and immediately see how it changed what I was trying to do. That makes perfect sense to me as a way to design software.

This book is full of illuminating observations and has already helped me to think more clearly about the technology that I encounter.

{November 13, 2011}   Software Development and the User

I’ve been thinking about software usability a lot lately, mostly because I encounter so much software that isn’t particularly usable. There are two pieces of software that I use a lot right now which drive me crazy for their lack of usability. And yet, I still use them. Perhaps that’s why the usability doesn’t improve. Anyway, here are some thoughts.

The software development company that I worked for right out of college was The Geary Corporation, founded by Dave Geary in Pittsfield, Massachusetts. It doesn’t exist anymore because Dave died of MS and not too long after, his family sold it to Keane, Inc. But while it was around, Geary was an awesome company to work for and one of the things that distinguished it from other companies at the time (and apparently, companies now) was its focus on the user. We did a lot of development for Fortune 500 companies, which have a lot of middle management type people. Dave would not deal with those folks as we developed our software and this is a lesson I learned well. He would make the contract with the folks at the top of the decision chain and then he would go straight to the users. We might deal some with the users’ direct supervisor but all decisions about how the software needed to work were passed by the users on the front line, tested by them and approved by them. I learned this lesson so well that it is a central tenant of the software engineering textbook that I co-wrote.

I think about this a lot when I’m using Facebook. It’s a great tool for social networking but as time has gone on, I think the folks at Facebook have forgotten the user. The latest example of this is their recent upgrade of the Newsfeed so that it is no longer presented chronologically. Instead, Facebook decides what to show you. The Facebook site explains that this is for people who don’t visit Facebook very often and so Facebook tries to predict what will be most interesting so they don’t have to wade through a lot of minutia. That’s fine but did Facebook test this out with folks who use Facebook every day or multiple times a day? Given the subsequent uproar, I would guess not. To their credit, Facebook recently announced that they’ll be rolling out another update to give users an option concerning how they want their Newsfeed to appear. I keep using Facebook because the advantages outweigh the disadvantages (so far) but I have installed a cool app that gives me more control over my experience with the site. The app is called Social Fixer (used to be Better Facebook) and although it doesn’t work perfectly, given that it’s created by one guy in his living room, it’s awesome.

The other piece of software that is giving me fits is the tool that we use at PSU to search for courses. It’s always been ugly and clunky and not easy to understand but we have such a shortage of IT folks to help fix these things that I’ve never officially complained about it. We recently decided to stop printing a paper list of our courses which forces everyone to use this search tool. And so someone recently decided to upgrade the tool. To do the same search now requires more clicks and more scrolling than before. That’s a sign to me that whoever did the upgrade didn’t talk to faculty about how they use it. I suspect that they also didn’t talk to students. What a horribly inefficient use of time–why would you spend time upgrading a tool so that the result is less usable? If someone had come to talk to me for ten minutes, I would have explained, for example, that searching for courses by department is not an “advanced” use of the software and so I don’t want to have to click an extra time to get to that option.

None of this probably seems like a huge deal. But when you think of the amount of time we spend developing software and then using that software, it seems crazy to me that we would not take a few minutes early on to get user input as to how the tool can be most efficient and effective.

et cetera