Wednesday, 28 October 2009

What makes a good rating scale?

From time to time I have to fill some form where I have to rate items in a scale such as agree-disagree, like-dislike, etc. And more often that not, I end up cursing the creators of the form for not providing options I needed.

The first obvious problem is when you have an even number of options, e.g.:
Totally disagree / somewhat disagree / somewhat agree / Totally agree.
Where the hell is the "meh" option there? There should always have a neutral, "I don't care" option. For that effect, the number of options should always be uneven.

Then there's those that use stars or a number-based scale with lots of possibilities, such as iMDB which uses 10 stars or something. Sure, that gives you a finer control over the rating you give item, but don't you end up wasting too much time deciding whether you'll give this movie 6 or 7 stars (especially considering you gave that other one 8 starts, but this one is definitely better)?

Too few options is not good either: with a 3-options like/neutral/dislike scale you are too constrained and can't express distinction between something that's only above the average, and something that's absolutely excellent. And a 2-options love/hate one is even worse in that aspect.

Of course, in the crowd-sourced rating of items point of view these work very well, since you just have to do some math with the positive and negative votes, and you'll get a fairly balanced rating of that item once you have enough votes. But is the voting system satisfying to the voters?

The most used system seems to be the 5 steps scale: hate / dislike / don't care / like / love. That's what YouTube uses, for instance, even though they chose their own labels. But recently I read somewhere that they should get rid of it altogether and use the favorite system as a binary rating system.

Personally, I believe the 5-star scale is good, but would work much better if something else than stars was used. A few days ago I was doodling during a conference, and came up with the following:
>(    :(    :|    :)    :D
This is very similar to what mashable uses. I believe the smileys might convey a much more intuitive grasp at what each rating means, thus reducing the bias that happens when people who don't like something give the lowest possible rating, and vice-versa. Besides, it is a very compact representation since one single symbol represents the rating (as opposed to 4 or 5 stars -- what is one star worth anyway? It's rather subjective...) and doesn't need a label to explain its meaning. That's why mashable manages to use them inline, actually.

I am not sure this is the best system, but I think it offers a very acceptable compromise between the satisfaction of the rating process (especially a good balance between flexibility and unambiguity) and the representation of a combined rating sourced from many votes.

Wednesday, 8 April 2009

Your system not supported. Now what?

I just came across an interesting approach to the traditional "not-available-for-your-system" message. BumpTop has just been released for free download, and even though that's great news since it's an impressive piece of software on its own, the concept itself has been made public a while ago, so it wasn't new to me. The good surprise was instead the way they handled the fact that they don't have yet versions for Mac or Linux.

You see, most companies give us a "we're-sorry-but" or "coming-soon" message (not to speak of those, especially linuxers, who tell you to build the app using the source, or to code it yourself -- which, as I read a few days ago, is actually saying "f**k you" to the user), but the guys at BumpTop made an interesting twist:

They use the always compelling poll look to let you quick and easily add your voice to the crowd, which on the other hand gives them a way to measure the demand for those versions, while simultaneously offering a way for you to get feedback (by entering your email) and get notified once your desired product is available.

Those are all positive signs they're passing to you. No "sorry, not available yet", no "we have no plans to support your system". Just a very simple mechanism that works for everyone. It's win-win! I hope the idea spreads around.

PS - thanks Paulo, for the invite to post on this blog. I'll try to keep your standards of quality ;)

Wednesday, 1 April 2009

Creating a Web-Based Document Platform

Remember the "old document paradigm" post? Me and the team I'm working with, always had a hard time dealing with multi-user documents because right now there are no good alternatives to writing it in word and tossing around updates, specially because this particular project we are working in involves lots of partners scattered around Europe. Last week I started programming this web-based document platform to handle multi-users, change tracking, comments, section locking and other useful features! In just a couple of days I got a working prototype that already feels powerful and promising! It started out as a challenge and it felt great because I was, by coincidence, materializing this idea that I had in mind for awhile.

In a way we are all changing the way the world works, bit by bit :)

Friday, 20 March 2009

Installing Internet Explorer 8

I have a confession to make: despite everything, I like Microsoft products. I like Vista and 7, I like the Office 2007 interface, I love C#, the .NET framework and Visual Studio. There are obviously some other applications I don't like, especially Outlook and Internet Explorer -- and I use Gmail, Thunderbird and Chrome.
As a webdesigner and as a user I was curious about the new Internet Explorer and I decided to write a post just after installing it (I haven't even opened it!).
1. I searched Google for "Internet Explorer 8" and this took me to
2. I clicked the big orange "Download Now" button and ran the installer.
3. For some reason step 2 was my first mistake because after a couple of minutes of downloading and decompressing files the installer told me "This installation does not support this operative system's language" because I live in Portugal but my Windows is in English.

4. So I went back to Microsoft's website and clicked on the small "change locales and versions" link and chose another language, downloaded another version and ran the installer again.
5. After some minutes it tells me it's going to update my windows, internet explorer and search for malicious software, as it did............
6. ........a good half an hour and two reboots later, Internet Explorer 8 was successfully installed (wohooo!) but now I noticed it put shortcuts where I didn't have them before and didn't want to have...
This is how Microsoft caused me a really bad impression even before I started Internet Explorer! Not surprisingly, I'm writing this blog post on Chrome.... Which took like 3 minutes to search for and install without mistakes nor fuss nor unwanted shortcuts, just like Firefox or Safari. I'm installing a browser, not an operative system!
Edit: I ran Internet Explorer 8 and somehow it's my default browser now, and I don't recall allowing him to!

Monday, 16 March 2009

Stop using "optimized for" already!

"This website is optimized for Opera 2.12 at 1280*854"
Today I was talking about this with a friend and it kind of gets on my nerves. Who's the web developer trying to excuse for his poorly rendered website? Or is he thinking that somebody is going to change browser/resolution to see his page right?
This is a lesson for anyone creating any piece of technology that's going to be used by someone else: "stop being lazy!".
"This elevator is optimized for people who can read roman numerals"
"This building is optimized for people bellow 1.5m"
"This cookies are optimized for people wth five teeth"
Do you really want to restrict the usage of your site based on some funky choice no one cares about?

Monday, 26 January 2009

Selection on Browsers

When we try to select chunks of text and/or images on a web site very often we end up selecting unwanted and unpredictable bits. I'm sure a lot of people have experienced this effect, this happens because the organization of content in html isn't very intuitive to someone who doesn't understand html. Content is stuck inside blocks or tables and there are often tables inside tables. In our browsers, we can't select cells from different tables at the same time and this causes strange behaviours when we drag the cursor over a page. This only happens because the browser developers are lazy, it's easier to make the selections match the html organization but its counter intuitive, non-productive and not WYSIWYG at all, for the end-user.

Tuesday, 20 January 2009

Sleepy Joe

Sleepy Joe is a very simple audio player with one useful feature: it can shutdown your computer after playing all the songs you've selected. It's meant to play music while you're falling asleep in a simple way: drag your music into the player and hit play!
I programmed it in C# so you'll need the .NET framework 2.0 which you probably already have installed, but if you don't just hit the link
Hope you like it! If you find something you'd like to add to Sleepy Joe, leave a suggestion!