Tuesday, August 28, 2007

Tolerance to partial data

Yonatan and I were discussing one of our new projects today, when we had an interesting realization. One of the primary differences between the old desktop application approach and the newer "web 2.0" approach is the application's "tolerance to partial data".

In the old days, the approach was "all or nothing". Programmers would assume that the user will have patience to provide the application with a complete set of details. The application designers assumed that their application lives in a perfect world where all required data is available, and constructed their algorithms accordingly. If the user entered all the required details, she'd get a result. But the application wouldn't output anything meaningful before all the right data was entered. Bad applications would crash. Better applications would ask politely for the missing details, or provide some graphical hint that further action is required. It's not surprising that most applications were (or actually - still are) built this way, because programmers are really really used to this (e.g., try forgetting a } somewhere in your code...).



New applications - especially web applications - require a different approach. Most of today's computer users don't have the patience to provide the application with all the data it needs for a perfect result. People want results quickly, and they don't want to enter a lot of data. The good news is that people will often settle for less-than-perfect results in such cases. This means that the application can provide some of the functionality in return for some of the data. If the user really wants full results, the user will enter all the data. But the application shouldn't make this mandatory.



Why has this become especially important with web applications? Because many applications are "nice to have" - they're not crucial. In the days of the desktop, computers were mostly used for business-related applications. They were critical to the operation of the business, and people were willing to invest a lot of time providing them with data. But the web has made it possible to provide users with applications that are neat - but not critical. If users don't get to see some results quickly - they'll move over to another web site. For a "nice to have" application to be successful - it must be tolerant to partial data.

1 comment:

Anonymous said...

Do you know latale online gold? I like it.
My brother often go to the internet bar to buy latale gold and play it.
After school, He likes playing games using these latale money with his friends.
I do not like to play it. Because I think that it not only costs much money but also spend much time. One day, he give me many buy latale online gold and play the game with me.
I came to the bar following him and found cheap latale gold was so cheap. After that, I also go to play game with him.

Do you know rohan crone? I like it.
My brother often go to the internet bar to buy rohan gold and play it.
After school, He likes playing games using these rohan online crone with his friend.
I do not like to play it. Because I think that it not only costs much money but also spend much time. One day, he give me many rohan online gold and play the game with me.
I came to the bar following him and found rohan money was so cheap. After that, I also go to play game with him.