Live data from Hacker News

The Windows 95 user interface: A case study in usability engineering (1996)

dl.acm.org

41–50 of 290 posts

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#41
post #15

Steve Jobs is famous for his 1996 quote about Microsoft not having taste ( https://www.youtube.com/watch?v=UiOzGI4MqSU ). I disagree; as much as I love the classic Mac OS and Jobs-era Mac OS X, and despite my feelings about Microsoft's monopolistic behavior, 1995-2000 Microsoft's user interfaces were quite tasteful, in my opinion, and this was Microsoft's most tasteful period. I have fond memories of Windows 95/NT 4/…

By your timeline, it means Microsoft only had institutional taste for about 3-4 years. A tiny fraction of the company’s lifetime. (If it helps, I do agree with you about those years being the most… design-coordinated: when Office felt like part of Windows) (I like to think that Visual Studio 2026 proves that the company can still do good desktop UI design; but it doesn’t help that every major first-party product is n…

I think there was a period from Windows 3.1 to somewhere during Windows 98 (maybe right up until the release of Office 97?) where both first-party and third-party Windows apps were all expected to be built entirely in terms of the single built-in library of Win32 common controls; and where Windows was expected to supply common controls to suit every need.

This was mostly because we were just starting to see computers supporting large bitmapped screen resolutions at this point; but VRAM was still tiny during this period, and so drawing to off-screen buffers, and then compositing those buffers together, wasn't really a thing computers could afford to do while running at these high resolutions.

Windows GDI + COMCTL32, incl. their control drawing routines, their damage tracking for partial redraw, etc., were collectively optimized by some real x86-assembly wizards to do the absolute minimum amount of computation and blitting possible to overdraw just what had changed each frame, right onto the screen buffer.

On the other hand, what Windows didn't yet support in this era was DirectDraw — i.e. the ability of an app to reserve a part of the screen buffer to draw on itself (or to "run fullscreen" where Windows itself releases its screen-buffer entirely.) Windows apps were windowed apps; and the only way to draw into those windows was to tell Windows GDI to draw for you.

This gave developers of this era three options, if they wanted to create a graphical app or game that did something "fancy":

1. Make it a DOS app. You could do whatever you wanted, but it'd be higher-friction for Windows users (they'd have to essentially exit Windows to run your program), and you'd have to do all that UI-drawing assembly-wizardry yourself.

2. Create your own library of controls, that ultimately draw using GDI, the same way that the Windows common controls do. Or license some other vendor's library of controls. Where that vendor, out of a desire for their controls to be as widely-applicable as possible, probably designed them to blend in with the Windows common controls.

3. Give up and just use the Windows common controls. But be creative about it.

#3 is where games like Minesweeper and Chip's Challenge came from — they're both essentially just Windows built-in grid controls, where each cell contains a Windows built-in button control, where those buttons can be clicked to interact with the game, and where those buttons' image labels are then collectively updated (with icons from the program's own icon resources, I believe?) to display the new game state.

For better or worse, this period was thus when Microsoft was a tastemaker in UI design. Before this period, early Windows just looked like any other early graphical OS; and after this period, computers had become powerful enough to support redrawing arbitrary windowed UI at 60Hz through APIs like DirectDraw. It was only in this short time where compute and memory bottlenecks, plus a hard encapsulation boundary around the ability of apps to draw to the screen, forced basically every Windows app/game to "look like" a Windows app/game.

And so, necessarily, this is the period where all the best examples of what we remember as "Windows-paradigm UI design" come from.

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#42
post #7

Notice how they moved the ok & cancel buttons to the bottom right since it’s the more logical location to put them. Meanwhile gtk now puts those on opposite sides of the window title bar by default.

Separating them is good for avoiding misclicks.

Decades ago, MacOS properly had the close box for windows on the opposite side from minimize etc. widgets; now the one destructive window action could be reasonably safe without confirmation. Then Windows started gaining popularity and nobody ever did it the right way by default again. A pity for the sharp minds at Xerox PARC.

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#43
post #25
post #15

Steve Jobs is famous for his 1996 quote about Microsoft not having taste ( https://www.youtube.com/watch?v=UiOzGI4MqSU ). I disagree; as much as I love the classic Mac OS and Jobs-era Mac OS X, and despite my feelings about Microsoft's monopolistic behavior, 1995-2000 Microsoft's user interfaces were quite tasteful, in my opinion, and this was Microsoft's most tasteful period. I have fond memories of Windows 95/NT 4/…

> Microsoft Office 2007 ribbon Ribbon also has a similar research behind it, just like Windows 95. For what they designed it, allowing beginners to discover all the functionality that's available, it works perfectly. I think most of the complaints from the tech circles are completely unfounded in reality. Many non-tech people and younger ones actually prefer using Ribbon. I also like it since it is very tastefully ma…

Ribbon has some good elements to it, but other elements are questionable at best. Sizing of buttons for example feels completely arbitrary and not connected to frequency of use or anything else obvious.

I think the best parts of it could be replicated by just combining tabs and traditional toolbars, but that’s not complex enough of a concept to need a dedicated moniker.

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#44
post #38
post #15

Steve Jobs is famous for his 1996 quote about Microsoft not having taste ( https://www.youtube.com/watch?v=UiOzGI4MqSU ). I disagree; as much as I love the classic Mac OS and Jobs-era Mac OS X, and despite my feelings about Microsoft's monopolistic behavior, 1995-2000 Microsoft's user interfaces were quite tasteful, in my opinion, and this was Microsoft's most tasteful period. I have fond memories of Windows 95/NT 4/…

People need to go back and use Win 3.1 or MacOS 7.x to realize what a leap forward Win95 was. MacOS 7.x didn't even have preemptive multitasking! The start menu and task bar made their debut and immediately anchored the whole UI. Since then, Windows has made incremental advances (with the occasional step backwards), but no change has been nearly so radical. OS X would not have been possible without the influence of w…

You have to use windows 95 with a computer from 1995 to realise how painfully slow it was compared to windows 3.

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#45

Earlier quoted context omitted.

I really liked XP (and 7) because for me, having a capable theming engine built in that didn't take a ton of extra resources or cause instability (unlike Stardock's WindowBlinds) was a real value add. There were some absolutely gorgeous third party XP/Vista/7 themes on sites like DeviantArt that worked extremely well within the limits of the engine, had a unique look and feel, and were just as usable as the "classic"…

The engine itself isn’t gutted - it’s full of functionality that was never lost. MS just (correctly) reasoned that transparency effects in the UI - introduced in Vista simply to show-off the capabilities of the DWM compositor - ultimately detract from a good UI.

From what I remember it lost the ability to render rounded window corners, because while Windows 8 msstyle themes existed they all had the hideous boxed corners that clashed hard with many looks.

I don’t agree that transparency is always a detractor. Judicious use can be a net positive, but it doesn’t work for all themes and there should be an option to turn it off. Personally I didn’t find the W7 variation of Aero to be bad at all.

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#46
post #15

Steve Jobs is famous for his 1996 quote about Microsoft not having taste ( https://www.youtube.com/watch?v=UiOzGI4MqSU ). I disagree; as much as I love the classic Mac OS and Jobs-era Mac OS X, and despite my feelings about Microsoft's monopolistic behavior, 1995-2000 Microsoft's user interfaces were quite tasteful, in my opinion, and this was Microsoft's most tasteful period. I have fond memories of Windows 95/NT 4/…

I'll also give the opinion that Apple consistently creates some absolutely crap designs and when they do this, release something really really mind mindbogglingly stupid that it should be embarrassing they are instead met with applause on the "amazing design". It's a tiresome pattern repeated for decades now.

eg. The 'breathing status light' that lit up the room at night due to extreme brightness which meant every macbook of the era had stickers or tape over the LED with endless Q&A's of "How do i turn the annoying light off? You can't!". This crap design was met by articles extolling the subtle sign wave and off white hue. I kid you not. https://avital.ca/notes/a-closer-look-at-apples-breathing-li...

Apple today seem to have acknowledged their mistake here and taken away status lights completely (also a crappy design hailed as amazing since they've just gone to the other extreme) which highlights the fact that no matter what they do they're hailed as being amazing at design, even when it's contradictory from their own previous 'amazing designs'.

Apple doesn't just get a pass on crappy design. It gets endless articles praising the virtues of everything they do even when, if you think about what they did for even a second you'd realize, "that's actually just plain crap design".

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#47
post #15

Steve Jobs is famous for his 1996 quote about Microsoft not having taste ( https://www.youtube.com/watch?v=UiOzGI4MqSU ). I disagree; as much as I love the classic Mac OS and Jobs-era Mac OS X, and despite my feelings about Microsoft's monopolistic behavior, 1995-2000 Microsoft's user interfaces were quite tasteful, in my opinion, and this was Microsoft's most tasteful period. I have fond memories of Windows 95/NT 4/…

MS may not have been as tasteful as MacOS, but the functionality was at least there and it was easy to find and use. That goes a long way to make up for the bland-ish look.

Then we lost even more taste, and eventually the functionality and user friendlyness, on both sides of the isle.

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#48
post #11

Look how crisp, professional, and usable it all is. This is a very good write-up. There's no way this level of testing and dedication could have resulted in the execrable shitshow that is Windows today. Mac OS is going backward with accelerating speed, too. They had just started to recover from Jony Ive when they put a packaging designer in charge of UI... resulting in the "Liquid Glass" debacle, and all the other in…

I hate liquid glass with a burning passion. I've never understood why people get so irritated at design changes until now.

Welcome to the club. We all hate it here.

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#49

Any user interface designer should take a good look at the controls on a commercial airliner. An awful lot of effort goes into making an intuitive, effective user interface. I have disagreements with it, but there's no denying it's very well done. Designing a programming language is mostly about usability. I'll be giving a talk about that in April at Yale. It's a fun topic!

Looking forward to your talk.

I feel like there's a taste issue which is similar to tabs vs spaces or other coding styles. Some languages kind of solve this with auto-formatting but just because they choose a standard doesn't mean their standard is as readable as some other.

In languages one taste issue that comes to mind. Many languages have the invisible scope issue

    foo = bar
In C++ for example, foo could be a local variable, a member of the enclosing class, a local module static, or a global. Some programmers like this, JBlow for example complained that in C++, switching between standalone function, member function, a lambda required too many changes. (foo = bar) isn't an example but the point is he wants that to be frictionless.

Me though, I want the line to be understandable with as little external context as possible. I don't want to have to dig up 10, 50, 100 lines to see if a local foo has been defined or if it's member. So like python or typescript. I like foo has to be this.foo or self.foo if you want it assign the current object's member. Most programmers seem to agree because they end up using mFoo or foo_ or some naming convention to work around the issue but I think I'd prefer the language to enforce it.

I don't know which if any languages make all the different scopes more explicit.

So far I haven't liked Swift though which seems more explicit. Even though it's more explicit in some areas I feel like the majority of my time is typing boilerplate and fixing trivial syntax errors. I know programming requires syntax and, as an example, I include semicolons everywhere in JavaScript even though they are not required. That said, I would like to get all the time back in my life where I compiled some C++ only to be told "error: missing semicolon at end of class definition" or "error: extra semicolon at end of member function declaration". It feels like a language should fix this stuff for the dumb human rather than make the human do random tedious work. I get there might be times where it's ambiguous but I wonder if it's also a language design issue.

Re: The Windows 95 user interface: A case study in usability engineering (1996)

#50

Designers tend to be less open to feedback than developers. That, I think, helps explain why flat UI persists even though it has shown usability drawbacks. It also helps explain why overall usability feels like it's declining ever year — for instance, macOS Tahoe seems noticeably worse in usability compared to macOS Sequoia. Does anyone think Apple is going to rush out a release that fixes the excessive rounding of w…

I think you might be confusing flat design with UI density. While they emerged as trends during a similar period, they are distinct concepts. You can have small flat elements or large skeuomorphic ones.
Post reply on HN