Archive for October, 2011

Nokia’s Only Sin

Tuesday, October 25th, 2011

17 September 2010 by Steven Hoober

“ Nokia’s only sin seems to be that it doesn’t use an OS that the US chattering class has decided is worth chattering about. In penance it should adopt either Android or Windows Phone. (But not both. It can’t maintain two OSs, after all. Only American companies can do that, although they chuckle about it afterwards in their halls.)

I’ll let you in on a dirty little secret: Nokia has even more OSs than just these two. It has S40, for instance, and I wouldn’t be surprised if they have even more OSs for really cheap feature and basic phones. But talking about S40 is not hip and cool, so let’s not. ”

Mobile platform strategist, consultant, and trainer Peter-Paul Koch (PPK) on Nokia’s Problem, concluding that it has problems, but they are not those most analysts think they are.

Context Is Important for Design and Testing

Tuesday, October 25th, 2011

13 September 2010 by Barbara Ballard

Everything has changed! It’s a new world! We have to re-learn everything about design!

So goes the tone of the majority of articles and presentations about mobile user experience that I’ve seen or read in the past three years (at least). Mostly, I ignore them – the actual content is good so I can live with a little grandstanding. Yes, context is crucial (we’ve been saying this for over a decade). Yes, device capabilities and interaction should influence design (again, I started talking about this in 1999).

But like some solid ideas get re-invented repeatedly, so do some not-so-solid ideas. Long-term mobile usability practitioners know that people interact differently with a device in their hand than with the same web site with the same pixel count on a computer screen. And this has been true for longer than we have had access to sensors like cameras, GPS, and accelerometers.

So it pains me to see an otherwise good article, like usability for mobile devices over at UX Matters, assert that a simulator or emulator is a good way to perform a usability test. Actually, the authors did this immediately after suggesting that testing in context is also good. So let’s set the record straight.

Guidelines for usability testing web sites and apps on mobile devices
Test on actual devices. If your app or site runs on different device types, then test on the most common devices found in your audience. Why?
People interact with things differently when the device is held in their hands rather than sitting on a desk.
Pixel sizes are different, not to mention bezels and the proximity of keyboards, so your visual design is perceived differently.
With an emulator, you run the risk of the software being not quite right (or too right) and your participants’ experience is changed.
Network connections differ between device and computer. Not only do connection speeds differ, but the latency of the connection differs. Faking a perfect network connection does your data no good at all.
Core UI elements don’t always work the same way. What if they need to install a component. Doing that on a handset is often totally unrelated to adding to the emulator.
Simulators are even worse. A lot of people don’t get the difference between simulators, emulators and remoting (like Device Anywhere). This just increases the chances of variations between actual devices and the test environment.
Unless you have participants shaking a computer, you lose any interactions that are not mimicable by a mouse, or even a touchscreen computer or tablet.
Don’t expect participants to learn a new device. This means either use the participant’s device (very risky given battery, connectivity, virus, and billing considerations) or use a device the participant is familiar with. You can add this to the screener, for certain classes of users, so you know in advance what they use.
Test in the field only when you have to. Studies suggest you won’t find any more usability issues, so do it only when you have something like in-person payments or location to perform. This is not saying you can’t discover information with ethnographic research, but we’re talking about usability testing now.
Consider paper prototyping, or digital variants. You can make the system behave in any way you want. And you can even let users pick up the paper. Or tape it to a phone or make a plywood “device” to make this easier and more realistic. Yes, you can even print paper at the right scale for your notional phone.
Capture video without limiting the user. There are ways to strap cameras down that let participants move normally while you capture on-screen interaction, their gestures and button presses, and their reactions.
Need eye tracking? You don’t always, but there are now very small, head-mounted solutions that can work with mobile device testing, and even cue to arbitrary environments.
For a little more about this, check out this very old presentation on Mobile Usability Testing or come to Design For Mobile 2010 next week in Chicago. I’ll be talking even more about this, so come join us!

Why Can’t You Use the Cool Stuff You Already Have?

Tuesday, October 25th, 2011

07 September 2010 by Steven Hoober

“ ...why can’t work keep up? Why are you forced to use an unfamiliar, and sometimes outdated, operating system? Why do you need a second laptop, maybe an older and clunkier one? Why do you need a second cell phone with a new interface, or a BlackBerry, when your phone already does e-mail? Or a second BlackBerry tied to corporate e-mail? Why can’t you use the cool stuff you already have?...

