Digital product delivery and its impact on businesses, teams and people.

Month: August 2009

The dark side of prototyping

Going high-fidelity early in the design process

The term fidelity means how perfect a prototype is made (if you want to read more on this subject, you might want to read my article Balancing fidelity). As with perfection in any other area, perfection in prototyping comes at a cost:

It makes the design process rigid. Obviously, creating and making changes to a high-fidelity prototype takes more effort than to a less perfected prototype. It’s a labour-intensive approach and doesn’t lend itself to a creative and dynamic design process where we want to explore alternatives and be able to quickly change things that don’t work out as expected.

We get attached to our creations. We all hate making changes to things that has taken us a lot of effort to create. Since high-fidelity prototypes take blood, sweat, and tears to build, we are more likely to become reluctant to improve them. We get attached to our initial ideas and will settle for less than good enough. Also, managers are likely to be highly reluctant to support costly changes to something that has already taken its bite of the budget.

We waste time on things that will be changed anyway. Prototypes are built to get answers to questions that are important to the product design. The longer it takes us to create the prototype, the later we will get the answers we need. And the more time we use polishing our prototype, the more time we risk wasting on something that won’t survive the next iteration.

We will have to struggle to get the feedback we need. If we present a detailed prototype to our clients, their eyes and attention will inevitable be drawn to the details. Issues, such as colours, image quality, logo treatment, typography, spelling, data validity, stability, and response time will put the conceptual aspects of interaction design and of information architecture in the shade. Form will trump function, and minor flaws and temporary solutions will stand out. While the details have to be discussed sooner or later, it’s counterproductive if the design is still in a conceptual stage. We will get a whole lot of input, but will have to struggle to get feedback we need.

Usually, i love the articles at GUUUI but i don’t agree with this post.

One of the big drawback of low-fi prototypes is that we have to ask a lot from our customers to envisage the proposed idea.

Quite apart from tools like Axure. A wealth of CSS and JavaScript frameworks exist to speed up this process. (Blueprint and jQuery are my personal favs). Plus we get the distinct advantage of creating a prototype which can be tested with real users earlier in the design/development life cycle.

With some planning, these can be easily changed to support future development so the cost of development isn’t wasted. Let’s not pretend that the prototype won’t be re-used. (Build one to throw away is one of the biggest fallacies of the software development process)

Sure you have to remind clients the design isn’t finished or that it’s not pulling real data from the database but in my experience, that’s more than made up by the client getting the idea being proposed.

Book: Landing page optimization by Tim Ash

Just received my copy of Landing page optimization by Tim Ash.

Landing Page Optimization: The Definitive Guide to Testing and Tuning for Conversions (Paperback)

Product Description
How much money are you losing because of poor landing page design? In this comprehensive, step–by–step guide, you’ll learn all the skills necessary to dramatically improve your bottom line, including identifying mission critical parts of your website and their true economic value, defining important visitor classes and key conversion tasks,   gaining insight on customer decision–making, uncovering problems with your page and deciding which elements to test, developing an action plan, and avoiding common pitfalls. Includes a companion website and a detailed review of the Google Website Optimizer tool. 

From the Back Cover

How much money are you losing because of poor landing page design? In this comprehensive, step–by–step guide, you will learn all the skills necessary to dramatically improve your bottom line:

  • Identify mission critical parts of your website and their true economic value

  • Define important visitor classes and key conversion tasks

  • Gain insight on customer decision–making and make your page friction–free

  • Uncover problems with your page and decide which elements to test

  • Understand the power and limitations of common optimization approaches

  • Develop an action plan and get buy–in from all key players

  • Avoid common real–world pitfalls that can sabotage your test

Packed with case studies, practical strategies, a detailed review of the Google Website Optimizer tool, and a comprehensive companion website, this one–of–a–kind resource will help you make your landing pages more profitable.

“Tim has figured out what so many people don′t understand: your website can (and should) get better. Every single day.”
Seth Godin, author of Meatball Sundae

“This book is a must–read for the modern Internet marketer.”
Kevin M. Ryan, Vice President, Global Content Director, Search Engine Strategies and Search Engine Watch

