Products I like and wish I actually used

Sometimes you see something that looks so cool that you want to use it, but quickly realise you don’t have any actual compelling need or interest.  I’ve raved a few times about products I’m using at the moment and really enjoying but wanted to mention a few deserving products that I wish I used more often but for whatever reason don’t.

Posterous is named as such because they make it preposterously simple to blog.  It’s very easy to use and a great product — I’ve even heard people on the T to work raving about how much they love it.  I think their landing page, with its three steps of use, says it all:

Posterous landing page

I’d really like to enjoy that simplicity myself — I love the site, the implementation, and the look of posterous blogs, but with my comfy custom WordPress installation, I can’t see myself using it anytime soon.  Bummer.


Balsamiq is what I spent years wanting to have.  It’s a very simple-to-use but powerful creator for wireframes.  Instead of doing the smart thing and inventing my own version of it, I languished in Visio, PowerPoint and Photoshop.  Balsamiq provides a great toolkit for quickly creating digital sketches of UIs and is a joy to use.  While it’s been very useful for my own personal projects on occasion, unfortunately it doesn’t fit in with my current work flow at TripAdvisor where we’re doing a pretty decent job with Photoshop and paper sketches.  I would’ve loved having a tool like this at Trovix though.  Oh, and a hearty congratulations to the Balsamiq team for what sounds like a very successful 2009.

Amazon Kindle

I got to borrow one of these from Google over Thanksgiving and I loved using it.  It meant I had plenty to read while on vacation (where I get the bulk of my book-length reading done), without the bulk of the books.  I bought Under The Dome by Stephen King recently, and wow, there’s a book that shows the utility of the Kindle (1074 pages).

Unfortunately the clunky update speed and grayscale screen doesn’t do it for me.  The lure of the mythical Apple tablet is proving too strong and I can’t pull the trigger on one just yet.  More than happy to keep borrowing one of Google’s though.

Google Voice

I managed to snag a GrandCentral account a while back, but the inertia of my existing phone number meant it was more of a technical toy than a serious phone replacement.  I do love the idea of a unified phone system, and with realtime voicemail and transcription, call recording, conference calls and a slew of other great features, it seems like an amazing product… but only if you can get around the limitations of having to change your number, and to call the Google Voice service to take advantage of said features.  I think the rejected-by-AT&T iPhone app would’ve gone a long way to helping me switch.


RadRails is one of the few products where I’m not sure if it’s me at fault or them for not using it.  As someone who got very comfortable in Eclipse and is a little lazy, I’d like to continue my Rails hacking in a familiar IDE.  Unfortunately I just can’t seem to get RadRails to play nice with the latest releases of Ruby and RoR.  When I get more time I’ll take another crack at it.

In theory though, it’s a great environment for us ex-Eclipse users.  I’m not sure about other users, but I spent a fair bit of time in Eclipse using J2EE/Spring as a framework, and RadRails feels like home.

Edit: updated to add…

Google Website Optimizer

This is an amazing free product that allows for A/B and bucket testing.  Happily we have some very nice pool testing at TripAdvisor already, but perhaps I’ll get to use it on a future side project.

Sprixi – useful image search?

It’s trite, but it’s true – the best products to build are those that people want.  Sage words from Paul Graham, yet I’m always surprised at how many products out there are solutions looking for problems.  That’s why I was particularly pleased to see my good friend Andrew Goldstiver’s new startup, Sprixi — a site for finding useful images.

But what are “useful” images?  First let’s consider the state of image search currently.  Firstly, good image search matters a lot to people, as made clear by the positive reception of Bing image search after years of Google image search languishing.  But what are the common use cases for image search?  Trying to show someone something you don’t have a picture of (“Here Steve, this is what a Huntsman spider looks like in Australia”)?  Trying to confirm what something looks like (“Ahh, so that’s what a Darwin stubby is”)?  Looking for something to use for a blog post or an assignment (“Where do I find a picture of a periodontal probe“)?

It’s the last use case that’s always been frustrating.  While writing my thesis I remember emailing dozens of people for permission to use their images.  Then there’s the size issues – most images online are thumbnails, with few print quality images – without using filters these are difficult to surface.  Finally, there’s relevance — finding the best image can be a chore.

So how to solve that?  Sprixi does this a few different ways:

