Comment by drnick1

17 hours ago

I deplore the day we lost the menu bar and replaced it with "mobile first" designs. The desktop UI was perfected around the time of Windows 95 and has gotten worse with every iteration since then. That, and the increased reliance on non-native frameworks and libraries instead of working with directly with the Windows API in C.

Android used to have a dedicated menu key that would always bring up a menu. It was removed to chase Apple's 100% screen design.

  • IMO, the old Android menu button wasn't great UX. It ended up just being a miscellaneous laundry list of random functions, and the users would just need to learn "spam the menu button randomly on every screen just in case the needed action is hiding in there."

  • Long-press and the ••• menu in the overflow is a far superior UI paradigm than having a purpose built menu button.

    90% of the time, even in Android that was pre-Honeycomb, the menu ended up just showing what would have been in the overflow anyways.

    Android really did end up doing a lot better on the UX side that iOS with the contextual action bar and long-press to select. The idea of selection mode on iOS is still a weird process, and it's been mostly worked around since with higher PPI screens and touch sensors, instead doing a small area to "select" items on iOS

    • > Long-press and the ••• menu in the overflow is a far superior UI paradigm than having a purpose built menu button.

      I disagree - long-press isn't intuitive or discoverable, and it's slow. You could make a case that they're a good fit for mobile, but they're truly horrible on desktop.

    • For me, long-press is one of the most infuriating UX features of mobile. Probably the top on the offenders list for me is the copy-paste with the handles (which of course relies on long-press to trigger).

      Hard buttons beat soft buttons for UX any time. You can use them with a glove, you can feel where the are located and you don't accidentally click because your finger was close enough for the capacitive touch sensor to trigger.

      2 replies →

  • Just got nostalgic about the 4 hardware buttons on my Sony Xperia Play: back-home-context(option)-search.

    Still the best navigable phone I had when coupled with the Nova Launcher gestures.

    • I find that HP/Palm Pre with WebOS was best even if we ignore the physical keyboard (sliding left/right on the touch area below the screen or on the screen with a button pressed really made it easy to select text easily and precisely). Nokia N9 with Maemo/Meego was second best but it excelled in the cards interface for multi-tasking.

      Some of those were taken into other OSes but nowhere were they implemented so smoothly.

  • And the world has been improved for it ever since. What a waste of screen real-estate these buttons were...

I am fairly bothered about that but the one that really gets to me is the inconsistency of user interfaces across applications.

This precisely coincides with the web developers being allowed to wrap stuff into "apps" in Electron and the like.

  • It's been that way forever, did you forget about the Borland buttons? Colorful icons on them, much bigger, different shading.

    • They had a different look, but usage and UI conventions including keyboard navigation worked basically the same. Since the mixing of mobile and desktop with web technology, it’s the Wild West.

      3 replies →

    • But they were not too far removed from how the standard Windows buttons looked. Office had its own look in a lot of ways back then, e.g. with the extra handles on the toolbars.

      Now, if I take a couple of current applications, the differences are much bigger: from the top of my head, Explorer, Settings, Edge, Office, Steam, Spotify all have much more unique UIs.

    • There was a short period of time around Windows 95-XP where application developers really wanted to try to use the "latest and greatest" because if they didn't they really stood out as being "last year's tech".

      Then XP kind of broke that as so many started not bothering and then it all went sideways.

Windows 95 was the last release that had serious user testing in controlled environments. (They were also cribbing lots of notes from NeXT, which helped.)

Something fundamentally switched around 1998-2002 in how interface design was viewed and approached. I started my career in software as a design summer intern at a company that made a Windows “groupware” application in 1997. They took pride in following the platform’s guidelines and actually testing their designs with real users being videotaped trying to use it. The company’s UI design department was tiny, but employed both an industrial designer and a cognitive scientist.

