Comment by kccqzy

1 day ago

> I don’t mind if you want a custom look and feel for your application

I would go further and say that I don’t want a custom look and feel for each app unless the app is a game, especially if your app is a regular line of business app. The default Win32 widgets are good enough. The default Cocoa widgets are also good enough.

> I don’t want a custom look and feel for each app

I'd agree personally, but when you look at the huge success of things like WinAmp's themes back in the day, there clearly is (was?) a large market for it.

  • People talk about functionality and features (well, tech people do), but for a large part of the population, the eye demands its share. Your application doesn't look good? Sorry, skipped it already. First use doesn't feel intuitive? Delete. Another app does the same, perhaps even worse, but has funkier colors? Switch.

    If a framework cannot provide you with the right looks, you have to to override it. Hence the mess.

I want apps to use the default widgets because I want theming and color selection in the OS to work again. That's about the extent I care about look and feel. Microsoft has ruined that on current Windows versions anyway-- making me resort to registry modifications to get the colors I want. Every time I see an application with a "dark mode", which should be an OS-wide theme function, I get a little sad at the wasted developer time.

Beyond the now-denied choice of UI color scheme I do not expect (or even desire) deriving any joy or pleasure from the look and feel of software I use. Most of my computing is for "work"-- be that my job, or paying bills, shopping, etc. I want the UI to get out of my way and, most of all, not to insult my 30+ years of muscle memory and visual intuition. I derive joy and pleasure from software that allows me to quickly accomplish my tasks with minimal thought or friction on my part.

I experience massive frustration with software using UI widgets that don't work like the native OS. Not having the standard keyboard shortcuts, for example, is a great way to make me hate your software. It's an immediate "tell" that I'm going to be disappointed if a program has bad tab order on its UI elements, for example.

Moreover, eschewing the time-tested and battle-hardened native UI widgets speaks to arrogance. It feels like an ego trip and it's almost certainly unearned. Random developers probably can't pull off a widget replacement that replicates all the nuance of the native. Good luck pulling off accessibility and internationalization, too. Even if they can how is reinventing that wheel a good use of their time?

My rage is amplified when I find bugs in software with non-native widgets. They had time to dick around with the widgets-- something already done for them in a vastly more competent and comprehensive manner for free-- but not to ship bug-free code for the software's actual purpose?

The same goes for animations, fades, gradients, etc. The vast majority of software I use is not special or dear to me. It's a tool. I don't want to, in a manner of speaking, look at pictures of the developers kids or vacations as a "toll" for using the software. Making software "pretty" is only self-serving and egotistical.

Yeah, I think that’s probably fair. Games and media apps certainly get a pass from me. Not so much corporate chat apps that are shipped as part of the most popular productivity suite in history (as one example).

Also agree with you on both Win32 and Cocoa widgets.

  • Also, Win32 and Cocoa widgets feel so reactive and fast. Electron is bloated and so laggy.

    Speaking of performance of media apps, I stopped using the official Spotify client after I found out about Spotifast [1]. Yes, it's vibecoded, but it feels so fast and light compared to the real client that I wonder why Spotify itself doesn't fix their official app.

    [1] https://spotifast.rocks/

unless the app is a game

...and even if the app is a game, it can still make great use of Win32 controls creatively. Minesweeper is one example that comes with Windows, and I remember plenty of other casual (non-3d) games in the 90s/early 2000s making use of buttons, both ownerdrawn and stock, likely to avoid having to write their own hit-testing code.

  • I don't think the original Minesweeper used actual buttons for its playing field. That'd be a lot of controls that can be better handled by one custom drawn control. They also did look different from actual Win32 buttons which likely is another clue.

    • Upon closer inspection, you're right about the playing field; but the preference and high score dialogs are made of entirely standard Win32 controls.

The designers of your software and their bosses disagree though, default widgets don't provide "branding" and allow the poor designers to express themselves.

  • Good designers would not disagree. Platform standards are golden standards, any UX designer worth their salt holds that as an absolute.

    The problem starts when you want to ship to every device known to man but you only have the dev power to maybe ship it to the web—enter, Electron (and all that other similar crap).

    Don’t blame it on the designers or the developers. This comes from above the worker bees.

    • Electron just makes it easy, but it's long been the status quo. GP was right to mention branding. That's the driver.

      There's a document I've seen floating on the Interwebz, a copy of HIG for ancient Windows version, I think one of the 3.x ones. I distinctly remember it for having a note somewhere basically recognizing that giving some of the theming/customization options in the API is a bad idea, but customers want to brand their apps, so what can one do.

      This is one of the problems that I can't see being solved, because it's purely social - we'd have to have someone go and tell every entrepreneur out there that branding is a fucking stupid idea and you should not do it, and actually be taken seriously.

      I can't even imagine a world in which that is possible.

    • Separately from the "who thinks it's actually a good UX" question, I think we should also consider the strategic-villainy of established companies which try to slowly shift their captive customer-base into something weird that creates a barrier to leaving.

      Yeah, you lose some people with a shifting target, but it's easier to make them swallow 1% different every month than 50% different (to a competitor) all at once.