3 ms·
I was super impressed by Windows' efforts on the backwards compatibility part, in particular with all the legendary articles on them testing specific apps and l
by makeitdouble 4y ago
I was super impressed by Windows' efforts on the backwards compatibility part, in particular with all the legendary articles on them testing specific apps and leaving alternate modes reproducing the bugs so the apps can continue working.
And then I opened again a windows laptop...and the words than came to mind were "missing the forest for the trees".
Like, I feel that Microsoft really cares a lot about each and every tree, and went above and beyond to make the most trees happy and cut down as few trees as they could at every iteration. And we lauded then for that, cheering at every tree that could stay alive.
Except now the forest is really badly planned, it grew and expanded a lot but without enough prunning really, each user has to carve a path with a chainsaw to get anywhere livable, we regularly fall into forgotten valleys with runes to unlock lost technology.
I won't argue it needs to be a walled garden breaking new at every release, but there must be a better middle-ground for all of this.
- revelio 4y agoThe basic problem is that they didn't provide a proper evolution for Win32. So yes, Win32 apps still "work" if you can tolerate tiny, non scaled 1995 era UI. If you want a modern looking UI that properly scales then they said rewrite it all in WPF. And then WinUI. And then JS/HTML. And then WinUI2. And then WinUI3. At no point was there a smooth upgrade path. It's hard, really hard, so I don't really blame them for failing. But, Apple mostly managed it. AppKit/UIKit is pretty much a direct path from NeXTStep in the 1980s. 30+ years of evolution, without breaking the whole API until SwiftUI came along. Pretty impressive. Apple should get more credit for that.
- makeitdouble 4y agoYes. To note, Apple still had its arm wrestling moments, famously with Microsoft and Adobe, where Apple wanted the apps devs to move on and got a resounding "nope" in return. That resulted in the Carbon API for instance lingering on for a while, but they could still manage a transition and deprecate it. Just thinking about the two processor architecture transitions and the whole OS7 -> OSX switch, they really have an expertise no other company seems to even get close to. Offering emulation where compatibility is broken definitely helps.
- ptx 4y agoThe current upgrade path from Win32 is Win32, I think. Microsoft now present it alongside WPF, WinForms and UWP as an option for developing new apps in the "get started" guide [1]. They have also added (or restored?) lots of useful documentation [2] on Win32, including how to handle UI scaling [3]. [1] https://learn.microsoft.com/en-us/windows/apps/get-started/#other-app-types https://learn.microsoft.com/en-us/windows/apps/get-started/#... [2] https://learn.microsoft.com/en-us/windows/win32/ https://learn.microsoft.com/en-us/windows/win32/ [3] https://learn.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows https://learn.microsoft.com/en-us/windows/win32/hidpi/high-d...
- revelio 4y agoThe third link says: "if you're creating a new Windows app from scratch, it is highly recommended that you create a Universal Windows Platform (UWP) application. UWP applications automatically—and dynamically—scale for each display that they're running on." but no fault on you for being confused, Microsoft announces changes in strategy so fast they can't update their docs to keep up, so their once great MSDN has become a rats nest of contradictory advice and recommendations. At any rate if you've tried to do Win32 hidpi you will know that it hardly works and this represents defeat by Microsoft. For example hidpi is only even attempted for windows created from dialog resources, but most aren't, so if you run any classical win32 apps they still have tiny 16x16 icons everywhere, tiny fonts, basically unusable on modern screens. Apple went through this pain with the original Retina transition where icons were blurry on old apps for a while, but they updated all their own apps and brought the ecosystem with them on that journey. Microsoft never did. And it's all like that. Win32 has barely evolved for decades. There are occasional new magic flags and an ever-greater pile of hacks, but there's been no serious attempt to keep it competitive. The assumption was that everyone would migrate to .NET and WinForms but that didn't happen for various reasons. By then, Win32 - never a particularly well designed or well loved API even inside MS - was so aged that they felt it'd be easier to start over from scratch. And once that Rubicon was crossed, they did it again and again.
- int_19h 4y agoApple managed it by using hacks such as forced integer upscaling. It works reasonably well for them because they mostly control the hardware. Windows needs to be able to deal with scaling factors like say 150% to accommodate all that it runs on, which is quite a bit harder.
- revelio 4y agoYup. And yet, they managed it.