...security is on the losing end of this argument, and the sooner it realizes that, the better. ”

Security guru Bruce Schneier on Consumerization and Corporate IT Security.

A Proven Way to Help Defeat Corruption

Tuesday, October 25th, 2011

06 September 2010 by Steven Hoober

“ Afghanistan now boasts a cellular network of 12 million cell phones in country of 28 million. Mobile technology is the largest legal, taxpaying industry in Afghanistan and the single greatest economic success story in the country since the fall of the Taliban. The existing network also offers a proven way to help defeat corruption.

In 2009, the Afghan National Police began a test to pay salaries through mobile telephones, rather than in cash. It immediately found that at least 10% of its payments had been going to ghost policemen who didn’t exist; middlemen in the police hierarchy were pocketing the difference. Salaries for Afghan police and soldiers are calculated to be competitive with Taliban salaries, but beat cops and deployed soldiers had been receiving only a fraction of the amount paid by US taxpayers because of corruption in the payment system. Most Afghan cops assumed that they had been given a significant raise, when, in fact, they simply received their full pay for the first time—over the phone. ”

Freelance journalist Michael Yon on One Cell Phone at a Time: Countering Corruption in Afghanistan.

Trying to Solve the Wrong Problem

Tuesday, October 25th, 2011

01 September 2010 by Steven Hoober

“ The problem is that every company out there that’s addressing this opportunity, from Sony to Samsung to even Apple, is actually trying to solve the wrong problem. None of them are really asking how they can fix the living room problem. Rather, they’re focusing on establishing their brand in the living room, positing completely unrealistic scenarios in which a consumer buys only, say, Samsung-branded components (e.g., its absurdly useless WiseLink protocol) without acknowledging the reality that the components of most home theaters make for a decidedly heterogeneous world. ”

Khoi Vinh on Subtraction discussing how Apple Blinks in the Living Room by pursuing a strategy of pushing it’s brand into an existing space, instead of cooperating, or making things truly simpler. The problems of the interactive second screen are similar to those of the fourth.

Influencing the Requirements Process – Designing Documentation, Part 2

Tuesday, October 25th, 2011

23 August 2010 by Steven Hoober

Specifications are hard. There are a lot of conflicting needs, and the complexity of the documents might be more severe than the product you are specifying. Aside from designing products or interactions or interfaces, I spend a lot of time designing the documents themselves. A happy ending to this sort of process is detailed in last week’s post on Designing Requirements Documentation.

Which might bring up the question: What type of specification? Design documentation, which is most of what we do (well, by hours – most actual documents by count are proposals and emails and so forth) took a long time to settle on, but it has evolved into something pretty specific and which works very well to communicate to everyone on the entire project team. There have been several evolutions, many mandated by technology alone; I used to do everything as a single sheet which functioned as sitemap and flowchart and detailed page/state layout. But when I had to work with more remote teams getting 36” x 10’ pieces of paper to them was more difficult and had to change to something else.

But complete technical specifications are still something else. There are also content specifications, style guides, and lots of other documents. But today let’s talk about the general technical specification, that developers use to build or modify software or presentational code to meet your design needs. Integration of technical specs with design has always been an issue. I’ve spent a lot of time messing with my deliverables to make them comply, or revising them to be pasted into the appendix of an IT specification. All of which is fairly unsatisfying and never helps much.

It is also important to believe that design documentation is good, important, valid work. We spend a lot of time buried in IT process, and I have to fight even people here at Little Springs to make them believe that our work and our method of work is valid. Sure, you can use IT requirements documents to do your work, but that’s not their intent, and there are better ways to do it.

After a lot of work imposing myself and my team into the development process with our own documentation, way back around 2002 – while working at Sprint, I got to work my design documentation directly into the technical specification. At the time, Sprint IT used something called Application Design Documents, and I was able to persuade them that the UX team could do the best, most efficient job of making some of the document.

Note that the text and tables are in the IT format, specifying the behavior of each widget in a specific manner. And the screenshots (I prefer other methods, but this is what they could handle at the time) are placed in a process-compliant manner, but there are just about 20 times as many as usual. I also did a lot of the writing, or at least editing, of the specifications, so when it was done both the IT analyst and the whole UX team agreed on the behavior of each and every feature.

