When Web Developers Dont Consider Usability

It should come as no surprise that many ecommerce sites suffer from poor usability because technical decisions are made like this email thread from a newsgroup that found it’s way to the Internet:

Hi all,

Quick question. I want to implement a shopping cart. I know this has
been done a million times in a million open source projects however I
have a few questions, and seeing as everyone in here seems so
knowledgeable.

What I’d like:

1) User can add to shopping cart without having to check in. (checkout
requires login).

2) User can leave the site and un-checked out shopping cart data will
remain.

The options I have to implement the shopping cart:

a) Cookies – satisfies 1 and 2, but assumes user doesn’t turn off
cookies
b) HttpSession object – satisfies 1, but not 2
c) Database shopping cart object – satisfies 2, but not 1.

I’d like to know,

a) am I basically correct with these assumptions.
b) What would people recommend based on their experience.
c) any struts open source project that might have this?

Thanks very much,
Brian

Essentially Brian asks what is the best way to save the contents of a shopping cart so if a customer leaves the site, the customer can pick up where he/she left off without requiring registration to add products or access the cart (otherwise known as a “persistent shopping cart.”)

Since today we’re more enlightened about the perils of required registration before checkout – namely its impact on conversion, the first response to Brian’s question should shock and disturb you:

I think you’d make your life easier if your required login.
.V

When web developers are more concerned about how to make their own life easier, rather than provide the best customer experience, you get advice like this.

The second response also lacks consideration / understanding of the end user:

I haven’t any tech input, but I’ve an idea how I’d stagger the
development.I’d forget about cookies and db’s at first, save them for a
later stage.

1. Store your cart in session, and when that all works. For everyone.
Gets to the checkout and funds are exchanged.

2. Create a login where clever stuff like saving your objects to db’s
goes on.

3. Then once you’ve a logged in user start thinking about when to save
the cart.

None of what I’ve said is ground breaking, but It does avoid messing
with cookies, up to this stage. When the user logs in s/he gets his/her
cart back.

4. I guess the final stage could be to do the cookie stuff, so users
are logged in as soon as they get to the site. And thus the retrieval
of the cart also, as its already in place integration would be smooth.

Don’t know who useful this is, but there’s nothing to offer in terms of
the actual mechanisms in play. But by getting folks paying asap, the
extras don’t become show stoppers.

Cheers Mark

It’s clear the developer is not thinking like a customer. He assumes that customers either proceed to checkout in one session (as per his advice not to worry about cookies), and that customers will inevitably create an account (“When the user logs in s/he gets his/her cart back.) Problem solved, right? Brian thought so…

Hi Mark,

Actually this is EXACTLY what I was thinking of doing.
The one problem that I had with this idea is that I was
a bit worried about filling up the session object with
lots of stuff.

Is this not really a problem?

Cheers,
Brian

It is a problem, customers don’t behave this way. Customers don’t understand why the contents of their carts disappear when they close their browser. They don’t know they can magically get it back if they create an account (and really, they can’t if they’ve registered in a new session). And they hate registering! These “extras” are showstoppers!

Brian seemed pleased with the recommendation. His concern about “filling up the session object with lots of stuff” is warranted – this could cause performance problems which also affect user experience. But the Brians of the world need to understand current web usability best practices when considering the optimal solutions for an online store requirements.


Related Articles

14 Responses to “When Web Developers Dont Consider Usability”

  1. Your persistent shopping cart links not working otherwise great post !

  2. babafisa says:

    Good article . Will definitely copy it to my blog.Thanks.

  3. Toby says:

    It’s a nice rhetorical flourish, but your naive developer “Brian” wasn’t asking if building for a bad experience was a problem, he was asking about storing too much data in his sessions. Which is also a problem…

    Presumably most developers watching this exchange would have stepped on the brakes reading his first paragraph, with “I know this has
    been done a million times in a million open source projects”. It’s like hearing someone say “I’ve decided to build a car with my bare hands; I know Toyota has already perfected it, but I’ll just reason my way through the process – how tough can it be, anyhow?”

  4. Sadly, that’s a pretty persistent problem that I’ve noticed. Usability improvements continue to be a major issue for most sites I find – they get the customers in, but lose them. I know my site could use a lot too…

  5. Anna says:

    Its difficult for developers who are new to e commerce to consider usability fully and unfortunately the only way to learn is to make mistakes on peoples sites. Sad but true

  6. I’m not sure customers hate registering. If you know you’ll be back to a site often and you are happy with your experience there. I think registering to save your data is valuable and done by many people who want to save time.

  7. Inigo says:

    Or you can go with a package that already allows for persistent shopping carts e.g. Magento. Add the item to the basket, quit browser, come back and it’s still there in the cart…

  8. @Inigo = you seems to be a Magento resselers without the knowledge of his own products. Of course you can manage persistent shopping cart, but users won’t have their cart stored for all the time.

    As Toby mentioned above, the problem with persistent cart is how we can manage sessions data stored for a long time.

    We are currently working on Magento & OsCommerce’s solutions to find out how persistents carts could be improved to manage unregistered shopping carts.

  9. Couple of questions after reading this:

    How many people explicitly and knowingly turn off total cookie support in their browser?

    If you try to implement some sort of ‘persistent cart’ experience (somehow without using cookies) what about privacy of people using public systems? There are privacy concerns that need to be balanced with ‘usability’ which don’t seem to be addressed here.

  10. @Michael,

    The cookie problem is more of anti-spyware programs that delete cookies on behalf of the user on a regular basis.

    Re: persistent carts without cookies, are you referring to session IDs? Yes they carry some security risks if the session URL is somehow bookmarked or shared. This article may be of interest to you in that regard
    http://searchsoftwarequality.techtarget.com/news/article/0,289142,sid92_gci1156684,00.html

  11. Tim says:

    I will bless the day I can work with people like you. Great(!) article and insight. And consider me a returning customer ;)

  12. soccer says:

    How will we have money to support millions of more people in the future?

  13. free vpn says:

    He probably has “X” amount of dollars to spend in this exercise. Make sure he buys at least ten stocks.

  14. Norton says:

    Yes, privacy can be an issue with cookie based carts. If someone shops on a shared computer (computer lab, coffee shop, etc.) and then someone else visits the same site on that computer, the cart would persist to the 2nd user. So, you wouldn’t want to store personal information, payment information, etc.

    Input fields have the same problem and we’ve needed to explicitly code our payment textboxes so that they don’t prompt the user with the previously entered information.

    We’ve used a cart stored in the session state for years and have lamented the fact that users lose the cart. (Our shared server re-boots the application once every 24 hours or so, which wipes out all session data.) This is a big problem these days, particularly at the holidays, when customers use their cart as a sort of wish list, while deciding what to get and where to get it. So, we’re implementing a cookie based cast and will use the session state cart only for those who do not accept cookies. (Our system will check if they accept cookies and store the cart information accordingly.)

    We’ll also need to code something to make it clear that a previously saved cart exists, to prevent people from accidentally buying something that they didn’t know was in their cart from a previous session.

    Writing a custom cart is certainly not a simple thing.

Leave a Reply

© 2014 Get Elastic Ecommerce Blog. All rights reserved. Site Admin · Entries RSS · Comments RSS