by Michael S. Kaplan, published on 2006/11/08 12:30 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/11/08/1037769.aspx
There are lots of times that the code underneath the UI is made a bit more complicated to make the user experience simpler.
Perhaps the most recognizable example of this is seen in the Save/Save As... functionality in most applications. Now Save As... always prompts for a filename, but the Save will only prompt for a filename if it never as before. Simpler UI might just disallow the Save functionality before one has used Save As..., but this would just make everything more complicated for users.
A whole bunch of these sorts of simplifications happened in Microsoft Keyboard Layout Creator as well.
For example, early versions of MSKLC separated the keyboard layout DLL building state from the setup building state, until we kind of thought about it and realized that adding separate interim steps here didn't make a whole lot of sense. Almost everyone would never need to do something separate with the DLL and the few people who did could just grab it from the setup directory anyway. Why not just make it easier on everyone and have one step to do both -- it does not take very long to do either of them!
And for the much anticipated update to MSKLC to support 64-bit keyboard layout DLLs, the notion of
all of these choices seem ridiculous. In the end, the better option (considering how small the files are) and the preferred solution is to just to create one setup that will run on all platforms.
Obviously more complicated on the Microsoft side, but much easier for customers....
I'll probably talk more about this as the project continues to unfold, but the core point is to keep things as simple a possible for people using MSKLC. If you have used it before and find there is anything in particular about the process that seems hard, why not mention it here and now while that unfolding is taking place? There will never be a better time. :-)
This post brought to you by ឰ (U+17b0, a.k.a. KHMER INDEPENDENT VOWEL QAI)
Charles Bocock on 9 Nov 2006 5:45 AM:
It's so much better for the developer to swallow the complexity and hide it from the customer. I see far too many developers passing the buck on this one.
A really common example is a credit card number box that says "Enter card number (Without spaces!!!)". How hard is it for the developer to just strip the spaces on the server side?
You've done the right thing with MSKLC. Sure, you've made the output slightly bigger, but in these days of broadband and insane GiB hard drives it doesn't matter that you're "wasting" a few bytes.