Posts by: marc

Do all stakeholders agree with “value”?

Often we focus upon business value. More often than not this means “the business” saying what is most important to them. There are often requirements that are mandatory parts to the project, but do not drive any business value in themselves. For example compliance and operational support. It is thus essential to invite all stakeholders to prioritisation workshops and be clear with the language used when commencing the prioritisation. Rather than just asking participants to ascribe “Must have”, “should have”, “Could have”, “would like to have / won’t have” (“MoSCoW) priorities to requirements without context, ask them to group their requirements into clearly defined chunks of functionality that can could be delivered as a self-contained releases that would deliver “business value”. In this way you are more likely to have “must haves” that make sense to all parties involved.

Polly’s on ebay

I’ve come to the realisation that I’ll never find the time to restore my old VW campervan, so sadly it is time to let her go. Polly was well travelled, took me all round Europe in my student days. But time moves on, and here’s the ad. And here are some pictures. Go on, you know you want to…

Shoot the wizard! Designing a real world form

The web has created some clunky metaphors that suit the limitations of the code rather than supporting the intentions of the user. Forms are a great example of something that has a direct “real world” analogy, yet rarely mirror what happens in the real world.

I sit at my desk and I complete my tax return. Half way through I hear my two month old daughter screaming. I take a break from the form and feed her. When I return it is still on my desk in the same state I left it. Yet my online experience? I get timed out and anything I have done on the form has been lost. Unless I saved the form at that point.

And then there is the wizard. A linear step processes that dictates I complete one page before continuing to the next. Usually the wizard has a step indicator or progress monitor through the form; yet this is rarely a true monitor of progress through the work completed, rather page x of y. Probably this step indicator will not be clickable – if I am on page 3 I’ll be lucky if I can hyperlink back to page 1 and almost certainly I will not be able to hyperlink to page 5.

Forcing me to follow the wizard, down a clearly defined route to complete the form has a number of inherent issues.

  • Clearly it is inconsistent with my real world experience of form filling. When I get my tax return through the post I flick through it. I get a feel for it. Maybe I fill out the boxes that I am comfortable to answer now, leaving others till later. I jump around the form in a way that is rarely possible on on-line forms. I don’t have to “register”. I don’t have to “save”. The form is there. I’m in control to do what I want to do with it, not what the form designer wants.
  • The wizard is not only inconsistent with my real world experience, it is also inconsistent with my expectations of the web. I browse the web. Yet I cannot browse the form before I complete it. The one, consistent point of reference I have with my experience of the internet is the back button. Yet in many web applications this is removed. Or it behaves inconsistently; i.e. you’ve got two back buttons that behave differently (browser back button moves you to the previous page, back buttons on the page direct you to the previous page in the process).
  • With a wizard pushing me down a pre-determined route, I am more likely to feel lost, trapped or unable to complete the form – when I reach a barrier my experience necessarily ends. You need my national insurance number? I don’t have it to hand. I click “next” and an error message appears. “Please enter your national insurance number”. I can hear an exasperated sigh.

There is an alternative to this “command and control”, imperative programming approach. It is a behaviour driven, declarative approach. Ditch the prescriptive wizard and adopt a “hub and spokes” structure to the form. The user navigates around the form, completing it according to their own preferences. With AJAX we no-longer have to post the form on each page transition, this can be done at the field completion level. Dependencies on the form can be dynamically driven rather than being prescribed up-front. There is no need to register first, the user name and password can be anonymous (and stored via a cookie) until the user decides to reveal their identity to us. The user takes control away from the designer. The metaphor for the form becomes the off-line form with the web technology providing enhancements to the experience rather than the limitations seen in so many forms you see today.

I declare! Rich internet applications

One of the problems of many internet applications is that they are constrained by the “command and control” approach of imperative programming. This results in a sequential, step driven behaviour that allows little freedom for the user to work efficiently. Contrast this with the declarative approach to programming which is very much user-behaviour driven.

Think of your on-line banking application. You want to pay a bill. Your natural behaviour may be “I want to make a payment from account to beneficary on or around date for the value of amount.” Yet typically this will be handled imperatively; a payment wizard forcing you down the route of account-beneficary-date-amount, with each step being a new page. I do not have the flexibility with such an approach to change my mind or to do things in a different order: “I want to make a payment for the value of amount on or around date from account to beneficary“.

Think of a spreadsheet; you would enter all the fields on the same sheet. Make changes to one field and other fields can be simultaneously updated. This would be impossible to achieve if your web application is linear and step driven.

The declarative approach to programming allows such flexibility being data or behaviour driven rather than process driven. With the constraints of implementation process removed we can build user interfaces that better address user goals and intentions. Rich Internet Applications (RIA) are an excellent example of the declarative approach. Ajax enables RIA to a degree, but Macromedia Flex and the opensource cousin Laszlo take it one step further. Take a look at this demo – a truly awesome (IMHO) flight checker application (click on the Search Now button to see the functionality).