Five years later, everybody I met in UI design was a graphic designer who was drawing glossy website mockups in Photoshop. The elder lore of science-based UI design was completely lost when Web 2.0 happened and app designs became vibes-based. Even Apple couldn’t resist the tide. (Indeed Steve Jobs’s return to Apple in 1997 was a major contributor because he had developed a taste for user-hostile skeuomorphism like the brushed metal QuickTime Player.)

  • I don't think that's true.

    I was at Microsoft when they user-tested Windows 7 to death. Including installing eye tracking software during sessions so you could monitor where the user was looking at on the screen.

    That data was in part used to justify the changes made in 8: "Users only click on the start menu 0.1% of the time and when they do they focus on a narrow portion of the screen."

    • A couple of the UX people who worked on Win8 told me that some of the UX study results were faked to give the desired results that justified the new Win8 design changes.

      Def the sort of stories you hear at at a bar after work.

    • how do you go from

      > the users don't focus on this menu much

      to

      > therefore we need to make this menu as large as possible

      shouldn't the conclusion have been "the start menu is so great the user doesn't even need to focus on using it". it feels like desperately trying to make the data fit the predefined conclusion, despite the data screaming and kicking.

      1 reply →

  • Skeumorphism is the opposite of user hostile. Flat design. Now THAT is user hostile.

    • You’re not wrong that they aren’t directly correlated. I can see the argument though that making Notes look exactly like a yellow legal pad was not an automatic gain for usability compared to say, wordpad.exe with its super simple toolbar that showed you every option.

      I think a fair take is that going full skeuomorphic may take some options off the table for you because they would conflict too much with the metaphor you’re leaning hard into.

      I’m still 100% Team Forstall though, considering the massive violence that ios7 and its copycats have wrought on usability.

    • Some skeuomorphism is user-friendly, like buttons that animate like they're clicked when pressed down. Other skeuomorphism was user-hostile, like the various mouse-only interfaces where everything had to be dragged around to work.

This is the part I don't really understand - was the development experience and iteration speed really that much faster moving away from low level languages / APIs? It's in the critical path, it should be stupid fast.

I have some hope that thanks to hardware shortages and AI helping people write software they will rewrite some things back to faster languages. But this is all gut feeling, gut feeling that a lot of modern-day developers are afraid of optimized code.

(I fully acknowledge the hypocrisy, given my bread and butter is JS/TS front-end and I don't like C. But in my defense, there's no market demand for native developers either, barely any Go even, even though a few years ago it looked like a lot of Java backends were getting rewritten)

  • Yes, it was really that much better. Win32 was an atrocious API even by the standards of the time, and nobody uses it anymore for good reasons. You can't get the kind of UX modern users expect with plain Win32 - even implementing dark mode is a pain in the rear.

    But! Something hardly anyone realizes is that you can get native old-school performance with modern frameworks if you do things right. The best example of this I've seen is what happens if you AOT compile JavaFX apps with GraalVM. They start instantly, every bit as fast as a classic Windows 95 era app running on a modern Win11 machine would.

    JavaFX is the replacement for Swing in Java world. As GUI frameworks go I actually really like the API - it's not a ReactJS based paradigm that never really gelled for me, the closest JS equivalent might be something like Vue where reactivity is done at the property level instead of via vdom diffing. It is vaguely HTML inspired, so there's an XML based way to define UIs and you can style them with a dialect of CSS, but the whole thing is designed for GUIs from the ground up. Rendering uses the 3D pipeline on each OS (Direct3D, Metal, Vulkan or OpenGL), it's multi-threaded, there are sophisticated widgets for things like rich text editing and table views, properly parallel composited animation APIs etc. When it first came out it was quite futuristic, nowadays I'd say it's just standard.

    Anyway, you can make apps with it that feel completely modern to end users, and yet, they start fast and use relatively little memory when AOT compiled. The JVM startup time disappears entirely.

    Part of why it's fast is that GraalVM lets you initialize parts of the app statically at build time, so data structures like GUI widgets derived from XML or CSS can be frozen into a heap snapshot and just mmapped in. No startup time computation needed.

    So it's possible and we don't have to go back to using legacy APIs to get this kind of performance. A sufficiently smart compiler can work wonders.

    • > even implementing dark mode is a pain in the rear

      You don't need to implement dark mode when all the controls already follow the users system color scheme. Dark mode is a signficiant regression compared to user-adjustable color schemes and another example of designers wanting to enforce their vision over the desires of the user.

    • Using a library that wraps the native system is also good - eg. wxWidgets. I find it very nice to work with compared to attempting to learn any of the myriad UI attempts Microsoft introduced later.