“This is the best business–focused, measurement–based guide to website design I have seen.”
Don Norman, cofounder of Nielsen Norman Group and author of The Design of Future Things

“Stop guessing at the best landing page designs and embrace true customer centricity. This book shows you how!”
Avinash Kaushik, Analytics Evangelist and author of Web Analytics: An Hour A Day

“Tim′s Landing Page Optimization is a must–have for your bookshelf.”
Bryan Eisenberg, New York Times and Wall Street Journal bestselling author 

Had good reviews on Amazon, will let you know what i think a little later.


What is usability anyway

With 57% of the UK population having access to the Internet now has never been a better time to launch a digital product, but research also shows that users have become more impatient. It now takes only 4 seconds for a customer to make a decision about the companies they encounter on the web, and whether they will use their products or services or go elsewhere.

With this in mind, it’s never been more important for a company to create a product that meets their customer’s expectations. It is essential to create an online experience that will engage the customer so that they feel as quickly as possible that the company not only has the item they want, but they are able to provide it in a way that is quick and simple.

Traditionally, these challenges have been met technically by software developers, websites have become more complex, and through the advancement of web 2.0 technologies there is very little to distinguish between a traditional software application and a website. Alongside the rise of technology and the Internet, a legion of usability engineers have been quietly working to shape the web to become more usable; more inline with customer’s expectations.

We all experience the efforts of these usability engineers but the truth is that most people still don’t know what usability actually means and what measurable benefit it will bring to a company.

What is usability?

“Usability is an approach to product development that incorporates direct user feedback throughout the development cycle in order to reduce costs and create products and tools that meet user needs” – What is usability (Usability Professionals Association)

In short, a usability engineer works with product developers to test how easy it is for someone to use their product. This is done many different ways but the most common are:

User testing – a usability engineer will watch people use something and make recommendations on how to improve it to give better results for the user.

Expert review – a usability engineer will review a product and make recommendations on how to improve it to giver better results for the user.

Make sense? Usability touches every part of your life; think about it tonight when you drive home, get through your front door to uncork a bottle of your favourite Chardonnay and relax while listening to your favourite music. The fact that you drove home in comfort and safety, that you got into your house, that you uncorked a bottle of wine, that you can literally listen to thousands of your favourite pieces of music on your MP3 player without even thinking about it, is testament to how much usability touches your life.

Across a study of 863 projects it’s been estimated that you can benefit from a measurable increase of 135% by setting aside 10% of your development budget for usability , as well as other benefits such as an increased in brand loyalty and word of mouth marketing.

Products have come a long way over the past 30 years, but there is still much to do. One area of usability that needs to greatly improve is accessibility; from 1st October 1999 it became a legal requirement that “a service provider had to take reasonable steps to change a practice which makes it unreasonably difficult for disabled people to make use of its services”.

What is accessibility?

Accessibility is the term that describes a field of usability that aims to explicitly improve the usability of a product for people with disabilities such as visual impairment, dyslexia, hearing impairment, mobility problems etc.

It’s no longer acceptable for a company to create a product without providing equal access to everyone. Moreover it’s really bad business!! I can’t think of any company that wouldn’t want some of the £50bn that the 8.6 million registered disabled citizens of the United Kingdom have to spend – or the £175 billion the UK’s over-50’s have to splash out (most people over 50 have some form of impairment such as deterioration of their sight).

The secret here is that accessibility isn’t expensive either, as long as it’s designed into your website from the start. A few simple techniques, can give you access to a combined market of 225 billion pounds, and if that isn’t good enough…those same simple techniques will make it piece of cake for Google to find and rank your website because Google accesses your website in the same was a visually impaired user with a screen reader does. Optimise for accessibility and your search engine ranking is likely to improve.

Technology is transient!

For a little over a year I’ve been planning to write a book on what makes a good software developer. This kind of book isn’t new, my personal book shelves is full of them, not to mention the hundreds of blogs and essayists sites which offer insight into what it takes to become one.

