Fog Creek Software
Discussion Board




Why does Microsoft keep changing the interface?

Sorry, I just need to rant here...

Every time Microsoft comes out with a new version of Office or a new version of Windows, it changes the user-interface elements -- the look-and-feel of menus, buttons, etc. 

For example, Windows XP spawned the new candy-colored look.  Now, with Office 2003, they've taken this to a new extreme, with rather garish (in my opinion) blue menu bars:
http://www.microsoft.com/Office/Preview/images/editions/word-reading_large.gif

As a developer of add-ins for Office, I don't really care about the aesthetic merits of one interface design over another.  (I actually like the "XP look," for example.)  What bugs me is the inconsistency -- that there's no _standard_ look for user-interface elements.  There are at least four competing themes -- the classic Windows 95/98/2000 look, the Office 2000 look, the Office XP look, and the Windows XP look.  Now there's a fifth one (Office 2003) on the way.

To make matters worse, Microsoft always keeps its latest-and-greatest user interface libraries proprietary.  Until Visual Studio .Net 2003, for example, there wasn't an easy way to get Windows XP-styled buttons in your projects.  (It's still a bit of a kludge to do, and doesn't support certain other elements like XP-styled toolbars.)  If I want my product  to look and behave like a "modern" Windows application, I either have to turn to a third-party component vendor or a freeware alternative.  Either way, I have to cross my fingers and hope that the component doesn't turn out to be buggy.

The cynical side of me says that this constant reinvention of the interface is just a shameless marketing practice -- to shout out that the latest product is *New* and *Improved* because it sports a different interface.  Given that the Office applications are very mature products, Microsoft might believe that user interface "improvements" are necessary to keep users on the upgrade treadmill.

In contrast, Apple seems remarkably restrained by promoting and enforcing a consistent look-and-feel for all Mac apps.

Robert Jacobson
Sunday, August 10, 2003

In spite of what lots of people believe, I really don't think that the Office and Windows groups in Microsoft talk to each other that much! Office doesn't use the standard operating system common File dialogues, for example. Of course it's a shameless marketing practice. However, users don't notice improvements under the hood but they do notice changes in the UI. It's a bit like The Iceberg Secret - http://www.joelonsoftware.com/articles/fog0000000356.html

I don't think Apple is blameless either, their own guidelines state that the only applications that should have the "brushed metal" interface are the iLife apps, but that look has now made its way into the Finder in OS X "Panther".

John Topley (www.johntopley.com)
Sunday, August 10, 2003

I think you've hit on the head: it's all down to marketing.

I used to support a large office of salespeople, and they hated  having software that wasn't the latest.  It's just like their company car: it has to be top of the range for the sake of status.

The enhanced look and feel not only screams out that somebody is using the latest version.  It also means that others can tell when somebody is still giving their powerpoint presentations in Office 97.

Ged Byrne
Sunday, August 10, 2003

>> Until Visual Studio .Net 2003, for example, there wasn't an easy way to get Windows XP-styled buttons in your projects. <<

Getting the Windows XP style controls is a simple matter of adding a small XML manifest either to the app's resources or to the same directory as the app (in an appropriately named file).  Since the file-based approach is independent from the EXE build, you can even add the styles to applications that you didn't build (assuming the standard Windows controls are used). 

http://www.codeproject.com/w2k/xptheme.asp