1. Great interface. Much slicker to use than other image search engines.
2. Fair-use image crawling.  Sprixi aggregates all the best sources of images which can be re-used.
3. User contributed content.  Users can upload their own images.
4. Crowd-sourced relevance.  While images have a built-in relevance, Sprixi allows users to score photos so that the most representative photo floats to the top of the list.
5. Web 3.0 – like many new sites, Sprixi is part of the semantic web, by having an understanding of different concepts (also see Adioso and Trovix for other examples).

Sprixi learning a new topic

Sprixi learning a new topic

Rating an image

Rating an image

Using an image - notice the "choose" link on the left

Using an image - notice the "choose" link on the left

As an example, let’s say I’m doing a presentation on user research, perhaps the ethnographic dental studies I completed for my thesis.  If I need a generic picture of a dentist to illustrate a slide, I simply search for “dentist” on Sprixi.  There’s an existing topic with sorted and unsorted images. I can then browse through the photos, rate them myself, and when I find one I like, I choose the size and click the “use” button (which is some very innovative use of horizontal real-estate for those of us on small screens), giving me the option to download or embed a link.  If Sprixi doesn’t understand the topic you’re search for it will create a pool of photos based on aggregation on the fly.

As a later engaged member of the community, I could also upload a copy of any photos of dentists I took as part of my studies for other people to use.  I could then populate a new concept, such as “participatory design” with some shots of researchers interacting with practitioners.  Now suddenly there is a site which has useful pictures of the participatory design process.  Trying this search on Google, Bing and Flickr revealed reasonable results, but with lots of cruft.  Sprixi wants to get rid of the cruft.  According to Andrew, it’s not explicitly necessary to rate images manually either, as Sprixi does some implicit rating through site interaction.

I was a little disappointed that Sprixi didn’t pick up on more obscure topics (e.g. periodontal probes) with its aggregation, but I’m sure this will continue to improve.   Managing contributions (and the sign-up process in general) seems to be a work in progress.

I do wonder how big the user base for a product like this will be — however there are an awful lot of bloggers, uni students and Powerpoint presentation creators out there.  I am still interested to see how Sprixi plans to monetize and grow beyond the few sites its crawling at the moment.  If it gets traction though it could easily become a fantastic repository for free-use images.

Give Sprixi a try and let Andrew know what you think.

The difficulty of simple design – part 2

In my last post about design simplicity, I touched on the difficulties involved in what does and doesn’t make the cut for a design.

Recently I noticed a forum post where one of the developers behind Plex (a really amazing media centre application for OS X) had to defend removing features.  I still think their reasoning is correct, but due to user backlash they decided to put the feature back into the next version.

This is the main reason for feature creep and too many options.  People have different tastes and use products for different purposes.  The problem is, by kowtowing to existing users, you continue to alienate potential ones that you didn’t even realise you were alienating.

So let’s say you have a feature that tests equally well – 50% of your users love it, and 50% of your users find it confusing and difficult to use.  Do you keep it (to satisfy the 50% of users) or lose it (to preserve simplicity)?  What about you have two different versions of a feature that you have A/B tested and each are equally popular in those tests?  It can be tempting to even provide both!

However to preserve a simple design, it’s at this point you need to make a subjective choice.  You need to evaluate:

  • What will be better for the product’s image?
  • What will provide extensibility for future plans?
  • What provides a qualitatively better experience?

For instance — you may be trying to choose between a dropdown list and a radio button.  Which to choose?   A dropdown list takes up less real estate — is that important? Do users find it easier to make a choice if they can see everything all at once, as with a radio button?   Is the list of options going to grow in the future?

As a designer or usability expert, it’s easy to get caught up in always finding the “best” user experience or what the user “wants” most, but it’s important to remember that some aspects to design cannot be measured or quantitatively known.  A simple design will go a long way to giving your design universal appeal and application potential.

The difficulty of simple design – part 1

The hardest part of being a designer is choosing what goes into the product.

Deciding what should and shouldn’t go in is actually a very difficult choice.  You don’t want it to be overcomplicated, but you want to have a competitive edge.  Sure, it seems easy — just throw out whatever people don’t need and put everything else in.  Unfortunately every user is different.  I read an article which claimed that people only used 20% of Microsoft Office features, and so 80% should be removed.  Unfortunately, each person uses a different 20% of the features.

So how do you decide what goes in without overloading your product?  The easiest features to be sure about are the ‘standard’ ones.  What are the must-have aspects of your product to make it work?  What does everyone love about your competitors?  Put these in!

