9 ms·
> HDR, fluid animations, monstrous resolutions That's the job of the GPU driver, mostly. > 3D everything That's the desktop compositor. Windows 7 already had
by grishka 4y ago
> HDR, fluid animations, monstrous resolutions
That's the job of the GPU driver, mostly.
> 3D everything
That's the desktop compositor. Windows 7 already had one and ran on 1 GB of RAM.
> accessibility
Not everyone needs it, so it should be an optional installable component for those who do.
> fancy APIs for easier development allowing for more features
That still use win32 under the hood. Again, .net has existed for a very long time. MFC has existed for an even longer time.
> support for large amounts of devices
No one asked for Windows on touchscreen anything. Microsoft decided that themselves and ruined the UX for the remaining 99% of the users that still use a mouse and a keyboard.
> backwards compatibility
That's what Microsoft does historically, nothing new here.
> browsers are almost unrecognizable in featureset to the point they resemble an OS unto themselves
No one asked for this. My personal opinion is that everything app-like about browsers needs to be undone, yesterday, and they should again become the hypertext document viewers they were meant to be. Even JS is too much, but I guess it does have to stay.
- djur 4y ago> Not everyone needs [accessibility], so it should be an additional installable component for those who do. The UI has to be designed from the ground up to support accessibility.
- grishka 4y ago[flagged]
- dagmx 4y agoAccessibility is much more than just labels for a screen reader. Please stop trivializing anything that you don’t use directly, it’s a common thread between all your comments, and it’s a disservice to both the points you’re trying to make and the people who actually use those things . Accessibility includes interaction design, zoom ability, audio commands, action link ups, alternate rendering modes, alternate motion modes, hooks for assistive devices to interact with the system. It goes far deeper into the system than just labels for a screen reader. If you stopped to just think about the vast number of disabilities out there, you’d realize how untrue your statement is.
- grishka 4y agoMy point is that accessibility being a thing shouldn't ruin the UI for the people who don't need it. There's no need to visually redesign anything to introduce accessibility. Apps don't need to be made aware whether some control has focus because the user has pressed the tab key, or because it's being focused by a screen reader, or because of some other assistive technology. Colors and font sizes can also be configured and they've been configurable since at least Windows 3.1 — and that is exposed to apps. Again, I don't see how the things you specified can't be built into existing win32 APIs and why anything needs to be designed from the ground up to support them.
- dagmx 4y agoYour point about “apps don’t need to be made aware” is precisely the reason accessibility is part of the system UI framework. Accessibility is also not something that is just a binary. You may be slightly short sighted and need larger text, you might need an OS specified colour palette that overrides the apps rendering. There’s just so many levels of nuance here. It’s not just “apps can configure a palette”, it’s that they need to work across the system If you have the time, I really suggest watching the Apple developer videos on accessibility to see why it’s not just as simple as you put it. Microsoft do a lot of great work for accessibility too , they just don’t have much content up to delve into it. As to why it has to be developed from the ground up, it doesn’t, but it needs to be at the foundation regardless. Apple for example didn’t redo their UI for accessibility, however Microsoft take a more “we won’t touch existing stuff in case we break it” approach to their core libs. Also , again, I’d point out that you’re purposefully trying to trivialize something you don’t use.
- grishka 4y ago> It’s not just “apps can configure a palette”, it’s that they need to work across the system There is a system-provided color palette. I don't know where this UI is in modern Windows, but in versions where you could enable the "classic" theme, you could still configure these colors. They are, of course, exposed to apps, and apps are expected to use them to draw their controls. That, as well as theme elements since XP. > Microsoft take a more “we won’t touch existing stuff in case we break it” approach to their core libs. Making sure you don't break existing functionality is called regression testing. I'm sure Microsoft already does a lot of it for each release. And actually it's not quite that. The transition from 9x to NT involved swapping an entire kernel from underneath apps. Most apps didn't notice it. In fact, the backwards compatibility is maintained so well that I can run apps from the 90s — built for, and only tested on, the old DOS-based Windows versions — on my modern ARM Mac, in a VM, through an x86 -> ARM translation layer.
- rhdunn 4y agoKeyboard shortcuts and navigation are accessibility. Dark/light mode is accessibility. Reduced animations/not animating tiles, etc. is accessibility. Being able to scale/zoom in on fonts and images is accessibility. Ensuring your automated GUI tests can interrogate the application/page's structure and state is accessibility. Not reloading the entire page to render search results that would lose searh filter selection and/or current keyboard focus is accessibility. etc.
- cratermoon 4y agoI'd also like to add that accessibility is not a binary that's either on or off. Parent comment might be thinking of features for people with high disability ratings, but eventually everyone has some level of disability. Some even start of life with one: color blindness, vision impairment. Most people have progressive near vision loss (presbyopia) as they age. Also, disability may not be permanent. I recently underwent major surgery and for at least a few days afterwards using my cell phone was nearly impossible. I resorted voice control a few times because I did not have the coordination or cognitive function to type. (Aside: cell phones in general are accessibility dumpster fires, but it took a major life event to demonstrate to me how bad it really is.) So no, accessibility is not just a toggle switch or installable library. In fact, I hope future UI design incorporates some kind of non-intrusive learning and adaptability, such that when the system detects the user continually making certain kinds of errors, the UI will adapt to help.
- prmoustache 4y agoAnd I'll had you want it available on the installer already. Having said that you canct explain all that bloat with accessibility.
- cratermoon 4y ago> you want it available on the installer already Of course. Navigating around the install process without accessibility already enabled is going to be a non-starter for many. As for why all the bloat? I speculate it's because accessibility features are a second-class citizen at best, and when it comes to optimizing and streamlining, all the effort in development goes into the most-used features, whether or not they are the most essential.
- abraxas 4y agoAccessibility support was in Windows 95 as far as I remember.
- Ar-Curunir 4y agoAre you seriously suggesting that accessibility support in modern OSes is less complex than in Windows 95?
- Dylan16807 4y agoI'm suggesting the modern accessibility support doesn't need more memory than the entirety of windows 95. So 4MB extra, or let's say 10x that to be generous.
- hulitu 4y agoYes. At least in Windows 10 is a disaster. Without high contrast, which looks terrible, it draws gray colors on light background making it difficult to read.
- anthk 4y agoMicrosoft should copy the Zukitre theme from GTK2/3 as the inspiration. It's flat yet it has some contrast.
- KyeRussell 4y ago“Accessibility support” is not a thing.
- dagmx 4y ago> That's the job of the GPU driver, mostly. I think you have to reason this one out. Your statement, to me, doesn’t hold water. Let’s start with HDR. That requires the content that’s being rendered to have higher bit depth. Not all of this is stored in GPU memory at once, a lot is stored in system RAM and shuffled in and out. Now take fluid animations. The interpolation of positions isn’t done solely on the GPU. It’s coordinated by the CPU. I don’t think this one necessarily adds ram usage but I think your comment is incorrect. And lastly with resolutions, the GPU is only responsible for the processing and output. You still need high resolution data going in. This is easily observed by viewing any low resolution image. It will be heavily blurred or pixelated on a high resolution screen. That stands to reason that the OS needs to have high enough resolution assets to accommodate high resolution screens. Now these aren’t all stored on disc necessarily as high resolution graphics but they have to be stored in memory as such. —— As to the rest of your points, they basically boil down to: I don’t want it so I don’t see why a default install should have it. Other people do want a highly feature full browser that can keep up with the modern web. And given that webviews are a huge part of application rendering today, the browser actively contributes to memory usage.
- doubled112 4y agoI've got 8GB of RAM on my GPU. Could we stop shuffling it out? Do more of the work there, directly?
- dagmx 4y agoUnintuitively, your two questions are somewhat at odds with each other. The more work you do on the GPU, the more you need to shuffle because the more GPU memory you’d use AND the more state you’d need to check back on the CPU side, causing sync stalls. It’s not insurmountable, and macOS puts a lot more of its work on the GPU for example. Windows is a little more conservative in that regard. Here are some more confounding factors: - Every app needs one or more buffers to draw into. Especially with hidpi screens this can eat up memory quick. The compositor can juggle these to try and get some efficiency, but it can’t move all the state to the GPU due to latency. - you also need to deal with swap memory. You’d ultimately need to shuffle date back to the system ram and then to disk and back which is fairly slow. It’s much better theoretically on APUs though. Theoretically, APUs stand to solve a lot of these issues because they blur the lines of GPU and CPU memory.
- inglor_cz 4y ago"No one asked for this. My personal opinion" You didn't ask. It is, as you say, your personal opinion. From my POV, current Web is fine and the fact that browsers are powerful liberated us from writing specialized desktop apps for various OSes. I am much happier writing a Web UI than hacking together Win32 or Qt-based apps. Or, God forbid, AVKON Symbian OS UI. That was its own circle of hell.
- grishka 4y ago> liberated us from writing specialized desktop apps for various OSes I use macOS and I very much dislike anything built with cross-platform GUI toolkits, and especially the web stack. And it's always painfully obvious when something is not native. It doesn't behave like the rest of the system. It's not mac-like. It draws its own buttons from scratch and does its own event handling on them instead of using NSButton. I don't want that kind of "liberation". I want proper, native, consistent apps. Most other people probably do too, they just don't realize that or can't put it into words. The only counter-example out there known to me is IntelliJ-based IDEs. They're built with Swing, but they do somehow feel native enough. Also, developer experience is not a something users care about. And I'm saying that as a developer myself. Do use fancy tools to make your job easier, sure, but avoid those of them that stay inside your product when you ship it.
- matthew-wegner 4y agoHold up. It's been ~14 years since Apple shipped machines with 2GB of memory as base their base model. macOS (and iOS) have incredibly good screen reader support, as well as all of the things you're complaining about in your original comment at the top of this thread. Clearly those things are absolutely gobbling memory, and yet you don't seem to connect the dots that they're directly contributing to high memory requirements of macOS? I mean, 8GB on stock machines today is barely manageable. You can't buy a Mac with less than 8GB today; you can't even buy a phone with 2GB or less. I'm not sure you're in an position to rail against high-memory bloat in computing today. p.s. I say this as someone who uses macOS as their daily driver and has for a very long time
- jeroenhd 4y agoI want touchscreen support on Windows. But guess what? Multitouch worked in Windows 7. If Windows still supported theming basic controls then Microsoft could enable touch screen support in most applications by setting a theme, similar to how they enhance contrast if you enable that feature. I understand that bigger stuff and better graphics involve more RAM and the switch to 64 bit doubled the pointer sizes (which is why you can't meaningfully run Windows 7 x64 on 1GB of RAM like you can the 32 bit version) but with 4GB of system RAM you should be able to fit everything in and then some. You actually can, as various Linux distributions demonstrate. The algorithms and APIs aren't as well developed, but better window control/accessibility APIs don't take up more than a megabyte of RAM. People do ask for many Microsoft features, such as the appification of the interface and the Microsoft store. Just because you didn't ask for it, doesn't mean it's not necessary. However, Microsoft has known for years how to build and implement those requests in a much more compact environment. My take is still the same old cynical one: as resources become cheaper, developers become lazier. I don't want to go back to the days of racing the beam with carefully planned instructions but the moment Electron gained any popularity the ecosystem went too far. "Yes but our customers want features more than a small footprint" is the common excuses I hear, but that's ignoring all the people calling various support channels or just being miserable with their terribly slow machine.
- Jochim 4y ago> as resources become cheaper, developers become lazier. At most places I've worked it's a struggle to get time allocated towards necessary refactoring that'll ensure new features can be delivered in a timely fashion. I'd love to spend time making the product more efficient but unless I can demonstrate immediate and tangible business value in doing so, it's never going to be approved over working on new features.
- intelVISA 4y agoFew companies want to pay the exuberant costs for (good) native development given the ratio of devs working at the Js level vs. below.
- anthk 4y ago>That's the desktop compositor. Windows 7 already had one and ran on 1 GB of RAM. Compiz ran fine with a 128MB GPU and 512MB of RAM.
- grishka 4y agoActually, IIRC the only requirement for DWM to work was a GPU that supports shaders, because that's what makes the window border translucency/blur effect possible.
- justsomehnguy 4y agoCompatible driver, actually. There were at least DWM 1.0 (Vista) and DWM 1.2 (Win7), but Intel never provided a compatible driver for... 915? Series, so you could't enable composition on them, despite hardware were capable enough.
- NovaPenguin 4y agoI think I first saw it running on a Geforce with 64MB of RAM. Even then it was smooth as butter. Now that I think about it, Mac OSX was doing GPU compositing back in 2000/2001 and those machine usually only had about 16MB of VRAM. I remember it running fairly well on a 2005 MacMini G4 with 32MB of VRAM.
- duskwuff 4y agoThe first versions of Mac OS X only supported software rendering. GPU compositing didn't show up until 2003, in Mac OS X 10.2. It was branded as "Quartz Extreme".
- NovaPenguin 4y agoI did not know that! There was about a 6-7 year gap between 1997-2004 where I didn't really do much with Mac's. But your timeline seems spot on, it was 10.3 when they introduced Expose into the system. A great demonstration of the GPU functionality in action.
- hedora 4y agoProdigy had vector based graphics in a terminal back in the 1980’s. Granted, that targeted EGA and 2400 baud modems, but I wonder how well it would work on modern hardware if you just gave it a 4k, 24bit frame buffer, and fixed up the inevitable integer overflows.
- whartung 4y agoActually, I've run Citrix (ancestor of Remote Desktop) on a 14.4k modem. Once all the bitmaps are downloaded and cached (those app launch 1/2 screen splash pages were murder), it ran pretty well. The meta graphic operations (lines, circles, fills, etc.), fonts, etc. worked fine. Any large pixmap operations were crushing, but most productivity apps didn't use those as much as you'd think.
- nateb2022 4y ago>No one asked for Windows on touchscreen anything. Microsoft decided that themselves and ruined the UX for the remaining 99% of the users that still use a mouse and a keyboard. I have several devices, including a couple Linux PC's, an M1 macbook air, and a Microsoft Surface Go. If Windows 11 didn't support touchscreens, I would have gone with an iPad. However, Windows 11 is the _best_ touchscreen OS to-date. Unlike iOS or iPadOS, Windows 11 runs desktop apps and combines the convenience of touchscreen scrolling/interaction with the desktop experience. Windows 11 does this very, very well.
- Andrex 4y agoI'm curious if you've used Chrome OS recently, there's a lot of good work there too. Touch is there if you need it with the keyboard open, then goes into tablet mode if the laptop is convertible or detachable. The touch/tablet UI has lost many rough edges in the last 2-3 years, and it hasn't affected the mouse/keyboard mode most people use Chromebooks for. I don't use Windows anymore but I remember thinking "this is exactly what I've always wanted from a convertible/touch-support-in-desktop OS"...
- worewood 4y agoI wish I could upvote you a thousand times. This this and this a 100%. It's sad today's "developers" will look at this and just say "ok, boomer"...
- pixl97 4y agoBeing someone from back in those days they'll tell you to load up that software that fits in some small amount of memory. You'll find most of it is crash filled hot garbage missing the features you need. And the moment you wanted to add new features you'd start importing libraries bloating the size of the application.
- sicp-enjoyer 4y agoSo you would say programs today are equally efficient and more stable, just have more features?
- pixl97 4y agoIn generally I would say far more stable and far more features. But this of course is in the metrics of how you measure. Windows 3.1 for example was a huge crashing piece of crap that was locking up all the damned time. MacOS at the time wasn't that much better. Now I can leave windows up for a month at a time between security reboots. Specialized Windows and Linux machines in server environments on a reduced patching schedule will stay up far longer, but generally security updates are what limits the uptime. I remember running Windows applications and receiving buffer overflow errors back then. If you got a buffer overflow message today you'd think that either your hardware is going bad or someone wrote a terrible security flaw into your application. And back there were security flaws everywhere. 'Smashing the stack for fun and profit' wasn't wrote till '95, well after consumers had started getting on the internet in mass. And if you were using applications like Word or Excel you could expect to measure 'crashes' per week rather than the crashes per month, many of which are completely recoverable in applications like office.
- sicp-enjoyer 4y ago
- Andrex 4y ago> > browsers are almost unrecognizable in featureset to the point they resemble an OS unto themselves > No one asked for this. My personal opinion is that everything app-like about browsers needs to be undone, yesterday, and they should again become the hypertext document viewers they were meant to be. Even JS is too much, but I guess it does have to stay. People did ask for this, because it made them a lot of money. You should recognize your opinion is a minority one outside of tech (and possibly, there too). To wit, virtually no one is jumping to Gopher or Gemini.
- josephg 4y ago> No one asked for this. What people want is a way to run amazon.com (and gmail and slack and so on), on any of their devices, securely, and without the fuss of installing anything. Ideally the first-time use of amazon.com should involve nothing more than typing "amazon" and hitting enter. It should to show content almost instantly. Satisfying that user need doesn't require a web browser. If OS vendors provided a way to do that today, we'd be using it. But they don't. OS vendors still don't understand that. They assume people forever want to install software via a package manager. They assume software developers care about their platform's special features enough to bother learning Kotlin / Swift / GTK / C# / whatever. And they assume all software users run should be trusted with all of my local files. Why is docker popular? Because it lets you type the name of some software. The software is downloaded from the internet. The software runs on linux/mac/windows. And it runs in a sandbox. Just like the web. The web - for all its flaws - is still the only platform which delivers that experience to end users. I'd throw out javascript and the DOM and all that rubbish in a heartbeat if we had any better option.
- bufferoverflow 4y ago> What people want is a way to run amazon.com (and gmail and slack and so on) Guess what, both GMail and Slack have video calls. They use WebRTC. The browser has to support it. So the WebRTC code is a part of it. > Ideally the first-time use of amazon.com should involve nothing more than typing "amazon" and hitting enter. It should to show content almost instantly. And it does. Open an incognito tab, type amazon.com, it's pretty crazy how fast it loads, with all the images.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- user3939382 4y ago> they should again become the hypertext document viewers they were meant to be There is a small resurgence of the gopher protocol that I believe is rooted in this sentiment.
- devinprater 4y agoAn optional installable component until you have a blind person doing tech support and they have to walk the tech illiterate person through installing the accessibility stack lol. Oh until you suddenly go blind from a condision or accident and have to mouse your way through the interface, blind, to install that component. Ugh ableism.