The war on scroll bars has gotten pretty senseless.

  • Always-on-screen scrollbars were useless. Now they appear only when needed.

    • Scroll bars have always been both control (press here to move around) and indicator (how much of this document is there, and how far through it am I?).

      Always-on-screen scrollbars are only useless if you think that indication is useless. Many people find it quite valuable.

      4 replies →

    • I think elements like scrollbars remaining visible serve a useful purpose of their own. I don't just mean scrollbars in this case depicting the location in the scroll, either, but instead offering a fully predictable interface that looks the same and doesn't depend on state. Elements like scrollbars only appearing when needed- expanding when you hover near them, for example, removes some of the predictability of the interface. If you have elements all over a UI that only appear "when needed" it starts to become a bit of a circus show, IMO; ribbons or toolbars or menus that only appear when you press alt or hover near the top of a window; scrollbars that only appear when you either scroll or move the mouse near the scroll elevator area, etc. It's some of the same push that has removed titlebars from desktop UI. Programs like Chrome spearheaded effectively taking over that area, because it's a "waste of screen space", But it's not, that screen space was used for a predictable, known UI element that used to be fully expected on all desktop UI Window elements. It's sort of like how we have with writing a predictable convention of words on a page to have margins on the left and right. If that followed the way UX has gone we'd have dismissed page margins as "wasted space" and all text would have 0" margins and run all the way to the edges of the page and we'd pat ourselves on the back for "using page real estate" more effectively.

      1 reply →

    • No they don't, they appear every time you scroll even if you never use the bar. And flashing of ui elements is in many cases worse than wasting that space permanently.

      It's a tragedy decades of UI research/design can't get any of the fundamental design elements right

    • I hate when magically appearing scrollbars cause the screen to redraw - I especially hate it when the content needs a scrollbar if NOT present, so it appears, which makes the content reflow so it doesn't need it, and it keeps swapping back and forth.

      Good times.

      3 replies →

    • They are handy on a tablet. At the same time they are not since dynamic content might be loaded so the true size of the page is not shown to me by the scroll bar.

The Desktop GUI was perfected with NeXTStep in 1990. Though some might say Smalltalk in 1984 (modulo some nice artwork and colours).

We could even have unified desktop.mobile codebases, with different GUI layouts. 280 North's objective-J/Cappuccino proved this.

IDK what we're even doing anymore.

  • The early Mac made huge functional improvements over the Smalltalk GUI, improvements still used today.

  • > IDK what we're even doing anymore.

    I would say people are just disagreeing with you that the situation is actually so black and white.

So do I, but I don't think I'd blame mobile-first designs, and instead place the blame on Microsoft sucking at making decisions, sucking at design, and sucking at mobile. Every bad Windows UI has, imo, been the result of trying to be cool and likeable by dying their hair a different colour to get some attention and getting ahead of or catching up with Apple who was playing a different game the whole time.

Apple meanwhile has made some notable mistakes, but when they do, it's usually a thorough bad bet that's just missed the mark, but if they do, it's all throughout their OS in every corner. Even with their recent Liquid glass blunder, they're not really putting a veneer that looks like wood over a rotting corpse of a house, they're just picking bad materials to update an otherwise decent layout. Microsoft's whole track consumer UI/product record imo is trying and failing to bet small but intrusively on ideas that don't work, aren't cool, and have no longevity. You see it as soon as you open the control panel that still looks like the 90s; it's this uncomfortable amalgam of failed tepid temporary marketing pitches by some department that make no sense

> we lost the menu bar and replaced it with "mobile first" designs

What does this mean? I use lots of apps that still have a menu bar.

Some apps eschew it, like browsers, but not because they are “mobile first”, but because they are trying to maximize screen space.

  • > Some apps eschew it, like browsers, but not because they are “mobile first”, but because they are trying to maximize screen space.

    I don't think this is true. If anything, we see more oversized buttons and empty space nowadays. It's as if developers forgot that PC users have keyboards and mice. Remember, display resolutions and monitors were a lot smaller back then, and making space count was arguably more important 20 years ago than it is today.

    • Smaller screen also means your menu bar has to be larger relative to the total screen size to be readable though. Assuming something like the standard going from 15" or 17" CRT to 24" LCD

    • Two things can both be true. An app can create more space around controls and get rid of the menu bar to save space.

      The space also really has nothing to do with “mobile first”. It’s for touch screens (and also modern aesthetic that avoids crowded controls).

      To be clear, I am not saying that all apps are optimizing for saving screen space. I was specifically talking about browsers, which are broadly optimized to give as much area as possible to the content.

      1 reply →

  • > but because they are trying to maximize screen space

    If that was the case they wouldn't put giant margins around every UI element and dead space everywhere.

  • > they are trying to maximize screen space.

    Ironic to say on hackernews which shows massive whitespace in the margins-- and if I try to widen my tab sidebar it actually indents the margin rather than eating into it.

    One can look across the computing space as a whole and see that, it is surely not the case that we're "maximizing screen space".

    • You think Hacker News’ design is new? It’s looked exactly the same since I started using it over a decade ago.

    • Totally agree. But this does not take away from his point that maximizing screen space is the motivation in Firefox. In fact, all you have done is demonstrate why they are driven to do so.

      1 reply →

  • I loathe mobile first design, seems to me it's "mobile matters, on other devices just deal with it.".

    The Wells Fargo website screams this for me - it used to be dense and packed with info, now it's got large elements and wasted space.

  • > I use lots

    Oh really? I, sadly, use nearly none. Open on my desktop right now: Slack, Outlook, Zoom, Windows Terminal, Edge, Claude, Obsidian, whatever the Windows image viewer is called, Cursor, and VS Code.

    Only the last 2 have menu bars. And I can’t be certain that I didn’t dig through the preferences of one or both of them when I first installed them to tell them to knock off the bullshit and give me back the menus. Once in a while, there is an option buried somewhere like that.

    • In fairness I did not do a full inventory of all the apps I use. I see Word and VS Code. It may be less than I thought if I inventoried every app I regularly use.

      I see some have gone the “browser” direction with tabs folded into the title bar and the menu bar dropped. Windows Terminal, File Explorer, and Notepad are all that style now.

      Edit: Actually Notepad has the tabs in the titlebar thing but retained the menu bar and folded it into the command bar.

      5 replies →