The rest?  While usability testing will give you some idea of what people would want or like, a user saying they’ll use something in a usability session does not mean they will actually use it.  To decide what might be used, you will need to use some of your best judgement, some user feedback, but most of all, pick features which are ambiguous.  People will always do surprising things with your product.  How people customize and appropriate a system for their own use is called “articulation work” in design academia, and the more ambiguous you make your design, the more people can appropriate it in innovative and surprising ways.

I think Twitter is a great example of articulation work.  Ostensibly it’s just a status update system.  However, people use it for all sorts of things — microblogging, link sharing, ad-hoc meetings, connecting with corporations, getting the news, etc.  What facilitated this was a simple system with a few key features – such as the “@” and “#” operators, and a real time search.  From these basics, the community began using it in new and unexpected ways.

So when you’re trying to keep things simple and to decide “should I put this feature in?”, wonder “how might this be used in other ways?”  It’s much better to put in one feature which can be used in a multitude of ways, rather than overload on catering to everybody.

However, the question remains — how do you decide which treatment for a particular feature makes it in?  For example, say you allow a user to select something via a drop down or with radio buttons, and both test equally well.  How do you decide which to use without providing alternative methods of interaction?  I’ll cover that in part 2.

Ranking crowdsourced data with curves

I’m a big fan of user review sites.  I’ve been using TripAdvisor since at least 2002 to help plan my journeys, and Yelp is my new favourite site since moving to the US.

Crowdsourcing information is usually a pretty good way of doing things.  There’s been plenty of research which has shown that if you get a crowd of people together and have them, for instance, guess the total number of jelly beans in a jar, the average guess will be pretty close to the real number.  Translating this to something usable in everyday life, I’ve seen people have a lot of success with Amazon’s Mechanical Turk for aiding research, since you can use the sheer weight of numbers to smooth the data.

This is great for something tangible and objective.  However, as soon as you start throwing subjective data into the mix, results get a little skewed.

In particular I’ve noticed lately I can’t quite trust online reviews (from a wide variety of users) the way I used to.  I’m not sure why things have gotten so skewed — perhaps I’m more discerning now, or maybe there are more outliers.  Either way, I haven’t trusted the average rating on sites like Amazon, Yelp and TripAdvisor for a couple of years now.  Instead I read a sample of reviews and then go straight to the upper and lower bounds and try to get a sense of why people are voting in a particular fashion.  Is the product/place being reviewed being unfairly penalized or rewarded? (for example, a hotel might get a lot of 1 star reviews for high parking fees, but are great otherwise.  A restaurant might get a lot of 5 star reviews because they’re cheap and have a nice ambiance, even though the food stinks.)

One method I’ve found for making a better decision is to look at the shape of the score curve.  For example, here are the scores for the top 5 TripAdvisor hotels in San Francisco at the moment, order by TripAdvisor by their average score:






There aren’t any that really stick out there as being obviously different, but you can see that the fourth one gets a far higher ratio of 5 star ratings to 4 star ratings than the others. These differences become more pronounced the further down the overall list of hotels you go. Hotel A is rated as a better hotel than Hotel B which is ranked (according to its average) after it:

Hotel A:

Hotel B:

Whenever I see a curve difference like this though, I always go for the latter when booking.  Since I changed tactics, I have been having great hotel experiences.  To give this a quantifiable score to compare, I tried out the following formula:

If ((x star votes) – (x-1 star votes)) > 0 then

y = x


y = 5 – (x – 1)

(y*(5votes – 4votes) + y*(4votes – 3votes) + y*(3votes – 2votes) + y*(2votes – 1votes) + 1votes) / total votes

Using a formula such as this the new overall scores become:

(260 + 96 – 9 + 8 + 1) / 128 = 2.78125
(600 + 108 + 6 + 8 + 2) / 206 = 3.51456
(1550 + 548 + 54 + 18 + 5) / 699 = 3.11159
(425 + 28 + 15 + 0 + 1) / 119 = 3.94117
(1260 + 948 + 60 + 16 + 13) / 883 = 2.60136

Which as you can see results in a much better looking ranking for the curves:






If we apply the formula to the hotels A and B, we see the difference becomes more pronounced:

(-26 + 244 + 15 + 22 + 6) / 185 = 1.41081

(250 + 236 – 9 + 46 + 10) / 301 = 1.77076

Introducing a new overall score would help people pick better hotels and for the hotel owners to strive for higher ratings.  I’m also a big fan of the trending data that Yelp has added recently, using Patxi’s as an example:

Coming from someone who wrote his thesis on qualitative user feedback, this has been really interesting for me to look at how you can properly interpret large amounts of quantitative data involving subjective scores.