Rumor has it that the next version of VS.Net will support one of the newer Office styles (not sure if it's the XP or 2003 style).

SomeBody
Sunday, August 10, 2003

Somebody --

Thanks, I know about chaning the manifest.  However, it's a cludgy solution.  It's actually easier with VS 2003 -- you can call System.Windows.Forms.Application.EnableVisualStyles before the screen paints, and it will enable XP styles for most controls.  (Even this is a bit esoteric though -- Microsoft should simply have an "XP style" option in the properties window for every conrol.) 

Unfortunately, this don't work for all controls -- some controls will stubbornly stick to the classic Win 95/98/200 look.

The bigger problem is that I actually need Office XP-style toolbars (to go with my Office XP addin.)  And I also need Office 2000 toolbars, since my add-in is backwards-compabable and I want the user interface to be consistent with the host app, and I suppose I'll now also need Office 2003 toolbars for forward compatability.  Maybe this will be available in Visual Studio 2004, but I can't just wait for a year.

Robert Jacobson
Sunday, August 10, 2003

The reason for not having an 'XP' style property is that everything can be styled externally, whether you love or hate themes.

Now if they'd just give in and implement XBL and XUL I'd be very happy.

Simon Lucy
Sunday, August 10, 2003

Thought it was so that people won't assume the programs are the same, since the interfaces are different.  Saves a lot of frustration.

peter f.
Sunday, August 10, 2003

Fire and motion, baby.  Fire and motion.

Norrick
Sunday, August 10, 2003

We're using DotNetBar for our interfaces. They have predefined styles for all of the mentioned versions of Office and it has worked great for us. It's not from MS, but it is a good third party control for doing them all.

Also, have you looked at how the Office 2003 interface renders in non-XP Windows? The blue reverts to the usual gray, but the orange for the highlights remains. One more thing to support (Althought DNB does this too).

  --Josh

JWA
Sunday, August 10, 2003

>>We're using DotNetBar for our interfaces. They have predefined styles for all of the mentioned versions of Office and it has worked great for us. It's not from MS, but it is a good third party control for doing them all.<<

Thanks Josh... it looks like a good product, at a decent price, and I'll probably end up buying it. 

It's more the principle of the thing that bothers me... that someone in Microsoft's marketing department decides that the new version of Office needs to have a "cool new look," and someone else decides not to make those libraries available through Visual Studio.  The end result is that third-party companies spend time imitating the look, and developers spend money to buy that imitation.  (And risk depending on the stability of a third-party compnent.)

More significantly, why should a new version of an application suddenly depart from all previous standards for a user interface?  Changes to the color and style of a menu or toolbar aren't going to confuse users too much, but it strikes me as rather arrogant to deicide that an new upgrade is so significant as to warrant a totally new user interface. 

For example, what would happen if Joel decided to distinguish FogBUGZ 4.0 from FogBUGZ 3.0 by making the menus purple, and the buttons into big circles.  We'd scoff because Joel was departing from the standard conventions of Windows applications.  Microsoft gets away with this just because it's the 800-pound gorrilla of the field.

I have this crazy notion that applications running on one operating system should have a consistent look for all menus, toolbars, etc., regardless of the vendor.  Microsoft's approach has caused a proliferation of different styles, with no consistent user interface guidelines for developers.  Apple's approach (despite its own possible deviations) does a much better job at maintaining a consistent look.

Robert Jacobson
Monday, August 11, 2003

Just remembered that FogBUGZ is a Web app, so it's probably not the best example.  You get my point though.  <g>

Robert Jacobson
Monday, August 11, 2003

Office is designed for users, not for programmers.  Users love pretty new looks, especially when they're as un-technical as possible.  Remember how everyone had to use the atrocious Comic.ttf font on every website and even print documents, now matter how hard it was to read?

For audio/movie playback apps, extensive "skinnability" is mandatory. Stardock ( http://www.stardock.com ) very successfully sells WindowBlinds, a product whose sole purpose is to make the entire Windows desktop skinnable. The whole point is to make your windows NOT look uniform but "special" in some way.

Yeah, I think it's stupid too, but then I'm a programmer! :-)

There's also the little problem that most users only need a fraction of the functionality that has been provided since Office 97 or even 95.  Added functionality wouldn't suffice to make them spend money for upgrades, so it's wise from a business standpoint to add a "fashion incentive".  And keeping this new look proprietary is also smart because it contributes to ensuring the Office monopoly.

Chris Nahr
Monday, August 11, 2003

The automotive industry in North America does the same thing.  The cars have two structural components: the frame and the panels.  The frame, used to carry the load, typically remains the same across model years. The panels change each year.  It's a marketing technique used to make people with older models want to go out an by a new car more frequently. 

This is in contrast to other automakers in other parts of the world that use a unibody approach.  With this approach, the panels are load carrying parts of the design - they cannot be varied independently of the frame.  This makes the car lighter and less expensive, but it makes the cost of turning out a "new version" higher.  It works well in certain markets, though.

anon
Monday, August 11, 2003

Surely modern North American cars use monocoque construction?! The Citroen Traction Avant introduced the idea to Europe 69 years ago.

I know 4x4s (S.U.V.s if you must) use a ladder frame chassis but they're hardly at the pinnacle of automotive engineering!

European
Monday, August 11, 2003

Why? 

For the same reason that you _probably_ changed all (or some) of the default Windows XP GUI settings after you setup you pc.

To make it fashionable.

Heston Holtmann
Monday, August 11, 2003

"I have to cross my fingers and hope that the component doesn't turn out to be buggy"

As though you would trust Microsoft's implementation not to be.


Monday, August 11, 2003

I'm afraid I'm obliged to point out that with two clicks of my mouse, any Delphi program I write uses the current XP style, even if the theme is something crazy like Lime Coughdrop.


Monday, August 11, 2003

I've heard from Microsoft people (Mike Blasczek in specific) is that a lot of times, the reason MS doesn't release their fancy toolbars/docking windows/menus etc. to the public is because they're specifically written for the app in question, not generic components.

So they either need to waste time cleaning them up for release (since they can't charge for it) or swallow a whole lot of support calls, or more probably both. So I can understand why they don't release the stuff.

As for why they keep revamping the UI? Lets be honest here: what's really changed since office '97? Yep, that's right - it's just the menus and toolbars. MS needs *something* to make the purchasing managers think that this is a kewl new app.

Chris Tavares
Monday, August 11, 2003

"The reason for not having an 'XP' style property is that everything can be styled externally"

Flashback - OS2 presentation manager 1991 ?

Martin Beckett
Wednesday, August 13, 2003

OK, maybe I'm just a hopeless romantic, but what I don't understand is why you should need to change a single blessed thing in an application to get an "XP look" or a "Windows 2000 look" or any other look. The whole idea that the default API should incorporate that kins of detail is simply incomprehensible to me.

Surely you should simply call "...Scrollbar(...)" and "...Button(...)" and have that rendered by the OS using the default native look and feel.

It worked that way under Mac OS, though Jobs (curse his black soul) decided that Platinum (and later Aqua) was the look and feel everyone would use, and didn't provide a way for the user to take advantage of that. But there are utilities available for both Mac OS and OS X that let you theme the whole user interface and *all* applications that use standard controls just automatically pick up the new look and feel.

Even on the X Window System (which is the Poster Child for poorly thought out application standardization), applications written using most toolkits would automatically pick up a new look and feel when you installed a version with a new feel... install Xaw3d and all of a sudden *all* applications using the ugly monochrome Athena Widgets got a nice Motif-y 3d look.

Surely there's at least ONE API in Windows that lets you do this without touching the app.

Peter da Silva
Friday, August 15, 2003

And so after reading this and writing that, I went down to resexcellence and downloaded ThemeChanger and the Mac OS XP theme, and now my whole desktop looks like Windows XP. ALL the applications, including all the buttons in the web browser, all the menus, everything except for a few of the old neolithic apps like Quicktime Player and iTunes that have their own themable interfaces instead of just using the OS...

So... why is it that Microsoft can't do this? Amiga did it. BeOS did it. Gnome does it. Even the creaky old early-80s Athena widgets for X11 manage it. Mac OS 8 onwards does it. It's obviously not something esoteric or unusual.

Surely there's some API that "just works" in Win32's plethora of APIs...

Peter da Silva
Friday, August 15, 2003

*  Recent Topics

*  Fog Creek Home