Although I started with 98, I think Vista / 7 was the peak. It was user friendly enough for newbies but didn't sacrifice advanced controls. Just organized them better to bring focus to the more used parts.

  • In terms of aesthetic, I love Windows 7-era Aero glass design (and to a lesser extent, Vista), but I also love the classic Windows 9x/2000 look. If I had to choose between the two, I'd go with Aero simply because of the start menu search bar.

  • Maybe on the OS side. However, Vista coincided with the release of Office 2007. That release of Office introduced the dreaded Ribbon, which made functions much harder to find.

    • I actually like Ribbon and I disagree. It made functions easier to find, for people who didn't have a muscle memory of those functions. It actually taught them how to use the program and exposed conditional menus like picture options better than the toolbars that appear and disappear.

      Of course people who got used to traversing 3-level menus got annoyed but they still have all the same keyboard shortcuts. However, spending enough time, you also get used to Ribbon and it usually requires fewer clicks not more.

      I still find a tastefully done Ribbon is better than a menu and a toolbar combination. The problem is, not everybody has put the same effort that Microsoft did which created monstrosities like Solidworks Ribbon.

How can it be related to perfection to permanently waste a strip of space you rarely (and in some apps never) use?

Working directly with C API in Windows has not been a thing since Vista, as COM took the main role for API delivery.

The Windows SDK samples like Hilo make use of C++ with COM.

95 feels kinda backwards tbh but 98SE/2000 is outrageously modern. A lot of the windows admin tools are unchanged from 2000 apart from the icons. I really think if you could run a modern browser on 2000 it could be a daily driver for most people

  • i'm planning to vibe-port some modern software I need to Windows XP. I'm done with the web browser, I'll just vibe native software for the sites I want

The Menu + quick access bar was good for developers but terrible for users, at least compared to the ribbon.

Ribbon is absolutely an improvement for users but is more work for the XML layout and learning how to organize it.

I'm rather convinced that Ribbon is still the best way to organize quick actions, show their shortcuts (Alt to see keyboard shortcuts), and also have enough text to describe all the buttons. But it'd be nice if it were easier to make good Ribbons.