Update November 7 2008: Thanks to Eric Liu for pointing out some weighting issues depending on vote numbers. We’re brainstorming some new algorithms to account for these situations.

In the meantime, anyone from the myriad of Netflix people who have stopped by, feel free to contact me! tim@<this domain>.

Does anyone actually notice a website being ‘free’?

I know that ‘freemium‘ is a popular business model at the moment, but do everyday web users really notice this when they’re using a site?

Personally I always assume a site is free and am surprised/annoyed when it isn’t, unless it offers something very compelling or a freemium model (the best, in my opinion, is Flickr).  However a lot of sites put “free” in large type (including Trovix!) on their landing page.  The only rationales I can think of (beyond the rare case that most other examples of your product are paid) split into two camps:

1) If you require an account to use the site, some people might think they will be asked for credit card details during the sign up.  But how prevalent is this concern?  It’s never come up in any focus groups or user testing.  When directly asked, the people in my study groups were unanimous in the assumption it would be free.

2) It’s used as an attention grabbing bit of text that is intended to make the user feel like they are getting something (which should be a paid service) for free.  This just feels tacky, and depending on how it is done, can detract from the brand.

I was struck by Mint’s use of this tonight, which prompted this post:

Mint\'s logo with \'free\' in it

Perhaps it is a cultural thing — I have seen many products that label themselves as ‘free’ in a scammy way.  Regardless, unless everyone else is charging (or even if they are, like when Yahoo and Google introduced real time stock prices), it seems an unnecessary feature to draw attention to. – the next Google?

From the way Mike Arrington carries on about it (oh and a bit more here too), you’d think so.  My initial impressions are quite different (to be fair, he does state “…it doesn’t appear to have the depth of results that Google has, despite their claims. And the results are not nearly as relevant“).

I started with the old vanity surfing evaluation.  I initially searched for plain old “cederman” (I’m number 2 on Google behind darn Lars-Erik at the moment!).

Searching for \

Very confusing list of results without any sort of rhyme or reason to them.  None of the vaunted contextual search options delineating between the few Cedermans on the web (there are only three or four of us, with three of us being published authors).  There are also some incredibly irrelevant results there, and why is an extremely old copy of my twitter page listed there, but not

“cederman-haysom”, “tim cederman” and “tim cederman-haysom” didn’t fare much better either.  Ouch, it’s not hard when there are literally only three cederman-haysoms in the world!

Anyway, whatever.  The true test of a search engine is looking for stuff that you actually want.  While TechCrunch did several broad searches (such as for “dog”, “apple”, and “france”), these are fairly rare in real world searches.  At the moment I’m planning a trip to Belgium, so I tried one of the cities I’m looking at accommodation for and trying to plan a tour of.

No results for Ghent on cuil

No results!  Search for the alternative spelling “Gent” only showed pages in Dutch.  The most curious aspect to this is that contextual search worked here.  The options shown up the top are valid Ghent related things you’d search for, and it’s actually really nice having them identified and clickable in this manner.  So why have “no results” for the main page?  Doesn’t make any sense at all…

Finally, what’s with the ordering of results?  At first I thought I had to read sideways, in rows essentially, but the results don’t line up.  If I have to read by column, then I need to scroll to the bottom, and then all the way back to the top.  Without a sense of relevance, it’s very disconcerting, particularly if you’re searching for something you don’t know much about.  Sure it might help provide some users with a shotgun spray of results, but I think there’s a good reason why Google’s layout still works best.

As an example, imagine someone looking to buy a new Roomba:

Results for searching for a cheap Roomba on Cuil

While Arrington also states “I want to reemphasize that Cuil is only an hour old at this point, Google has had a decade to perfect their search engine.”  This is disingenuous to say the least.  Cuil is certainly not an hour old, and Google was VERY impressive when it first launched.

Still, I’ll have a close eye on what they do next.

iRobot and lessons for design

It’s funny how something can be a great design, and yet with a few tweaks, it becomes completely awful.

Witness the Roomba.  I love my Roomba – I bought it in October 2006 when I moved in to my cottage and realised I needed a vacuum cleaner.  I bought the bottom of the line model, no accessories, and as of August 2008, with some minor maintenance it still runs great.  Even its battery, while definitely not as great as it once was, still has enough charge to clean the whole room.  It’s easy to use, cleaning it is very simple, and maintenance is also very user friendly.  And of course, it does a great job of cleaning the whole cottage (although I am lucky to have Roomba friendly floors and furniture).

