by Alex Rozanski

The Psychology of Software

Feb 5th 2010Published in Development, Software, Usability

Attending Matt Gemmell’s workshop last week was a great exercise for thinking from the user’s perspective – something which we, as software developers, often do not usually spend enough time doing because of being wrapped up in other things.

As developers, it is hard for us to detach ourselves from what we do and cater to the user. We live on the other side of the fence and are often restrained from making the right decisions because of the way we think, and usually need an objective opinion. We have the curse of knowledge by being so deeply focused in on our software, and what seems intuitive and easy for us is unlikely going to be the same for the people who use our creations.

Thinking from the user’s perspective

The amazing thing about a lot of usability and application design is that most decisions come down to simple thought of how your software is going to be used, and to anticipate and accommodate the user’s various needs. It’s about thinking “I shouldn’t put that text field there because the relation to that other form is confusing” or “I should relabel that button because the current label is misleading”.

As software developers, our main subjects are not computers (even though we do instruct them on what to do) but rather people. We have to be psychologists to some degree and accommodate their needs – our software of which is an end to a means.

The reality

As Matt stated on an earlier MDN show podcast, users want to spend as little time in an application as possible, so that they can get on with their lives. But because we have an affinity with the software we produce it is often hard to detach ourselves from the way we go about our business and think in this way.

Of course this doesn’t mean that we shouldn’t design and architect our applications in a maintainable way, and doesn’t mean that we should write crap code that looks like something the dog threw up. However bear in mind that the user doesn’t actually see any of this. To paraphrase Gemmell again, all the user sees of our applications is the interface.

At the end of the day, users couldn’t care less whether you have a PHP backend or the UI implemented using Rails; they have such a different perspective of what we create. What they care about is how your software solves their problem and how it makes their life easier by doing so.

Comments — 2

  1. Eimantas

    Feb 6, 2010

    How about testing with your non-dev friends? Even better with computer illiterate users? This way your app should be as idiot-proof as possible.

    But I wouldn’t fully agree with “use software as short as possible and get on with the life”. For some people “getting on with life” is using the software itself!

  2. Perspx(Author)

    Feb 6, 2010

    > But I wouldn’t fully agree with “use software as short as possible and get on with the life”. For some people “getting on with life” is using the software itself!

    I think most of the time it isn’t, except the obvious exceptions in entertainment such as video games or software used on your DVD player or whatever. If you are using a spreadsheet, even if you use it most of the time, it’s not something you really *want* to be using.

    And to that end, making software easier to use and more intuitive by catering to *how* users are going to use it is always a winner.

Add comment

Please enter your name and comment