Surfing around the web, I often run into web sites that contain critiques of various aspects of Windows UI.
One of the most common criticisms on those sites is "old style" dialogs. In other words, dialogs that don't have the most up-to-date theming. Here's an example I ran into earlier today:
Windows has a fair number of dialogs like this - they're often fairly old dialogs that were written before new theming elements were added (or contain animations that predate newer theming options). They all work correctly but they're just ... old.
Usually the web site wants the Windows team update the dialog to match the newest styling's because the dialog is "wrong".
Whenever someone asks (or more often insists) that the Windows team update their particular old dialog, I sometimes want to turn around and ask them a question:
"You get to choose: You can get this dialog fixed OR you can cut a feature from Windows, you can't get both. Which feature in Windows would you cut to change this dialog?"
Perhaps an automotive analogy would help explain my rather intemperate reaction:
One of the roads near my house is a cement road and the road is starting to develop a fair number of cracks in it. The folks living near the road got upset at the condition of the road and started a petition drive to get the county to repair the road. Their petition worked and county came out a couple of weeks later and inspected the road and rendered their verdict on the repair (paraphrasing): We've looked at the road surface and it is 60% degraded. The threshold for immediate repairs on county roads is 80% degradation. Your road was built 30 years ago and cement roads in this area have a 40 year expected lifespan. Since the road doesn't meet our threshold for immediate repair and it hasn't met the end of its lifespan, we can't justify moving this section of road up ahead of the hundreds of other sections of road that need immediate repair.
In other words, the county had a limited budget for road repairs and there were a lot of other sections of road in the county that were in a lot worse shape than the one near my house.
The same thing happens in Windows - there are thousands of features in Windows and a limited number of developers who can change those features. Changing a dialog does not happen for free. It takes time for the developers to fix UI bugs. As an example, I just checked in a fix for a particularly tricky UI bug. I started working on that fix in early October and it's now January.
Remember, this dialog works just fine, it's just a visual inconsistency. But it's going to take a developer some amount of time to fix the dialog. Maybe it's only one day. Maybe it's a week. Maybe the fix requires coordination between multiple people (for example, changing an icon usually requires the time of both a developer AND a graphic designer). That time could be spent working on fixing other bugs. Every feature team goes through a triage process on incoming bugs to decide which bugs they should fix. They make choices based on their limited budget (there are n developers on the team, there are m bugs to fix, each bug takes t time to fix on average, that means we need to fix (m*t)/n bugs before we can ship).
Fixing theming bug like this takes time that could be spent fixing other bugs. And (as I've said before) the dialog does work correctly, it's just outdated.
So again I come back to the question: "Is fixing a working but ugly dialog really more important than all the other bugs?" It's unfortunate but you have to make a choice.
PS: Just because we have to make choices like this doesn't mean that you shouldn't send feedback like this. Just like the neighbors complaining to the county about the road, it helps to let the relevant team know about the issue. Feedback like this is invaluable for the Windows team (that's what the "Send Feedback" link is there for after all). Even if the team decides not to fix a particular bug in this release it doesn't mean that it won't be fixed in the next release.
Well the thing is, it's hard to understand your argument when you don't spell out whats actually involved in changing a dialog like the one in your screen shot. As devs we're sitting here thinking, thats an hours work at most.
senkwe: I didn't include a description of how long it takes because it depends on the UI. Some changes take minutes. Some changes take days. Some take months.
If it's just moving a control a few pixels one way or another, it might be a matter of a few minutes work. If the change involves getting new artwork, it might take weeks (there are even fewer graphic designers than there are developers and they're constantly overbooked).
this UI will never be correct, you can style a text input with css ;)
I'm a developer too and agree with you about the point that you can't do both...
But.. We cannot vote what we want in and what not. If Microsoft decides they want to update the calculator with a ribbon instead of fixing GUI problems, we have no vote in this.
So it depends on the issue what I prefer to get fixed.
What really bugs me about certain windows dialog is the inability to resize the window. I am forced to use the scroll bar inside the dialog to see the contents. I shouldn't have to scroll to see all the contents at a glance on a 1280x1024 screen.
One of the most infamous examples of "old style" UI, BTW, is the Add Fonts dialog, which looks like it dates back to Windows 3.1.
There's another way of dealing with these particular issues, one that a certain competitor who's name rhymes with "mapple" has employed: make calls to build the old style dialogs, windows, and other forms simply return a new style form, dialog, or other form and say to hell with the consequences.
Of course, this has potentially untold repercussions, like breaking untold millions of legacy programs out there, which would run counter to what seems to be the core of MS's philosophy when it comes to the OS.
Perhaps the auto-replace-with-new dialog (optionally, only for calls made by internal MS apps and optionally turned on for legacy apps) could be something that's a windows-8 feature? :)
Robert: Yes. And you'd be surprised at the amount of applications that depend on subtle internal behaviors of dialogs unfortunately.
Yuhong: That's actually been fixed in Windows 7 (the dialog was simply removed I believe).
You need to allocate time and resources for keeping the cosmetic issues, year around. It's part of responsibility if one is going to change the theme of the OS, and it's part of maintaining a software.
If you leave it in the hands of technical people to decide, they'll always get to threats about trading features vs cosmetics, because they do not believe in the value of cosmetics in user experience, and in this case the example Microsoft sets for the community. It's not really about rational, but rather contempt for visuals, graphic designers, user interface in general.
Cheap arguement, I know, but Microsoft has 90,000 employees, 4 bilion$ of profit per quarter, the lack of resources is not an issue. The cosmetic work does not take time from the senior developers who are tackling the more difficult problems, it's something that easily given to juniors or off-shored to India or China.
Programmers often fix dialogs that bother them, no matter what the priority is, if their in that code anyway. It's not really about time or resource, but they just don't want to be told they have to fix a cosmetic issue because they don't believe it's important, and they want to make a point to the world that it's not important.
Personally, I'm in charge of running a team and forcing developers to the right thing with regards to user interface, and I'm used to hearing these justifications given to myself or our users on mailing lists, by developers. Steves Jobs wouldn't accept it, and neither do I ;)
The proper reaction is to say to the user that he's right, not trying to suggest that he shouldn't be asking that in the first place, which is the programmer's natural reflex.
Larry, following the tradeoff logic in your argument a step further, isn't it reasonable to expect the Windows team to have made the same kind of decisions when it came time to decide what types of enhancements would comprise a given version of the OS?
"We can make sweeping UI changes and the associated boring work to make things consistent, or we can add feature XYZ, but not both"
(aside: in practice, it seems like Microsoft often tries to take half of each option)
I think the rub is that many believe that UI consistency should be a given, and therefore not on the list of negotiable features in the first place.
To this complaint I would say "Who f*cking cares?"
You developers get so caught up on the *stupidest* things. Meanwhile you cant write a secure application to save your lives because you are so worried about your precious little images.
note to self: don't feed the trolls.
TK: "you cant write a secure application to save your lives".
You do realize that this is exactly the kind of thing I was talking about, right? Part of the reason that bugs like this aren't fixed is exactly because things like security and reliability take priority over working but old UI.
And I'd love to see your data that shows that MSFT does a worse job of writing secure applications than anyone else in the industry. I'd stake our record (since 2003) against anyone elses.
You are absolutely right that it is a trade-off. And as you pointed out, it might take much more work than people think to fix that tiny UI inconsistency. But getting those UI right is one of advantages that Microsoft holds against other "free software" desktop and MS should really focus on those things.
These are one of the most tedious jobs to do and inevitably, in free software world, they lack resource to get these things right-those hackers are more interested in fun-to-implement new features than UX. Yes, UI is hard. Just saying.
The first part: It's about the craftsmanship.
The second part: your arguments don't make sense.
"You can get this dialog fixed OR you can cut a feature from Windows"
So, if this gets fixed, we get one more feature in Windows? Either change "get this dialog fixed" to "keep this dialog as-is" or "cut a feature" to "add a feature".
But worded as it is, I request that as many dialog as possible be fixed. Even fix dialogs that are 100% correct. :)