With so much love for the Roomba, it was a natural choice to buy a Scooba as well.  I don’t mop and I could see grime building up.  Scooba was only $99 on Woot, so I bought one straight away.  I noticed immediately that it’s a lot bigger and heavier than Roomba, making it more difficult to move around and to manipulate while cleaning.  It doesn’t fit as nicely in our cupboard, and its increased height means the light sensor keeps getting caught under cupboard doors.  It leaks water when being moved from room to room, and will often insist to check the tank for no discernable reason.  There are a lot more parts to clean, and maintenance is a lot more complex.  Emptying it becomes a gross chore (instead of tapping a box into the bin, I usually manage to cop a bit of spray back when pouring out the dirty water).  When I lift it up, the tank often separates from the body.  I am struggling to get it to clean a single room at the moment with its myriad of problems, and it’s only 6 months old.  iRobot won’t support it because it’s refurbished.

Long story short, I’d never recommend the Scooba to anyone.  But I’d recommend Roomba in a heartbeat.

So how did they go so wrong?  There were several key areas:

  1. They identified an alternative niche and went for it at all costs.  I suspect their other products like the Looj will do better.  It seems like at no point someone wondered “will having <problem x> in addition to all the other problems mean people will just give up?”
  2. It’s overcomplicated to the point it can no longer complete its original purpose.  Mopping by definition is more complex than vacuuming because it is a 2 phase process.  However I can’t help but wonder if it would be more successful if they sacrificed some of the cleaning capabilities for simplicity.
  3. Too many choke points in the design.  The beauty of Roomba is it keeps working if some parts of it aren’t.  Scooba will fail if the tank connection gets clogged, if the hand-mixed formula is not done right, or if it detects a problem with its pipes.  One of these three things happens to me every time I try to deploy it.
  4. They forgot the Roomba design ideals.  It’s clunky, hard to use, makes a mess and has inherent design faults (such as a battery that fails after just a few months).  It was like they started from scratch without taking on-board any of the Roomba lessons.

I love domestic robots, but unless you’re really desperate, do not buy a Scooba.

Web Usability panel

I just got home from a presentation organised by WebGuild which was a panel discussion on web usability.  Met lots of interesting people of course, but the highlight for me was of course hearing Tom Chi, Jeremy Ashley, and David Nelson talk about their experiences with Yahoo, Oracle and Adobe respectively.

First of all, it didn’t click with me that it was the Tom Chi, from Ok/Cancel, until he let loose his very dry sense of humour (I still enjoy sending my favourite comic to my engineering buddies).  He had some succinct and to-the-point answers to some of the questions for the panel which gave some great insight into his experiences, particularly with Yahoo and Microsoft.

I found it very interesting that when asked to define ‘ideal’ usability (in a round-about way), all three mentioned the ideals of ubiquitous computing – invisible, ubiquitous, effortless.  “You don’t even think about doing it.”

Another thing I agreed with was the changing face of traffic sources.  SEO and SEM is now king, while link sharing and ‘homepages’ are falling by the wayside.  I notice that in my own site traffic.  I have one site in particular I started in 2002, and until 2005 90% of the traffic was from link-sharing.  now 90% is from search engines.

I was happiest though, in answer to my own question, to hear the depth of ethnographic study at Oracle, which as a technical/engineering company I honestly did not expect.  Jeremy talked about the use of studies to gauge the integration of enterprise software in the grand scheme of things – such a holistic view of the user’s work practice was really refreshing.  Go Oracle!

Finally, I was intrigued that Yahoo! also makes use of ethnography (I didn’t expect it given the difficulty of observing casual users), specifically to build a connection between the design team and the users.  Tom discussed bringing a multi-disciplinary team so that different stakeholders could see the user as a tangible reality, not an abstracted target.  Creating a multidisciplinary team of which all members are involved in user studies is something I wrote about in my thesis as the benefits are it “destroys assumptions” (as seen with Tom, Jeremy and David), but for smaller projects also provides an opportunity to educate the user in turn.

All panel members agreed that ethnographic studies provided constant surprise.  I couldn’t agree more, which is why such close observation it is one of my favourite methods.

One thing this reminded me is that I have been somewhat lax in is getting the engineers further involved in the usability tests that I conduct.  While I make a live feed available, and encourage them to watch, next time I will have the key engineers come sit in for at least part of the session.  It really is quite eye-opening to see what the user really thinks of what you created.