Sunday, November 28, 2010

Usability issue with Youtube and MS Outlook

I am no usability expert, nor a PhD in HCI. I am just another tech savvy, maybe a more concerned one. This post is a rant against two most popular and religiously used applications: Youtube and Outlook. I am so frustrated of the usability bugs in these applications, that i am writing this post hoping to get some relief and a fix from these bugs soon.

Youtube: Smart Resolution
Present your user with minimal number of options and make decisions for them wherever possible. This seems like a magic usability-voodoo that works most of the times, but sadly not for Youtube. It goes something like this for Youtube: I click on a video, and it opens up nice with a 360px resolution (atleast with my browser and connection). I am watching this 1 hour video which has almost buffered completely and i decide to go full screen. Whoa! Youtube decides for you that the video resolution must be changed to 480px or more for a better video experience. I loose all my buffered video, and at times when my internet speed just sucks, it is freaking frustrating and i click on the 360px option again to buffer it all over again. This just sucks.

There might be some advanced option to fix it if i login into Youtube which i never feel like doing, nor i have done it. But this doesn't work for me and i am guessing it doesn't works for most of the users.

If the video buffered seamlessly, this would have been charming, but it isn't. This certainly needs a fix. I would suggest a different buffer to buffer the high resolution video and when the video is available to play, just switch to the high res video. This might seem like a bit of over engineered usability, but thats how i think it should be.

Outlook: Don't mess with the usuals
This is again one of the things which can possibly be fixed but is very irritating. This one is about messing with the hotkeys. I am reading an old mail (a long one) and i need to find something in that mail and i go Ctrl-F. To the utter surprise, Ctrl-F doesn't brings up a find-window, it forwards my mail. That is so against the rules of usability and intuition. If you use Outlook, you must have encountered this at some point of time, and unlike many i cant make my mind with this. Hotkeys and controls should work the way they work in all other applications, maintaining the usability and intuitions.

Lessons to carry away:
1. If you make decisions on behalf of your users for a better user-experience, make sure you test it well with various real-time scenarios your users use your application in.
2. Keep things intuitive.

Would love to have you comments, feedback, and a fix if you are working on these products.

Monday, November 22, 2010

@facebook.com release next year?

So i was mailing somebody at facebook @facebook.com and got the following autoreply mail from Facebook:

Sub: Please use @fb.com for Facebook Corporate email
Dear Sender:

Facebook has changed its corporate email address domain from @facebook.com to @fb.com.

Your message has been delivered to the intended recipient, but please update your contact details with
@fb.com for future correspondence. You will not receive this message again if you utilize
@fb.com. We will not be forwarding any email sent to @facebook.com corporate email addresses past January 5th, 2011.

Regards,
Facebook

I was hoping to get @facebook.com much earlier, like by Christmas or something. Sad.

Saturday, November 20, 2010

[Puzzle] Poisoned wine: Fun with bases

Puzzle: Poisoned Wine
You have 240 barrels of wine, one of which has been poisoned. After drinking the poisoned wine, one dies within 24 hours. You have 5 slaves whom you are willing to sacrifice in order to determine which barrel contains the poisoned wine. How do you achieve this in 48 hours?

(Please try the puzzle before you skip to the solution mentioned at the bottom of this page.)



























Solution:
We are gonna play with number bases this time. Hope you are familiar with them, or else you will not understand a bit after this sentence (Apologies. Thanks.).

So, we have 5 slaves. Lets just forget about number of barrels and also assume that we have only 1 day. One day and five slaves, thats it. Can we determine how many barrels can we solve with our new constraints? Yes, we can. Lets see how:
Five slaves and one chance. They must drink in a fashion that covers all the barrels and drink in a unique way i.e each barrel must be drank by a unique set of slaves, so that when some slaves die, we can determine which barrel went down their bloods.
Now, any slave either drinks a barrel or doesn't. Only two options. This reminds of binary systems, and we treat each slave as a binary bit. 5 slaves (read bits) means a total of 2^5=32 numbers. Thats our answer, 5 slaves can only drink 32 barrels in a completely unique way (just like 5 bits can represent 32 numbers uniquely). So here's how we would have solved the problem with 32 barrels:
Represent the barrels index number in binary (zero-indexed). So,
Barrel-0: 00000
Barrel-1: 00001
Barrel-2: 00010
.
.
Barrel-31: 11111

Also, lets assume five slaves namely a,b,c,d, and e. Lets say e is the least significant bit slave. So slave-e will drink whenever the LSB is set to 1. Similarly slave-d drinks whenever 2nd bit from right is set to 1 and so on.
So, no one drinks Barrel-0.
Barrel-1 is drank by Slave-1
Barrel-2 is drank by Slave-2
.
.
Barrel-31 is drank by all.

Now, just let everyone drink according to the logic decided above. At end of day, we can determine the corrupted barrel by seeing who all died and since the drinking-sets were unique we know the answer pretty easily. We bring back the 5-bit number terminology we used for numbering the barrels and set the bits with value as 0, if the slave did not died and 1, if died. For eg. if slave-c and slave-e dies, then we have:
a b c d e -Slaves
0 0 1 0 1 - Died or not
which is the number 5 (00101b)
Hence, barrel-5 is the corrupt barrel.


So far, if you have understood the solution to our sliced-puzzle, you are good to go.

Ok, so now, 5 slaves, 2 days/chances and 240 barrels. Thats huge numbers.

We stick to our approach and try to scale it up.
We still have 5 slaves, so the number of bits cant scale up definitely.
We have 2 chances, one more than we had in our sliced-puzzle. So, now either a slave doesn't drink the wine at all, drinks it the first day OR, OR... drinks it the next day (if he is lucky enough to see the next day).

Time to scale up the base now. So we have base-3 now. Slaves have states 0,1 or 2 (0: Never drinks, 1: drink on day-1, 2: drink on day-2). And we can solve 3^5=243 barrels with this!!! Lets just number up the barrels again in the new base now:
Barrel-0: 00000
Barrel-1: 00001
Barrel-2: 00002
Barrel-3: 00021
.
.
Barrel-243: 22222 (We wont be needing the last 3 barrel numbers as we have just 240 barrels in hand)

Now let all slaves drink the wines as per the new logic.
So, no one drinks Barrel-0.
Barrel-1 is drank by Slave-1
Barrel-2 is drank by Slave-1 on second day
.
.
Barrel-243 is drank by all on second day. (This does not exist as per puzzle, meant just for illustration)

Also if anyone dies on day-1, and was supposed to drink some barrel the next day but has died already, you can ignore them (for eg. everyone must drink barrel-243 next day, but it is quite possible that some slaves already died.)
So, all slaves drinks two days and then we fill up our table with who died when (0: Did not died; 1: Died on day-1; 2: Died on day-2)
So if slave-a died on 2nd day and no one dies on day 1 either, we have:
a b c d e - Slaves
0 0 0 0 2 - Day when died
which is number-3 and hence the Barrel-3 is corrupted.

The solution was presented in such a level of detail, so that the readers can appreciate the beauty of the solution and extend/scale it further to various other puzzles/daily-problems!