These books describe hundreds of different factors that will improve the developer lot, reams and reams have been devoted to:

  • Environmental factors,
  • Team structure,
  • Methodology,
  • Psychology.

The really good ones will make an impact and will change your life in an instant. However, the majority of developers I know consider these books pointless because the only books they think they need to read are the technical ones.

At work our book shelf is littered with titles such as WAP in 21 days and ASP in a nutshell. We’ve got more O’Reily and Wrox book then I’d care to mention and it was when I saw these literary carcasses getting dusty in favour of the latest technology release (“use dotNet to cook and egg “or something like that) that I decided enough is enough.

Transient Technology?

When I started programming I used Pascal, then Visual Basic, then ASP (VBScript, Jscript) and now (when I code) it’s in C#. Let’s not forget the forays into Delphi, Java, and C++. Plus my frequent use of TSQL, and other propriety languages such as MT’s templating system. However, rather then listing the skill portion of my CV I have a point I want to make, which is we very rarely stick with one programming language so why do we spend so much time learning the nuances of a programming language and not the supportive skills that enables us to adapt to the environment a developer works in?

I’m not suggesting that there isn’t a place for technical books. That would be absurd! My point is that in order to stand out from the crowd a developer should taking time to ask question and learn about best practice, fundamental principles, why and how developer tools work (I’m thinking Visual Studio) . We should all be interested in what are the factors that allow developers to flourish and then play our bit in ensuring that it happens.

Of course you have to write good code and for that you need to understand the languages you work with, but I’m convinced that you can get much further by working on the constants in our professions and not the things that change!

User experience in the software development team

User Experience (UX) design is traditionally seen as the domain of user interface (UI) design, but within a software development team it should mean so much more! UX should permeate through the whole development team. It should influence the way middle tier developers’ craft their components and the way database administrators create their tables, stored procedures and views.

Update: This article has now been published in UsabilityNews

Within a software development team, most talk of creating a good “User Experience” usually relates to creating an intuitive user interface. In the traditional sense this means;

  • The layout of the buttons,
  • The ability for the application to remember contextual information,
  • Or the intuitive nature of a web site navigation system,

but these interfaces, although important as the “face” of the application, are actually only a small part of what makes up the product.

Beyond the User Interface

A software application, like an iceberg, has a great deal of it’s complexity in the underlying structure of the program, the object model, where there are countless different members (interfaces, methods, and properties, delegates etc.) which transfer and transform data between objects and to and from the database.

While not as visible or as glamorous as the UI these are all interfaces that have users, your colleagues, whose needs must be satisfied.

On one level these “users” could be considered the most important users to satisfy because the culmination of their efforts make up the finished application, the ability for them to produce good software and the trade-offs they make in order to create the software will have a big influence on it’s character.

With this in mind the environment and the mind-set a developer works in is crucial to their ability to produce a good overall user experience. Every effort should be taken to ensure that they are focused on creating a good quality product, not in compensating for an awkward development environment or in acquiring the contextual information, from obscure code, that they need to complete their task.

Creating the right environment for UX to flourish

Every developer should be encouraged to develop this mindset; one way is to ensure that you create code that enables your colleagues to interface with it easily.

The simplest and most effective way of doing this is by naming your classes and members appropriately.

As a rough guide;

  • Your objects should be named clearly.
  • Your objects and their members should be named so that their intention is obvious.
  • Your members should exist harmoniously within scope of the class they inhabit, as well as the overall application.

When the ambiguity is taken out of the development activity, the amount of tacit knowledge needed to complete a task is diminished and the communication between team members is simplified but it’s in the subsequent phases of the project when this clarity pays real dividends. Creating an object model that is clear and expressive reduce the amount of background information that has to be re-learnt and understood before starting a development task, allowing the developer to become productive quicker.

I intend to discuss this topic further, the theme that every opportunity should be taken to reinforce a user centric mind set is, I believe, critical to the development of good products. Only by cementing the “user” in all it’s forms as an integral part of the development process will the team truly understand what is needed to create a successful User Experience.

© 2020 Matt Goddard

Theme by Anders NorénUp ↑