So, why did the electrical designers choose the first design over the second one. I think they did because of two reasons:
- Most of the times, any electrical appliance is in the off state and the circuit is broken, so it makes sense to do this.
- It is much safer and cheaper to implement. Imagine, how would you implement inserting an insulator and think of different approaches to do that, to get the meaning of this.
Although, the second reason would have been the driving force in the case of switch designers rather than the first. But, software engineers often do not get the same luxury. They do not have the second reason to help them decide their defaults because coding wise, often the two options take the same time. So, a software engineer must always keep in mind, what option will be in use most of the time.
Another case in point: The difference between Nokia N70 and Nokia 6500. The most striking difference to an end user are the default options. It's a pain to navigate into multiple menus to get to one of the oft-used options in N70, while a newer model understands this pain of the user and makes the most default options available at a single click. The defaults are one of the reasons why Sony Ericcson phones made a huge market in India. They did it because they provided dedicated keys for music, Bluetooth and camera options. I do not mean to take the credit away from their superior camera and music quality, but just another factor contributing to their popularity.
So, the point is, how do I, as a software developer decide, where to keep my default options. Most of the times, the cost or the effort will be the same for implementing any of the options as default ones. The answer is: you do it the hard way. You do it by understanding the needs of your user, you do it by dogfooding your own code zillions of times, and be aware of where you can make it better.
Identify, the oft-used features and make them the defaults.
Great read.. I must say Deepank has nicely pointed about the role of so-obvious default things (that we take for granted) in the success of a product. The example of Sony Ericcson phones and Office 2007 were noteworthy.
ReplyDeleteGood post.
ReplyDeleteWell, this can further be extended by providing the customization to the end user for setting up the defaults options even. Since for each user there can be different often used options. e.g. with advancement in technology, there would be more and more number of features in a mobile phone, so sony Ericcson can't afford to provide separate keys to all often used services. Rather, it can provide only two or three keys and give the customization facility to the user to set the function for these keys, may it be for bluetooth, camera, GPS, wifi, music gallery, games, AGPS or even stored videos.
Also being interested in electronics (or electrical), I couldn't restrain myself from stating that you do the same thing when you put off the switch. You or rather We, in fact, insert an insulator (i.e. air) in the circuit of the device(i.e. fan) and the circuit break. :)
A nice thought to ponder on.....but still I dislike Office 2007 for its extraneous defaults.
ReplyDeleteHeartiest Congrats for MS and Best of Luck in ur endeavors too :)
defaults indeed...hey this falls into the same broad category as your post on KISS=> basically the consumer (nt Singh) is Kinng (ok xcuse the pj) and it is our humble duty to make any piece of software we write as easy as possible for them to use.
ReplyDeleteHi Saurabh, technically you are correct but the subtle difference is that we follow metal contact approach instead of the other way round,
ReplyDeleteMukul, I like the pj :)
Rahul, thanks
Nsit_it-05, thanks
Good descriptive posts on so-obvious looking default settings. All these things look so obvious but have great scope of thinking if one wants to.
ReplyDelete