Menu was braindead easy, albeit through ancient process of .rc files and whatnot

  • The alternative to ribbon is not menu+ quick access, it was easily customizable toolbars where you can simply drag and drop only the buttons you need in the toolbars you need at a fraction of screen space that the ribbon wastes. And no user is ever exposed to that XML garbage only a dev could love

    • Menubars/toolbars were not n00b-friendly but great for anyone that used a computer for technical reasons.

      Old Photoshop, any CAD software, Excel. Smaller buttons and more of them is a steeper learning curve but results in far superior day-to-day usability. You can still hold down [Alt] and see hotkeys, that wasn't unique to the Ribbon UI.

      it's all very much an example of the "Look at what they need to mimic a fraction of our power" meme.

  • I'm just not sure why it has to be one or the other. Look at NeXTStep. They had a menu bar (or I guess a menu panel) and a ribbon, although that term didn't exist yet, and it was definitely not 100% there yet.

  • I think it's the other way around. Well organised menus can help users discover what functions are available at quick glance without having to hover each icons with the mouse to know what they do. For power users, the ribbons mean you can click directly on the function you need without having to click through menus and sub-menus.

    • Menus from Win95 are uniform. All buttons took up one row and a full width of the submenu. (Even if you don't have a shortcut key assigned, the space is taken up and wasted)

      It's well acknowledged that modern designers and users benefit from large vs small, and other varying styles of organization.

      Menus only had top menus vs submenu vs sub-sub-menu (and so forth). Yes a good menu is useful but...

      A ribbon offers many more tradeoffs. It's harder to design a good ribbon, but the best ribbons are always better than even the best menu. The important features will be physically larger with more text and space. The less important or niche features might just be an icon with tooltip, possibly hidden behind a subcategory of the ribbon.

      In theory, you can use the modern Ribbon to make old school menus. But why bother? If you made the switch to that XML design language, you might as well take all the benefits of the Ribbon

      Or hell, if you like old school menus, you can still make them today. Those .RC editors still work in modern Windows 11. But give it a shot and you'll see how restrictive and bulky old school menus are in practice.

> The desktop UI was perfected around the time of Windows 95

There’s no need to be hyperbolic or blinded by nostalgia. Yes, user interfaces have suffered several setbacks in the years since, but even if we concede every change was for the worse (they weren’t) it was by no means “perfected” and there was still plenty of area for improvement.

i agree. i love the 120hz responsiveness of the UI. how fast the app loads, the buttons click. No lazy loading , placeholders, layout re-renders. Open the task manager: half a meg ram used.

Insanely great performance.

As computers, and smartphones got more popular, the audience got larger and the use scenarios got more and more distant from professional use. Dedicated professionals, like software engineers and stock brokers still prefer CLI and Bloomberg terminal even today. Ordinary office workers late 90s and early 00s window-based interfaces (the ones you're talking about). But smartphone users who just want to play their free games and scroll through facebook actually prefer the mobile-first UIs.

If you see this UI transition through the same lense as CLI-GUI one, a lot of things become more clear, in my opinion.

I agree with you generally but I don't think desktop UI is remotely close to perfected. Unless you mean the desktop as a skeumorphic concept than maybe.

I think we've actually completely stagnate on the human interaction side of OSes and only emacs has made any progress and then only for those willing to put the work in, not as a vanilla user ui.

> The desktop UI was perfected around the time of Windows 95 and has gotten worse with every iteration since then.

Well that can't be entirely true, the desktop experience on Windows 10 improved on Windows 8 by leaps and bounds.

  • > Well that can't be entirely true, the desktop experience on Windows 10 improved on Windows 8 by leaps and bounds.

    In large part, windows 10's ui is more like that of windows 95 because it undid the changes away from the windows 95 paradigm that windows 8 did. Furthermore, those changes away from windows 95 in windows 8 were the exact kind of thing that might be called "mobile first".

  • Haha, yes. It does not account for releases which made UX dramatically worse (win 8) which were then reverted to some extent.

  • Only because Windows 8 was such a dramatic step back. Windows 7 is still better than Windows 10 in terms of UI.

  • I can't tell if this is sarcasm. Windows 8 is a very low bar in terms of desktop UI. It was universally panned as a regression.

  • Are you nuts? Or wait.. you must be Gen Z then, never really used Win95.. If so, you cant make any statements in the subject.

    I still run Windows Classic GUI here, because its fast and confortable to use. Can you do better? Hmm, maybe. But im not conviced :)

    • >Are you nuts? Or wait.. you must be Gen Z then, never really used Win95.. If so, you cant make any statements in the subject.

      What a terrible attitude to have as a comment reply. I've been using Windows since Windows 95, meaning I have plenty of experience and some emotional attachment to it and I'm as millenial with knee pain as they get, so not Gen-Z, and I can't imagine going back to using W95 today productively in a non-ironic way.

      Windows 95 was perfect ... for what people did on computers back in 1995, not for what I do now in 2026 on the HW of today. May W95 rest in peace, but I'll take my modern OS for my moderns entertainment and productivity tasks on modern HW. There's no way in hell I'd want to go back to W95 even if that's what popped my cherry. People calming otherwise have rose tinted glasses and only remember the good parts of that era without the downsides.

      7 replies →

    • I think they were referring to the latter part (downhill ever since) and not the former (win 95 is the best).

      How are you running the classic GUI?

      1 reply →

    • not sure if "can't say that X is the best if you haven't personally lived through every previous iteration" is an already established logical fallacy, but damn does it fall apart quickly.

    • Typical insulting boomer reply. Personal attacks, against the rules, and nothing useful added to the discussion. And the guy you insulted isn't even Gen Z...