News for hackers. Stuff that matters.
Re:Windows 11: a survey of text boxes by drcongo on Friday September 03, 2021 @09:08AM (#28403656)
As someone who hasn't had to use Windows since XP, is anyone able to explain the technicals of how this even happens? I mean, at a complete OS layman's level, one would assume that someone somewhere comes up with the design for how a text input should look across the OS, someone else probably writes the UI code for that, someone else maybe writes the plumbing for it, then _everyone_ uses it whenever they need a text input. What is it about Windows that means this is impossible? Their UIs are like the jumble sale aisle down the middle of Lidl.
Re:Windows 11: a survey of text boxes by sjmulder on Friday September 03, 2021 @09:13AM (#28403722)
I think the core problem is that they all use different toolkits. The design teams come up with these great widget designs and then they all have to be implemented on a per-toolkit or even per-app basis.

Just looking at Explorer:

- The window itself is a regular Win32 window

- It hosts a WinUI island or such for the top toolbar

- The navigation bar is a ReBar with all custom Win32 widgets

- The content view is a DirectUI widget

You'd think that if they'd standardise on a single toolkit (like macOS with Cocoa) they'd be able to get better results with much less work. Perhaps this is an organisational issue?

Re:Windows 11: a survey of text boxes by oblio on Friday September 03, 2021 @09:46AM (#28404164)
MacOS breaks compatibility regularly.

If Windows would change the Win32/Winforms spacing and such I wouldn't want to be the developer that gets to keep all the pieces broken off.

Read some Windows Terminal blog entries, they're very enlightening. They're basically working around a huge minefield of compatibility and trying to get things moving again. It's quite a feat of real software engineering, what they're doing over there.

Re:Windows 11: a survey of text boxes by whywhywhywhy on Friday September 03, 2021 @09:57AM (#28404298)
Really wish they'd just completely rewrite Explorer from the ground up.

It's woefully antiquated feeling next to Finder. Seeing it struggle to scroll folders with 10,000+ items it can't even load them all in at once you have to scroll bit by bit, seeing it choke reading MP3 file folders because it's trying to do some dumb WinXP era metadata reading on an ancient code path. Seeing it unable to search for files on a sensible timescale or even accurately.

It's infuriating.

Re:Windows 11: a survey of text boxes by ComputerGuru on Friday September 03, 2021 @06:12PM (#28410005)
> Really wish they'd just completely rewrite Explorer from the ground up.

Oh god no. They’d nuke all the keyboard shortcuts, make everything take 20x more space, remove any advanced features such as keying by non-primary column, sorting by weird file-specific metadata, etc, add loading screens everywhere, make even the most basic operations require an async dispatch to a runtime host, break credentials authentication with the OS keystore, remove IME and input accelerators, nuke integrations with 3rd party apps for menus, overlays, and previews, hide file extensions, run always in fullscreen, break ClearType text rendering, block access to any system files, break the elevated operations workflow, remove access to non-local files, use 20x as much memory, crash at startup, break when an update ships out-of-band on an older patch release, and then be rewritten in four years.

Re:Windows 11: a survey of text boxes by philistine on Friday September 03, 2021 @11:08PM (#28411760)
If the company making the one true OS for everyone (except those Mac weirdos and the Linux perverts) cannot be trusted with making a modern file explorer, then they're not improving an ecosystem, they're just shovelling coal into the furnace of an heritage building. They're in maintenance mode.
Re:Windows 11: a survey of text boxes by jcelerier on Friday September 03, 2021 @02:27PM (#28407631)
at some point you could use KDE's Dolphin on windows, that was awesome
Re:Windows 11: a survey of text boxes by pjmlp on Saturday September 04, 2021 @03:56AM (#28413067)
macOS now has 4 toolkits to choose from.
Re:Windows 11: a survey of text boxes by pseudalopex on Saturday September 04, 2021 @11:17AM (#28415854)
Re:Windows 11: a survey of text boxes by pjmlp on Saturday September 04, 2021 @05:38PM (#28419511)
Yes really, nothing forbids random developer Joe not to follow your point of view.
Re:Windows 11: a survey of text boxes by pseudalopex on Saturday September 04, 2021 @07:06PM (#28420192)
Carbon was 32 bit only. macOS is 64 bit only now. It isn't a point of view.
Re:Windows 11: a survey of text boxes by pjmlp on Sunday September 05, 2021 @04:14AM (#28422445)
Not everyone is running on the latest macOS version, and even so we are still down to 3 frameworks, yes it is a point of view.
Re:Windows 11: a survey of text boxes by pseudalopex on Sunday September 05, 2021 @07:09PM (#28428632)
Apple removed Carbon and made Catalyst generally available in the same version. So they weren't ever viable at the same time. And can you point to even 1 developer considering a brand new app that doesn't support the last 2 OS versions?

Why stop at Carbon if you count removed frameworks? They had Classic and X11 too! And HyperCard!

Catalyst is expressly for porting iPad apps. So it's just SwiftUI and Cocoa if you compare macOS to Windows.

Re:Windows 11: a survey of text boxes by AuthorizedCust on Friday September 03, 2021 @09:14AM (#28403730)
Many generations of code and UX standards, all still supported.

This just reveals Microsoft’s prioritization of UX consistency. Whatever the priority is, it’s not enough to overcome the perceived cost of creating consistency.

It also shows why Windows can be a strength: still runs almost everything anyone ever made for it.

Re:Windows 11: a survey of text boxes by ceronman on Friday September 03, 2021 @09:54AM (#28404268)
I understand that Microsoft cares a lot about backwards compatibility. I think this is great and they should keep doing it.

Now, I completely understand if some third-party program developed twenty years ago looks inconsistently. I even understand if some recent third party tool also looks inconsistently. But here we're talking about the software that is shipped with Windows and it's created by Microsoft directly. These are examples from Edge, Explorer, Settings, etc. This is more than having a low priority for consistency, this is Microsoft not even considering the possibility of consistency.

I have not tried Windows 11. But I'm baffled to find that in Windows 10, Microsoft still ships parts of its own UI that are not high-dpi ready. They seem to have zero problem showing dialogs with scaled pixelated text.

Re:Windows 11: a survey of text boxes by marcthe12 on Friday September 03, 2021 @11:50AM (#28405766)
Some of these stuff expose plugin apis or hooks which make this complicated. Control panel is a good example of this. The only alternative is to effective create a new and make that default unless configured otherwise.
Re:Windows 11: a survey of text boxes by spicybright on Friday September 03, 2021 @09:19AM (#28403798)
The fact I can open most exe files from 1993 today on my window 10 laptop and have it work nearly perfect is an incredible feat.

MacOS couldn't be more opposite in this regard. Linux I also dislike for this reason.

It's expect you compile your own programs, but more often than not it'll fail if the project is abandoned for 5 years (purely anecdotal).

Re:Windows 11: a survey of text boxes by datenarsch on Friday September 03, 2021 @09:32AM (#28403961)
While I agree this is great, it is not really related to and no excuse for the inconsistent mess that Windows' UI has been ever since the Windows 8 Metro disaster. Win32 UI (think Windows 2000) was perfectly line.
Re:Windows 11: a survey of text boxes by petepete on Friday September 03, 2021 @09:36AM (#28404023)
If I want to run an old program I'd rather do it in a VM and have a nice, lean, consistent, sensible OS.
Re:Windows 11: a survey of text boxes by oblio on Friday September 03, 2021 @09:44AM (#28404136)
You're a technical person. Grandpa would go: "VM? What's that???".
Re:Windows 11: a survey of text boxes by eyelidlessness on Friday September 03, 2021 @08:08PM (#28410847)
The answer to this is simpler than it seems: instead of dedicating your compatibility efforts toward a monolithic OS that runs everything, dedicate them toward make the VM/shim layer so transparent “Grandpa” doesn’t have to know it’s an implementation detail.

In contrast with the earlier comment about how poorly Apple fares on backcompat: they have twice (thrice, actually, counting 68k->PPC) successfully made breaking platform changes where old software kept working with no required intervention by users or even knowledge it was happening.

Not everyone has been happy with Apple’s deprecation strategy, but there’s no technical reason MS couldn’t use their subsystem prowess to gradually move old technologies out of the core OS into sandboxed environments.

The reason they don’t is partly cultural—the compatibility at all costs trope is real—but I think it’s mostly a combination of lack of motivation and a recognition that the ecosystem produces a lot of abandonware that would quickly show seams.

Re:Windows 11: a survey of text boxes by petepete on Saturday September 04, 2021 @02:45AM (#28412704)
This is what I had in mind. Something along the lines of VMware Unity.

Shipping an OS where some bits of UI date back to Windows 3.1 is never going to lead to a seamless experience.

Re:Windows 11: a survey of text boxes by theranger on Friday September 03, 2021 @09:57AM (#28404300)
Tell that to a bookeeper who runs aincent software the company has licensed decade ago or to the factory worker who must use a CAD software for a particular CNC machine to prepare the work files.
Re:Windows 11: a survey of text boxes by petepete on Friday September 03, 2021 @01:34PM (#28407059)
So yeah, legit but niche use case. Thankfully I don't need to worry about it so don't give it a second thought.
Re:Windows 11: a survey of text boxes by jcelerier on Friday September 03, 2021 @03:29PM (#28408337)
windows's long tail is niche use cases
Re:Windows 11: a survey of text boxes by hulitu on Sunday September 05, 2021 @08:02AM (#28423662)
A lot of old windows games do not run anymore on win 7 let alone 10.
Re:Windows 11: a survey of text boxes by pjmlp on Friday September 03, 2021 @09:13AM (#28403715)
Easy, they need to make sure Win32, MFC, Windows Forms, WPF, UWP and WinUI (basically UWP on Win32 without going into details) underlying rendering infrastructure gets aligned with the OS design language.

Guess what, I am 100% sure they do the basic for Win32, make some efforts for WinUI 2.0 (UWP) and WinUI 3.0 (the Win32 one) and that's it.

Re:Windows 11: a survey of text boxes by sjmulder on Friday September 03, 2021 @09:16AM (#28403761)
> Guess what, I am 100% sure they do the basic for Win32

The Win32 widgets have been updated but apparently they don't want to mess with the metrics, hence those controls are much more compact, don't use rounded corners, etc.

Is there any public UI toolkit in Windows now that offers the canonical widgets?

Re:Windows 11: a survey of text boxes by pjmlp on Friday September 03, 2021 @09:23AM (#28403863)
Kind of, only for WinUI 2.6, the UWP version.

The WinUI 3.0 (which is UWP decoupled from OS + UI) is still catching up.

https://docs.microsoft.com/en-us/windows/apps/winui/winui2/r...

Thing is, for Win32 anyone using bare bones Win32 has to do the work themselves for anything that ins't on the OS anyway.

So MFC and Forms get a partiall update via those Win32 changes, while WPF gets nothing due to its own DX rendering stack.

https://docs.microsoft.com/en-us/windows/apps/get-started/ma...

Re:Windows 11: a survey of text boxes by sjmulder on Friday September 03, 2021 @09:34AM (#28403995)
Looks like WinUI 2.6 is the way to go then. But I'm surprised that there doesn't appear to be any sort of official built in canonical thing with standard widgets (like what Win32 used to be). All these separate frameworks are implementing everything for themselves.
Re:Windows 11: a survey of text boxes by ectopod on Friday September 03, 2021 @11:50AM (#28405761)
WPF is nuts. It appeared to have native controls but in reality they reimplemented everything, with a unique style definition for every control on every supported version of Windows. It would have been a huge amount of work. It seems like they haven't bothered to keep up with it as control styles have evolved though.
Re:Windows 11: a survey of text boxes by pjmlp on Friday September 03, 2021 @01:28PM (#28406978)
If you check the github issues and community talks on YouTube, it is quite clear that when Microsoft went full steam with WinRT, most likely the remaining UI teams got ramped down.

As they pivoted back into Reunion and merging Win32 and UWP worlds, new teams were created, so....

Re:Windows 11: a survey of text boxes by pjmlp on Friday September 03, 2021 @10:30AM (#28404675)
That train departed long ago.

In fact already during the Win16 days, many of us were already jumping into C++, Delphi and VB frameworks, instead of suffering through plain C programming.

Borland common controls used to be quite easy to spot with their green check mark.

Win32 has very few built-in controls, and Windows always enjoyed a good ecosystem from commercial vendors selling custom controls, like Telerik and ComponentOne to refer to two well known ones.

As historical info, modern COM traces back to Visual Basic VBX components.

https://en.wikipedia.org/wiki/Visual_Basic_Extension

Re:Windows 11: a survey of text boxes by ktpsns on Friday September 03, 2021 @09:20AM (#28403806)
Probably third party toolkits such as wxwidgets or Java AWT (the Swing predecessor)?
Re:Windows 11: a survey of text boxes by drcongo on Friday September 03, 2021 @12:09PM (#28406041)
I get why they'd need to support all that for 3rd party app backwards compatibility, but surely for their own OS they can just use the current toolkit for everything? They own it after all.
Re:Windows 11: a survey of text boxes by pjmlp on Friday September 03, 2021 @01:26PM (#28406952)
What is the current toolkit?

Win32 is quite basic in the set of controls available, almost everything in traditional Win32 applications is custom drawn, beyond what you also find the HTML forms as components.

Then there are all commercial components that are so common in Windows applications.

However if you will, the future is WinUI/UWP, and that is the only one getting full Mica support.

Re:Windows 11: a survey of text boxes by hughrr on Friday September 03, 2021 @09:13AM (#28403723)
Yeah that’s easy. Rather than fix the last thing it’s easier to write a new turd from the ground up with the promise that it’ll solve all the last problems.

Windows happens to have such legacy support and lack of product direction that’s it’s now layers and layers or turds.

Re:Windows 11: a survey of text boxes by corty on Friday September 03, 2021 @09:26AM (#28403889)
Windows UI has always been a shambles. Each version of Windows, Office and VisualSomething has at least one new toolkit. It might even look the same as the other ones that came before it, but internally is a different library with different incompatible APIs, bitmaps, workings, etc. Third-Party tools usually also provide their own toolkits that are sometimes made to look Windowsy, sometimes not.

In some cases, APIs wouldn't be too much of a hindrance, and one could replace one toolkit by a later version with updated designs. But the designs themselves also do have a lot of compatibility problems: It is uncommon in the Windows GUI world to use layout managers (similar to CSS flexboxes and the like) that automatically adapt to different window and UI element sizes. Instead, most widgets are positioned pixel-wise. That is also why most dialogs are non-resizeable and things break e.g. when translated strings have different lengths. So a new design which changes sizes breaks all the pixelwise layouts everywhere.

tl;dr: Windows GUIs and toolkits are usually not designed with compatibility and resizeability in mind and break if you change the looks of anything (beyond just changing colors).

Re:Windows 11: a survey of text boxes by fenesiistvan on Friday September 03, 2021 @12:04PM (#28405980)
They could add an opt-in flag for this per process. So developers could just turn on some "moderngui" flag in their win32 apps and with some little adjustements most of the apps could be modernized.
Re:Windows 11: a survey of text boxes by WorldMaker on Friday September 03, 2021 @02:09PM (#28407411)
Those exist. The Win32 Common Controls libraries are versioned and applications can opt in to them with rebuilds. There are also "application manifests" where in some cases an EXE can claim that "I know I was built with an earlier version of Common Controls, but I do the right things with them and was built with forward compatibility in mind so please display them the newer way".

The problem with opt-in flags is that it still requires active application developer work (keeping up to date on dependencies; sometimes worse, keeping up to date on future dependencies and learning their restrictions needs) and still can't solve the inconsistency issues from applications developed by people that don't exist anymore or don't have a maintenance budget or the source code was lost or…

Re:Windows 11: a survey of text boxes by pjmlp on Saturday September 04, 2021 @03:59AM (#28413079)
Including Microsoft own teams.

Manifests are a thing since Windows 2000, as they were also introduced to sort out registry issues, and go back into xcopy deployments.

Yet even Microsoft's own teams keep putting into the registry what should be in manifest files.

Re:Windows 11: a survey of text boxes by solarkraft on Friday September 03, 2021 @09:34AM (#28403993)
> Windows GUIs and toolkits are usually not designed with compatibility and resizeability in mind and break if you change the looks of anything

More often than not they don’t even look designed.

Re:Windows 11: a survey of text boxes by alkonaut on Friday September 03, 2021 @09:59AM (#28404329)
Initially, that was more or less how it worked. The older and closer to Win32 you are, the less customisable the look is.

But more modern toolkits like WPF are much closer to html in their function. A text box is a white rectangle with a cursor. If you want to add autocomplete, placeholders, a magnifying glass icon in the edge - you put it there yourself.

So basically, making a text search field in Windows now is the same as making it for a webpage. The toolkit doesn't have options for adding autocomplete, placeholder text or icons. I think this is the correct API design, because controls that could do everything would be very difficult to work with.

That said, there should have been some utility or standard library to make it easier to be consistent, such as creating a "system-standard search box" which would then simply do all the gluing that is required for adding the necessary bells and whistles.

I'm sure there is both documentation and utilitiies for doing exactly this - but the problem is that it's so hard to find because everything keeps moving. Ironically I think internal ms devs feel the same way.

Re:Windows 11: a survey of text boxes by C19is20 on Friday September 03, 2021 @09:55AM (#28404276)
...at least you know where to find the jumble in lidl. And, despite being occasinaly messy, they're often preferabke to shop than to work out wtf is going on in UI land.