February 2007
Mon Tue Wed Thu Fri Sat Sun
« Jan   Mar »
 1234
567891011
12131415161718
19202122232425
262728  

Month February 2007

If you understand users you know to ignore them or why requirements can’t be easily captured

I’m currently reading “Designing the Obvious: A Common Sense Approach to Web Application Design” by Robert Hoekman Jr. In the first chapter it is suggested that while it’s important to know how people think and work with software (so the UI can support their tasks and effectively map the UX to their mental model) we should ignore specific demands. The reason:

  • if you ask people if they want a feature, they tend to say ‘yes’; and
  • if you ask people what they want, you will get a long list of features or a comment on what they already have [as Henry Ford said: "If I'd have asked my customers what they'd wanted, they'd have asked for a faster horse".] – furthermore, in my experience: they will ask for everything they can think of since they treat the question like a test!

Busking is a lonely job

In other words, “we don’t really know what will happen when the hypothetical becomes real…” or put another way we just don’t know what we really want until we get it. This means you don’t get real answers by asking users what they want, you get them by watching what they do. Chuck Klosterman at Esquire also highlights the dangers of listening to what people say:

I worked in newspapers for eight years, right when that industry was starting to disintegrate. As such, we spent a lot of time talking with focus groups, forever trying to figure out what readers wanted. And here is what they wanted: everything. They wanted shorter stories, but also longer stories. They wanted more international news, but also more local news. And more in-depth reporting. And more playful arts coverage. And less sports. And more sports. And maybe some sports on the front page…it’s useless to ask people what they want; nobody knows what they want until they have it.” (ref)

This is, in part, because most people don’t factor in the ‘cost’ of the feature, I don’t mean the financial cost but the ‘UX cost’ – the reduction in performance, the increase in complexity, the reduction in productivity. Google have been able to quantify this trade off in UX:

Speed is just about the most important concern of users – more than the ability to get a longer list of results, and more valuable than highly interactive ajax features. And they didn’t learn that from asking users, just the opposite. The ideal number of results on the first page was an area where self-reported user interests were at odds with their ultimate desires. Though they did want more results, they weren’t willing to pay the price for the trade, the extra time in receiving and reviewing the data. In experiments, each run for about 8 weeks, results pages with 30 (rather than 10) results lowered search traffic (and proportionally ad revenues) by 20 percent.” (ref)

All this points to the fact that observing what people do is more important than listening to what they say. For novel, complicated systems it is just too difficult for most of us to consider what we want or need in the abstract; we can’t effectively think through the implications of our decisions without some touchstone to help guide us. This truism holds for both end users and other project stakeholders (including clients) – which is why Big Design Up Front is a such risky strategy: People will change their mind when they see and use the site, application or product you’ve built; it is therefore better to accept this, indeed benefit from it, and put in place strategies to cope at the outset.

Remain agile: have a clear vision for the product that everyone understands, and a road map for how to get there, but learn and adapt the details as the project develops. In other words quickly build components or prototype the system and see what people do with it, rather than the slow death march that is BDUF. That is, of course, unless the system you are designing is well understood i.e. its not novel or it’s simple – but if that’s the case you are more likely to be duplicating existing, tested, designs in any case.

Photo: Busking is a lonely job, by Iain Alexander. Used under licence.

Future Of Web Apps, London – review

Future of Web Apps logoAs I mentioned previously I went to the Future of Web Apps conference this week. The conference had the usual mix of interesting, not so interesting and sales pitches – here then is my take on the interesting.

Simon Willison gave a great, very entertaining, presentation on OpenID – which for those that don’t know, is a framework for creating a decentralised service to manage your online identity. OpenID uses a single website URL, instead of a username and password, to identify yourself with a site. There are a number of OpenID providers or you can setup your own, if you’re that way inclined.

Over the last few weeks both AOL and Microsoft have come out in support of OpenID – and I would love the BBC to replace their Single Sign On service with OpenID. Anyway, at FOWA both Digg and Netvibes announced that they too will support OpenID, this is great news; I suggest you should take this as a sign to find out more – 2007 will surely see an increasing number of services adopting OpenID and new business models enabled by it.

Netvibes also announced that they will launch a Universal Widget API (UWA) with the objective of “build your module once, deploy everywhere [Vista, Mac, Google, Yahoo!]”. As part of the UWA Netvibes are releasing:

  • An open source Javascript runtime environment
  • A UI library for widgets
  • Netvibes also want to build a community of APIs

All interesting stuff but I fear that the UWA won’t be compatible with the proposed W3C widget standard which would be a real shame, anyway more information over at Techcrunch.

Other consistent themes included the importance of building an API into your web app from the outset, the use of attention data and being open and honest with your users; of these attention data is, to me, the most interesting.

When you pay attention to something, or when you skip it, data is created
(Matthew Ogle, Last.fm).

I suspect that we will start to hear a lot more about attention data in the coming year both in terms of functionality and generating revenue. For example, Flickr uses attention data to calculate which photos are ‘interesting‘: “We looked at how many times was a photo commented on, viewed, blogged about, and saved as a favourite” (Bradley Horowitz); or how Last.fm uses attention data to moderate the importance of user tags (if you listen to a piece of music your tags count more than if you don’t). And of course if someone knows what you pay attention to, and what you don’t, that data is incredibly valuable to advertisers.

Two pizza teams

I’m at the Future of Web Apps Conference, London this week – there are some really interesting presentation, which I will post about over the next little while but to kick things off I wanted to talk a bit about Amazon’s ‘two pizza team‘ philosophy.

Pizza Man

Werner Vogels, Amazon’s CTO presented a paper on “Why and How Its Easier Than Ever Before To Build A Web Business and Compete With Anyone” – in which Werner discussed Amazon’s Web Services S3 (Simple Storage Service) and EC2 (Elastic Compute Cloud) – and how they can be leveraged by third parties (such as Smugmug, Second Life and YouOS.com) to build web apps at significantly reduced costs. The services look fantastic, I’ll write about them in more detail another time, but for now I want to discuss something that Werner mentioned in passing, in response to a question: Do Amazon developers use the Web Services?

It appears that they do. The Amazon development teams use the Web Services (such as S3 and EC2) to provide a framework on which to build products. What is interesting is that these project teams are small: if they can eat more than two pizzas, it’s too large (i.e. no more than 8 or 10 people).

The two pizza rule appears to me (Werner didn’t expand so I’m making the next bit up) to be a great way of making sure that a problem is broken down into small, bite size (sorry), chunks. This is a very good idea because:

  1. it means each multidisciplinary project team tackles a specific, well defined, business problem – they know what they are aiming for;
  2. the team is closer to the business owner or user – in big teams it is easy for team members to hide;
  3. the team can’t get too distracted nor over engineer the problem;
  4. the team should be more efficient because there should be a lower communication overhead – both within the team and between teams;
  5. it reduces complexity and therefore risk because the problem is partitioned;
  6. the team should have greater velocity and be able to iterate more rapidly;
  7. and finally if a project does go belly up it means the company hasn’t invested too much.

This approach to application development enables Amazon to be both relatively nimble in its application development and deploy an entirely new (i.e. non-core) service to a different market segment – helping it to diversify its offering. And there aren’t too many big enterprises that can say that.

Photo: Pizza Man, by Dickuhne. Used under licence.
Follow

Get every new post delivered to your Inbox.

Join 1,236 other followers

%d bloggers like this: