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 release next year?

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

Sub: Please use for Facebook Corporate email
Dear Sender:

Facebook has changed its corporate email address domain from to

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


I was hoping to get 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.)

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!

Tuesday, July 20, 2010

Mobile Sites and Usability: An unlocked phenomena

Everyone knows how iPod/iPhone revolutionized the user experiences of handheld devices. Its a device more usable than anything before of its kind

Lets hold our thoughts here, think for sometime and figure out the awesomeness behind this great user-experience. The two very basic points their UI revolved around were:

1. Make the Action-Points in the UI easily reachable. Since iPod was a touchscreen device, they used big sized buttons to achieve this, and a highly calibrated keyboard made typing a smoothie. Those big buttons really made accessing those action points easily. You never feel like using a stylus with iPod/iPhone, thats ease of access.

2. Minimal Scrolling: Use multiple screens instead of one big list, go deeper levels or flip that screen but stay on a single page. iPod had reasonably categorized menus at as many places as possible and the very intuitive "back" buttons sure showed the way out to the main application.

If you look closely at one of those apps you love to use, you will find the above two ideas stuck into their genes.

But, somehow, and sadly, web din't adapted this phenomenal user experience. Still there are underlined anchors, default terrible buttons and long wap-pages on mobile-versions of web sites. I believe there is a tremendous potential in this UI which is yet to be uncovered as far as mobile websites are concerned.

I tried to check it out on a very lame Google search page, results not being so pretty but definitely way more usable (Sorry i am a little bad at CSS thingies):

Which one do you prefer? (do let me know in comments!)

We have got to unlock this phenomenal UI into our web coding guidelines. The way wap sites are designed must take a leap and jump into the awesomeness of this user experience.

I suggest sticking to the following points when developing a mobile version for your site:

1. Use block styled anchors or block styled anchored lists for your navigation and other links.

2. Major Action Points in your site must have those big huge buttons to seek attention and improve the usability and user-experience of your site.

3. Try to be very specific and manage the whole content within a page or two at max. Lets break those never ending longer than Wall of China websites. We really dont need them, come on, we are heading to 4G now. Its the experience that would matter down the line and not the number of lines in your site.

4. Make sure you have a good amount of margin between your elements otherwise it gets really messed up on a touchscreen device and users end up clicking unwanted things.

5. Keep it clean, use shorter and straight words, and more visual and iconic displays rather than texts. Users are getting smarter, lets make smart sites now.

Lets make web better, together!

Sunday, July 18, 2010

Dear Facebook, Please keep your UI semantics sensible

Dear Facebook,

I have noticed that clicking on the "Top News" link changes the top news everytime. The top news doesn't seems like top news anymore. I understand you might be looking forward to engaging more users by doing so, but it is pissing off many of us.

You being the big daddy of the social network, we expect a stable and sensible browsing experience from you.

FB User!

Saturday, July 10, 2010

Intelligent Passwords

I attempt and dare to solve the problem of password-stealing which occur primarily due to Social Engineering Hacks. Also, this adds another layer of protection over passwords and make passwords more secure and usable!

The method exploits the fact that given a word to type, different people will type the word in different fashions. The speed of typing will be different and the typing-accent will vary. We now attach this typing-accent attribute to the password and make them more secure i.e. even if you tell your password to a third-person, he wont be able to authenticate himself as you.

Also, this improves the usability of passwords. As pointed by Jakob Nielsen, un-masking the password would provide better usability. Passwords can now be unmasked as this method tries to cover for the social engineering hacks which are the clear threats to unmasking passwords.

As a proof of concept, i provide a demo here. The demo is Javascript based, where you can set your password and then attempt to enter it again. Try different accents in typing like typing the first three characters very fast and then rest very slow. If you have people around you, please experiment with them by asking to enter the same password!

Feedbacks/Comments Requested!!

Friday, June 18, 2010

Setting Brightness right on Ubuntu

Well, i accept it. I tried everything available on Google and nothing seems to work for me to control my Lenovo laptop's screen's brightness.
So i wrote a little script to get my work done.

if [ $# -ne 1 ]
echo "Usage: bright 50"

n=$(echo "ibase=10;obase=16;$x" | bc)

sudo setpci -s 00:02.0 F4.B="$n"

#End of

Then modfied my .bashrc as:

alias bright=$HOME/
bright 50 #Set Brightness to 50%

Now use on command line as:
bright 60

Am happy as of now with this!!