A hidden cost of the failure to abstract
Microsoft has a site where user's can give feedback about the user experience of Windows Vista: http://www.istartedsomething.com/taskforce/
Props to them for being brave enough to open Pandora's Box. Looking through all of the issues, however, it is clear how completely distinct each of the various applications that make up the user experience in Windows are. It is clear that each application was built directly against the low-level Windows API at the time, rather than against a higher-level "user interface framework". Looking at office applications, one can see that Microsoft must have at least some such framework there, but apparently decided to restrict its use to Office.
The point of this posting is that it is often tempting to add new features/applications without abstracting what is common, but this has many costs. In Microsoft's case, the advantages they gleaned from years of adding new features with minimal impact on existing facets has now accumulated and they are faced with the prospect of having to basically re-write virtually every major and minor user interface of their Operating System. ...or live with an even higher pile of bandages and tape, which seems likely but isn't going to help them compete with the likes of OSX.
My experience confirms that it always pays to abstract when there are at least two cases of something, but never abstract when there is one.
Comments
Hey Nathan, just a heads up the site is not by Microsoft. In fact I designed and deployed the site myself as a community-centric site to offer suggestions for Microsoft, but it hasn't been officially commissioned by Microsoft.
Posted by: Long Zheng | June 11, 2008 10:51 PM
Wow, thanks for the correction. I take back my props to Microsoft. ;-) They certainly *should* have a site like this, and I thank you Long for doing it for them.
Posted by: Nathan Allan | June 12, 2008 03:11 PM