This product, both by design and implementation, was a high-water mark in ease of use in my career. Web-initiated SMS with millions of uses a day, without a help system and hardly any error messages, with impossible uptimes and no measurable customer complaints. Almost unheard of for a mobile telecom operator, at least in the US. And although it took forever to create the document, some of this was simply getting everyone involved used to the new process, and we saved a lot of time correcting errors and explaining stuff in development.

But then that dream died. After a few months of work, a big fire-everyone-for-IT-outsourcing binge left disappointingly few software designers and analysts in house. I had to start all my relationships over and reconsider how all deliverables would work with random, far-away teams using them. So for the next few years I made do by improving my design documents, communicating with project teams as much as possible, and actually writing requirement documents when I could.

Writing requirements
Which became a key task I tried to accomplish. If the UX team got engaged early enough (which is always a problem) I pushed to review and approve the requirements. Then I found out no one wants to write them, so simply volunteering gave the UX team lots of additional authority.

A key reason I like working on requirements is that they are often poorly done. For example, Business Requirements and Functional Requirements are too often conflated. A BR document is very, very high level. It contains the goals of the project, and rarely more than a couple dozen, or that’s a sign you either wrote them wrong or the project is too big to be completed. Some Business Requirements you might read are:

System shall have the ability to allow user to enter a street address and geocode it to a dynamic map displaying coverage and signal strength.
System shall have the ability to drill down from a national map perspective if no address on file for user (i.e. in-front of log-in).
System shall have the ability to allow user to enter only a ZIP code and geocode it to a displayed map.
System shall have the ability to allow user to enter an intersection and geocode it to a displayed map.
System shall have the ability to allow user to enter a City/State combination and geocode it to a displayed map.
Etc.
But this is dead wrong. System? And so very many. That’s a set of Functional Requirements, and not a well-written set at that. But all is not lost. Assuming that the marketing and product people like these, you can redo them as actual requirements. A typical, well-written Business Requirement could read:

Allow customers to find coverage for a specific area in multiple ways: by entering a general location, a specific street address, an intersection, two locations, etc.
And this covers all those bad requirements above, and then some. Cases you don’t think of at the beginning of the project are still in scope. A half dozen more like this and you have a project.

Functional requirements
A Functional Requirement on the other hand provides specifics of technical, logical, or presentational behavior. These are also boring, so often don’t get enough attention. Oh, they have to be written to proceed through the IT process, but no one wants to do it, so they get poorly written. If you want to make sure the product gets built right, and that the implementation teams are doing what you designed, just insert yourself in the process.

Good Functional Requirements look like this:

FR-40 From within the Wired Web unified messaging access portal, a function will be provided for customers to move SMS messages between folders, (e.g., Inbox, Outbox, Spam).
Better written Functional Requirements help a lot. Some notes about requirement writing were in the earlier blog entry, so I won’t repeat them here. But they better not all start “System shall” or “Ability to.” Even if it’s nerdy, academic, and technical, with otherwise annoying neutral-voice characteristics, use good english, first and foremost. The above requirement is written the way I like them all to be. First, the condition or state From within. Then, who can do it, here the customer, but the system may automatically do things at certain times or when certain conditions occur. And then, what happens. Pretty generally. An example of the folders are given, but there’s not a requirement for each folder, and a comprehensive list is not given.

Not just because this would be cumbersome, but because it would be wrong. Remember, there are other documents and other requirements. The structure of the folders here is likely described in some architectural specification. So as part of this writing, be sure to understand the scope of the document, and how it works with the many other documents that are part of the IT process upon which you have imposed yourself.

The product is more important than you are
And after all that, it is a bit thankless. Your name will probably not be on the document as an author, and everyone will credit the analyst, who may not credit you. That’s fine. Often, it’s preferable, since UX is viewed with dark suspicion by parts of the organization.

Even as a vendor, we pretty often deliver work in someone else’s template (or, have to create one that looks like the client’s brand).

Getting the product right is most important; work on how your team is perceived later. Which is probably a good topic for another post in the future.

While I won’t be hosting a process workshop at this year’s Design for Mobile conference, there’s plenty more to learn about mobile design, technology, strategy, research and implementation. Still some space available, so join us in Chicago next month.