Live data from Hacker News

Microsoft hasn't had a coherent GUI strategy since Petzold

jsnover.com

271–280 of 604 posts

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#271

The churn would have been much worse if Microsoft was rolling out successful GUI framework after GUI framework. As it is you can still write a Win32 app if that pleases you, or still write .NET (and damn that runtime download!) Microsoft has bought into ‘make a web app’ since 1988, they introduced AJAX, they got flexbox and grid into CSS and numerous HTML 5 features to support application UIs. They ‘frikin bought npm…

> For all the complaints about modern JavaScript it gives you the pieces to make a very pleasant world in terms of DX and UX There is no such thing as pleasant UX in a web app. The best experience will always be a native app, a web app is at best a port in a storm solution.

> The best experience will always be a native app

Nonsense. The best experience is the one that solves user’s issue. Technology choice is orthogonal to that.

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#272
post #257

When a platform can’t answer “how should I build a UI?” in under ten seconds, it has failed its developers. Full stop. That's fine, except no platform answers this. Obviously Linux doesn't, but the Mac doesn't either. Apple of course has it's recommendation, but most developers do not take Apple's recommended path because of course, it's Apple-only, most developers make cross-platform apps these days. Even if Microso…

Linux can answer the question, but you're considering Linux as a monolithic platform which it isn't. If you ask "how do you build a UI for Gnome / KDE / Android?" then the answers are pretty clear.

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#273
post #66
post #63

Earlier quoted context omitted.

Your post is touching on a key question: why write a Windows-specific app? I'm a developer who has built and published several apps. I want the biggest possible audience for those apps. Why would I limit those apps to Windows? (Or even to any single platform/OS?) Web apps work everywhere. The web has grown increasingly powerful and capable. Why would I invest in a technology that can only run on a single OS? Doesn't…

I used to get hung up on this native vs web thing. But when it comes down to it, it's just one renderer or another unless you're actually drawing the controls yourself pixel by pixel. The sticking point is following the system style / theme. But all the popular desktop OSs seem to have deviated on this so much themselves I'm not sure how important this is.

The inconvenient truth here is also that following the system theme is an anti-feature for most apps. On the desktop, you want your app window to be recognizable at a glance, meaning the primary color should be the brand color, etc.

I currently have open Chrome, Spotify, Discord, Aseprite, and Zed. All of them look completely different, and that's actively helpful for me, the user.

It's nice to follow the system's light/dark setting, and obviously the behavior of basic UI controls should be unsurprising, but beyond that there's no point in "consistency".

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#274

> WPF was good As someone who saw what impact WPF had on average users running average hardware in the late 2000s to early 2010s, I disagree. In 2011, my brother was in seminary, using an average Windows Vista-era laptop that he had been given in 2008. When he was home for Christmas in 2011, we were talking about his laptop, and he told me that the Logos Bible software ran sluggishly on that laptop. He said something…

"WPF had made a bet on then-advanced graphics hardware for reasonable performance, and that was bad for these users. "

OTOH WPF is today surprisingly strong GUI platform if you just want to get your Windows GUI out there.

It runs really nicely even on low end hardware. All the nice styling and blending techniques now _just work_ even on the most cheap low end laptop.

The fact it's over decade old means all the LLM:s actually know really well how to use it.

So you can just guide your LLM to follow Microsoft best practices on logic development and styling and "just add this button here, this button here, add this styling here" etc.

It's the least annoying GUI development experience I've ever had (as a dev, non-designer).

Of course not portable out of the box (avalonia is then the ticket there).

If you want 3D, you can just plug in OpenTK with OpenGL 3.3. Decades old _but good enough for almost everything_ if you are not writing a high perf game.

Really, WPF plus OpenTK is a really robust and non-surprising development platform that runs from old laptops (eg. T14 Gen 2 per my testing) onwards.

I've been doing a sideproject using WPF and OpenTK - .net works really great - here is a sample video of the whole stack (from adashape.com)

https://youtu.be/FM_iuB3-0aA?si=j7kS68ZVenmPwvAO&t=34

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#275

This barely mentions Windows Forms, which is the cleanest and fastest way to code Windows GUI apps. A few years ago, I wanted to prototype something quick and I wrote it in Windows Forms over C# (all code, no visual editor).

I went from win32/C++ to Windows Forms and I got a huge increase in productivity and quality.

It wasn’t all roses though, the high dpi support was atrocious.

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#276
post #257

When a platform can’t answer “how should I build a UI?” in under ten seconds, it has failed its developers. Full stop. That's fine, except no platform answers this. Obviously Linux doesn't, but the Mac doesn't either. Apple of course has it's recommendation, but most developers do not take Apple's recommended path because of course, it's Apple-only, most developers make cross-platform apps these days. Even if Microso…

I think the mac mostly does this. Developers not caring about the answer is a different thing.

But I gather from your comment that you don't actually care to ask that question, since you have a different need, and already have a solution which works for you. Which I guess is fine if you're happy with the compromise.