The main issue with RIAs that are built in Laszlo or Flex (or indeed extensive Ajax) is those of compatibility and accesibility. By forcing users to have Flash downloaded are you likely to exclude users who don’t want, or can’t have Flash? And accesibility – I’m not sure to what extent this is addressed by them. However if resonable alternatives are provided (i.e. a “text only” version with little rich client side functionality) this ceases to be a problem.

Collaborative drawing

I am a true beleiver of the power of drawing. I get itchy feet in meetings when people are just talking about concepts. I get an urge to jump up to the whiteboard and try and illustrate what we are talking about. When we are distributed this can be a little harder. There is no whiteboard on a conference call… This doesn’t have to be the case. Here is an awesome collaborative drawing tool that has great potential to develop and share ideas in illustration. Next step is to get a pen to replace drawing by mouse and make my sketches actually look like what my hand is drawing.

Consistency or usability feature?

The National Lottery have added a new Results Checker to their website. They use JavaScript to support the user enter their numbers into the boxes: you type a number and the focus of the mouse jumpts to the next box. First impressions are that this is a useful feature. However, it is conflict with the user behaviour of manually tabbing between fields. Given the audience profile I would make a call that this is acceptable; what percentage of the general population are familiar with the concept of using the tab key to move between field? My hunch would be a small number.

The feature fails in one small but crucial respect. It lacks internal consistency. They have an “orignal results checker” that does not use the JavaScript onFocus script. This leads to a conflicting mental model of the site. Some boxes automatically tab, other’s manually tab. Is this a lesson for interface designers to learn, when updating some parts of a site, don’t forget to refactor other parts of the GUI?

Accesible Ajax

Lovely bloke, but no idea what he is blogging about most of the time. But Duncan Cragg’s latest blog about declarative Ajax makes a little bit of sense to a non-techy like me. It is contains some great nuggets to play back to those people in the business that want to keep the website stuck in circa 1999. “We don’t want JavaScript. Not interested in this Ajax stuff. It ain’t DDA compliant”. That’s OK. Start by designing without the JavaScript and add the cool stuff later. I’ve seen this done on several ThoughtWorks projects, building DDA compliant websites yet have some truly awesome interactive capabilities using Ajax. …And seen the heads of the web-luddites nodding in approval as we show the site provides a compelling experience for non-JS users, and an even more compelling experience for JS users.

Google analytics

Last year I worked with a client who had an antiquated web analytics package. They had no idea what was going on on their site until they spent £££££s on an updated package.

…I’ve recently downloaded google analytics that seems to do pretty much everything that the commercial package did. I can track user journeys through my site, and see conversion rates (if I had anything to convert…) Setting it up was simplicity itself (as you’d expect from google). Some of the stats it provides are useful for tweaking the usability of the site – I can see bounce rates for each page. Other stats are just plain interesting. Hello to the 3 people in Singapore who visited dancingmango yesterday. And hello to you in Streatham. Shame you left after 5 seconds, you don’t know what you missed!

Password paradox

That dreadful peice of software Lotus Notes prompts for a password change at regular intervals. It does not permit you to use the same password used before. A similar situation occurs with opening Microsoft XP. Whilst this may be considered to be more secure from a technology point of view, it betrays human behaviour. Generally we humans adopt the most parsimonious strategy for getting on with life. We go for simplicity. I’ve tried to be clever with my password strategy, but I’ve just run out of unique passwords that I can remember. This morning I was struck down with password amnesia. Ten minutes spent trying to remember my passwords. So I can do one of two things. Write the passwords down. Hardly secure. Or adopt a common strategy of selecting a word and adding a digit to it. and incrementally increasing the digit at every password change. This will undoubtedly compromise the goals of complex passwords regularly changed, but how much easier is it to have “Password1” this week and “Password2” the next. (That’s not my passwords BTW. Obviously.)

Office 2007 beta – pleasure & pain

Downloaded the beta version of Office 2007 – I’d been assured you can run it alongside Office 2003. First impressions are good – PowerPoint gets infinitely better, you can make presentations that don’t look a thing like PowerPoint. They gone back to basics with Word; the whole styles and formatting thing was just getting stupid. Now it is intention driven and pretty simple to use. If you are going to replace the whole UI of probably the worlds most used software application you need to make sure you do it right. I think they have succeeded. Excel looks pretty good as well, but didn’t spend much time with it because…

IT KNACKERED OUTLOOK!!

So I no can no longer access outlook. Something to do with .dll files. A visit to some of the forums (or is it fora?) does not reveal a solution. So I am left with no other option but to uninstall both the beta and my existing version of Office. A return to Lotus Notes for my mail (grrrrrr) and a sour taste in my mouth. ho hum.