But this is about people who actually still care to have "native" applications.

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#277
What I find must puzzling is that everyone seems to just be violating basic rules that had been in place for ages.

Things like:

- If you can't respond to a UI event wait until you can

- Menus should be tree structures

- Pressing alt should underline the hotkeys you need to access anything clickable

As well as just basic responsiveness or predictability. A 2000 era windows application may not have been pretty, and may well have several different styles all imitated from office, but at least I knew what everything did and when it was slow at least it did what I expected.

This meant I could start the computer, log in, potentially start and use several applications and only then turn on the screen. Nowadays that has no chance of working because even to log in I need to press enter or click some button (which one depends on how I logged in previously, maybe) before I can even start typing and doing so eats a random amount of keystrokes while the damn log in screen loads to do its one damn job.

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#278
post #88

Earlier quoted context omitted.

It's very amusing to see Sinofsky of all people all but dumping on .NET and (still?!) not understanding why developers so proactively jumped ship from Win32 & MFC hell to WinForms. Or why the HTML/JS app model in Win8 never really took off. I was in DevDiv during his great WinRT push and the overall feeling I remember was that the guys in Windows had zero clue as to what the devs actually wanted, but were hell bent o…

How is he dunking on .net? I think one of his main points is server .net was (and is) great. But the UI part of it was cloudy. I see it as complimentary to the post not contradicting it.

The UI part is exactly what I meant. WinForms was a godsend for professional developers making line-of-business apps, because previously if you used first-party dev tooling, you either had to deal with the considerable limitations of Visual Basic, or you had to deal with MFC that was low-level enough that all the things that were tedious about Win32 remained tedious. In comparison, Borland had Delphi, and there was a good reason why it was so popular back in 90s and early 00s, and why Microsoft ultimately acqui-hired its main designer specifically to work on .NET (and it very much shows in the design of both C#, which owes as much to Component Pascal as to Java, and of WinForms, which is so similar to VCL).

With WinForms, we actually got something that was convenient without shackling you. And the whole cross-language story was great, too, especially around .NET 2.0 - with C++/CLI you could very easily wrap any random native code C or C++ library for consumption from .NET, with end-to-end integration in the build system, IDE etc.

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#279

The deeper problem is that Microsoft keeps trying to solve GUI consistency at the framework layer instead of the design system layer. WinForms, WPF, UWP, WinUI -- each one a new framework, each one eventually abandoned. Apple solved this by treating the design system as the product and letting the framework be invisible. Microsoft has it backwards every time.

> The deeper problem is that Microsoft keeps trying to solve GUI consistency at the framework layer I really don't think that's the fundamental issue. TFA points out, and I agree, that the fundamental issue is political: competing teams across different divisions coming up with different solutions to solve the same problem that are then all released and pushed in a confusing mishmash of messages. I haven't written a…

Honestly, things like Electron are quite literally the problem!

All of people’s modern desktop woes begin and end at the browser. Here’s why: the late 2010’s push into the cloud made JavaScript all-the-rage. A language the creator made in pretty much a weekend coding session.

There naturally is major business incentives powering this. SaaS made things MUCH easier for delivering software.

Fast forward 15 years and MSFT is full in on TypeScript. It’s a disease that starts with MsOffice and percolates to the whole OS (same as what’s happening in copilot).

.Net is actually elegant in many ways. You have PowerShell, VB .Net, C#, F# etc. languages of many paradigms all targeting the same bytecode (and supported by the OS).

And this is being replace by a fun little JavaScript thingy.

Re: Microsoft hasn't had a coherent GUI strategy since Petzold

#280
post #239
post #88

Earlier quoted context omitted.

It's very amusing to see Sinofsky of all people all but dumping on .NET and (still?!) not understanding why developers so proactively jumped ship from Win32 & MFC hell to WinForms. Or why the HTML/JS app model in Win8 never really took off. I was in DevDiv during his great WinRT push and the overall feeling I remember was that the guys in Windows had zero clue as to what the devs actually wanted, but were hell bent o…

> making the main menu bar ALL UPPER CASE I remember that. Especially silly. > Windows RT (not to be confused with WinRT, because Microsoft product naming!) The gold standard will always be "Xbox one series X", designed to be confused with Xbox one series S. Windows RT had one other anti-consumer and anti-developer feature: it was locked down like a Chromebook, so you could only use Store apps on it.

> Windows RT had one other anti-consumer and anti-developer feature: it was locked down like a Chromebook, so you could only use Store apps on it.

That was at least in part due to the aforementioned obsession with iPad and generally mobile. One thing that Sinofsky is not wrong about in his post is that the classic Win32 app model is not conductive to good battery life - there's very little there to properly handle things like automatic background suspension or low-power push notifications. WinRT was designed with that in mind, but that would make no difference if the apps would just ignore it, hence the heavy-handed push for WinRT apps only (AFAIR it wasn't restricted to Store, although you had to jump through some "developer mode" hoops to deploy apps directly).

Post reply on HN