Win32 and misconceptions

108

My Internet is flaky, but will try to get this uploaded…

Images from Thurrott.com (thanks)

Where can I find great software for Windows?

Browse your file system like in the 90s!

Win32 and misconceptions

There has been a fear campaign targeting Win32. Microsoft is responsible for it. This site is adding fuel to the fire that Win32 doesn’t belong in a “modern” world. Let’s look at common misconceptions surrounding Win32.

One can argue that downloading programs from the Internet isn’t the safest way to get software. I can agree with that. So let’s put Win32 programs in controlled environment, a Store. This is what I always thought would happen. I’m still surprised it hasn’t happened.

If you want “modern” Win32 program management outside Enterprise you are limited to “hobby” solutions such as Chocolatey. Chocolatey gets the job done, but it isn’t something a regular Windows user installs. Steam exists for games so the lack of a Win32 application store is surprising. After all Win32 is the world’s greatest software platform for any form of productivity, at home or at work.

What makes people afraid of downloading Win32 programs from a controlled environment like Windows Store? I don’t get it. Well-written Win32 programs don’t slow down your system. In a store they would be checked for malware and annoying installers would be a thing of the past.

Let’s address sweeping accusations of “Windows rot”. I have never experienced Windows-rot, simply because it isn’t real. What is real are identifiable problems related to programs, drivers, Windows updates or Windows itself. Malware also exists.

Many “Windows rot issues” stem from OEM images. Often junk-filled with lots of unnecessary programs and processes. Starting with a clean Windows iso is the best way to never get caught by “OEM rot”. If you lose special drivers from the OEM image you can download them manually. Just make sure you have the network driver before you wipe your disk clean. OEMs have been a disaster for Windows’ reputation. Some machines are barely usable out of the box. Some Lenovo consumer machines can’t be cleaned, because Lenovo will reinstall crapware through UEFI when you reboot. I’m not making this up, but business ThinkPads seem spared.

So say you experience “Windows rot”. What to do? Well, start by looking in Windows Task Manager or use the excellent program Process Explorer. What’s eating your CPU cycles? Also look in Task Manager for start-up programs which may be legit programs, but don’t need to run all the time. Ccleaner gives you a better view of start-up programs, scheduled tasks and even browser extensions.

If a program is problematic, upgrade/downgrade/reinstall or uninstall it. Same goes for Windows updates (and drivers). If it is a System process causing trouble, use services.msc or a GUI tweak tool to disable it or set it to manual start. Black Viper (blackviper.com) has a list of services for every Windows version which are safe to disable.

I have rarely seen a Windows problem (in 20+ years) that couldn’t be identified (and solved) by basic troubleshooting. Google is there to help you. When you have identified what is causing “Windows rot”, just search for it and Internet will help you solve it. My Windows machines tend to become faster – not slower – because I optimize them more and more the longer I use them. Windows Update can be a problem, but waiting a week or two gives Microsoft the time to pull a bad update. That’s why manual control of updates is crucial, not only for Enterprise.

The problems we have discussed are related to Windows, but not particularly to Win32. Some people like to blame Win32 for “Windows rot”, when in fact Win32 is just an API for writing Windows programs. Sure, programs may cause problems, but bad programs, drivers and Windows updates will always cause trouble. Win32 programs installed from a Store would be just as tested as Windows updates, wouldn’t they…?

This may be one reason for Microsoft’s Win32 resistance. MS doesn’t want to test every Win32 program so instead they write a “UWP-sandbox” that isolates the program from the system. It saves MS a lot of work (developers have to do that work), but also enforces handicapped apps. This is the “lazy approach”. Bad UWP apps can find their way into the Store because not much testing is done. MS is confident that these apps can’t cause harm anyway.

Compare this “lazy approach” with small teams of Linux distro maintainers who build and test 40K – 50K packages every release. There is no reason MS can’t have 500K well tested Win32 programs in the Store including automatic testing of all the updates. MS could even put a few restrictions on the programs like Apple does in the Mac App Store. For example no auto-start, all installed files go into a specific folder, even not touching the registry… Portable programs would fulfill those requirements from day one, just needing the Store to put an icon in the start menu. I think developers would support Windows Store if Windows Store supported their Win32 programs with minor modifications.

Conclusion: There are no sane technical arguments against Win32 which can’t be solved with minor modifications and a Store. It’s just politics… and unwillingness to actively curate a Store. Steam can do it and so can Microsoft.

Comments (108)

108 responses to “Win32 and misconceptions”

  1. arunphilip

    Very nice post. The starting two lines and pictures made me think - for a moment - that this was spam, and I'm glad I read further :-)


    What makes people afraid of downloading Win32 programs from a controlled environment like Windows Store?

    I think there aren't many Win32 programs published to the Windows Store, because those app publishers don't put them there. That is because of various reasons - the obvious one is that the Store is on Windows 10 (and 8/8.1 I guess), but not available for Windows 7. Another reason is that its probably easier to publish apps via the Internet (just publish the app to the web server), especially when one considers some utilities that are cross-platform (e.g. programs like 7-Zip). Microsoft were also aggressively pushing the Store as a Metro/UWP exclusive at the beginning, and only more recently started allowing Win32 apps onto it (but by then the mindset emerged that Store = Metro/UWP only).


    I have slowly started using Win32 apps from the Store (Paint.NET, WhatsApp, VLC), primarily because it makes it that little easier to update via a common place. What you've outlined in terms of better tested Win32 apps in the Store is a good point.


    MS could even put a few restrictions on the programs ... For example no auto-start, all installed files go into a specific folder, even not touching the registry…

    Oh, bliss!


    Your last line sums it up very well.

  2. wright_is

    The points you don't cover are as interesting as the points you do cover.

    Code security is a major one. Win32 is old and was designed at a time where security wasn't a major issue, therefore Win32 isn't very secure, compared to more modern technologies. Using the store to sandbox those Win32 apps is a start, but it isn't a real solution in the long term.

    Win32 is long past its sell-by date. Due to the number of applications, and, currently, a lack of motivation for developers to move their apps to modern platforms, it is a slow and painful migration to a modern Windows platform for Microsoft and its users.

    The Store is a big move forward for non-techy people. My usual example, my wife. When I met her, she had a hand-me-down Windows XP PC, which had been installed for her. She had no idea about extra software, where to find it or how to install it. I bought her a Windows 7 PC and the situation didn't change, I tried to teach her some Windows 7 stuff and bought her a couple of books, but she just wasn't interested, the PC started, Skype and Office were on it, that was all that mattered. Only once I put Windows 8 on the PC, did she start to install her own software, because she could find it "all" in the Store.

    • hrlngrv

      In reply to wright_is:

      To date there are no moderately to thoroughly complex UWP apps, so it's not unreasonable to believe something like Visual Studio or MatLab would be impossible to implement as UWP.

      As for desktop software, the only real benefit is automatic updates via the Store. In theory, package desktop software in the Store runs in container equivalents, but if Store desktop Office is indicative, Store desktop Office programs can be automated from outside software such as VBScript scripts, Store desktop Office VBA can automate outside programs and make all the Windows API calls its Declare statement can handle. IOW, unclear how safe Store desktop software may be.

      If you mean MSFT must deprecate Win32, you're effectively saying Windows needs to die and be reborn. The first part may be easy enough, but the latter isn't guaranteed. Until there are true UWP equivalents for the like of Visual Studio, MatLab, GNU R able to run Rcmdr or RStudio, DBMS query/form/report development environments, even true UWP versions of full MS Office, it's too early just to assume blithely that UWP is the future of Windows software.

      Could dummed-down Windows be better for many Windows users? Sure. Would it be better for ALL Windows users? Almost certainly not.

      • wright_is

        In reply to hrlngrv:

        Basically, yes. Win32 needs to die and Windows needs to be reborn. This is what MS have tried a few times over the last 2 decades, but it hasn't worked so far. There is too much unmaintained legacy code, too many Win32 programmers and Win32 is the common denominator across all platforms.

        We are starting to see Win32 apps being sandboxed and packaged as Store apps. I expect to see this increase over the next few years. Win32 will start to disappear from core Windows and installing a Win32 application will put it in its own VM or Container, where it "can't do any damage".

        Win32 was conceived long before the Internet became popular or ADSL was commonly available. Networks were only found in large companies and there were "no" evil actors on the network. Times have changed and Microsoft have struggled to strap on security on top of Win32, but it is full of holes and needs to be replaced by something more modern, managed and manageable.

        Even slightly more modern systems, like Android, show similar weaknesses. Even though they were designed to sandbox apps, mostly, some apps still needed access across the whole system, which left doors open for poorly written apps, so they added a rights system, which can be abused, so they let people chose which rights to let an app have, but poorly written apps will stop working properly if they rights they, theoretically, shouldn't need are taken away. So people leave all the rights turned on (if they even know they can switch them off).

        Even venerable old systems like UNIX and its "children", like BSD and Linux aren't immune to these problems, but they are somewhat better off, as they were designed from the ground up to be multi-user. It doesn't make them perfect, but it does give them some advantages.

        And Windows needs to evolve, if it is to remain technically relevant. But you can't just throw Win32 away, which is why I believe we will see it gradually containerized or virtualized over time, removing its access to system wide data and resource access.

        • skane2600

          In reply to wright_is:

          The future viability of any technology product is based on its market and business relevance not its technical relevance. The latter is as much about fashion as it is advancement.

          • hrlngrv

            In reply to skane2600:

            Or with analogies, Win32 may still be VHS to UWP's BetaMax.

            • wright_is

              In reply to hrlngrv:

              "Or with analogies, Win32 may still be VHS to UWP's BetaMax."

              No, Win32 is VHS to UWP's DVD and PWA's streaming video. But some people have such vast collections of VHS tapes that they still need VHS players to be able to watch all those old films and TV series.

              • hrlngrv

                In reply to wright_is:

                No, Win32 is VHS to UWP's DVD and PWA's streaming video.

                No, Win32 is Windows 7 or Android to UWP's Windows Phone 7 and PWA's Java.

                There are at least 4 decimal orders of magnitude more Win32 software titles than UWP titles, and at least 7 decimal orders of magnitude than packaged desktop software.

                You're making the classic mistake of focusing on the tech and ignoring what sells and what's available. The market is speaking at deafening volume: the MSFT Store is a go-to software source only for MSFT fans and others who place hope far ahead of evidence.

                • wright_is

                  In reply to hrlngrv:

                  You are making the classic mistake of focusing on the sales and ignoring the tech. ;-)

                  UWP is technically a much better, cleaner solution than Win32. The problem is, not many developers use it, because it limits their audience and some features are still not available / mature enough. It also comes with some restrictions that mean developers have to think differently or can't do everything they used to do (some out of bad habits, "becuase they can").

                  At the end of the day, it is irrelevant; Win32 is an insecure dinosaur that missed the message that it is extinct and it is still creeping along. From a security point of view, it shouldn't be allowed anywhere near a network.

                  The security features that MS have slapped on top of it over the years help some, but they can't mitigate the problems totally, without throwing it out and starting again, which the userbase won't let them do...

                  It is a catch-22 situation. MS need to start over with Windows to make it secure, but they can't because then the users won't be able to use it like they used to and their legacy applications won't work, but they are insecure.

                • hrlngrv

                  In reply to wright_is:

                  You are making the classic mistake of focusing on the sales and ignoring the tech. . . .

                  In the long run only sales matter.

                  I'm not holding my breath waiting for the MSFT Store to account for even 10% of total Windows software sales revenues.

                  And, again, to date UWP hasn't been used for anything truly complex. Let's wait for the UWP version of Visual Studio, shall we?

                  MS-DOS and 16-bit Windows may have been dinosaurs. Win32 is more like opossums, still plentiful if not particularly evolved. In addition, Win32 software is a lot like standard GUI software on macOS and Linux. As long as those other OSes exist, there's almost certainly going to be considerable numbers of FOSS titles available as Win32 software.

                  Finally, we get back to the point that, historically, Windows's strength has been the huge amount of Win32 software available for Windows but not other OSes. UWP puts iOS in the lead. PWAs make local OS irrelevant. Without Win32, who needs Windows? Well, other than MSFT.

          • wright_is

            In reply to skane2600:

            No, not really. If that was the case, we would still be driving around in cars with no seat belts or air bags and death rates would be much higher.

            As seat belts were introduced and wearing them made compulsory, I can remember my father swearing every time he got in the car, not putting the belt on or only putting it over one shoulder, so that it looked like he was wearing it from outside the vehicle.

            Over the years, he gradually accustomed himself to it.

            At some point, technologies become so old and dangerous that they have to be segregated from the rest of the infrastructure. But you are partially correct, this is why Win32 is still around (and why Win16 was only fully depricated a couple of years ago). Businesses put so much pressure on Microsoft, that they still have to support serial ports, parallel ports, floppy disk controllers and dozens of other things that no new computer has had for a couple of decades, but some old software still requires. (Heck, not just Microsoft, our ThinkPads don't have serial ports, but we have a lot of USB-Serial port adapters so that we can manage switches and routers!)

            Apple doesn't have that problem, they binned Mac OS at the end of the 90s and switched to OS X, giving companies a few years to get their acts together with a compatibility layer, which finally disappered with the swap to Intel processors. The same happened to Rosetta, allowing PowerPC software to run on Intel, support for that was dropped several years back. Microsoft doesn't have that luxury, the userbase, especially business, won't allow it.

            So the Microsoft world is stuck with legacy components and legacy software that is not secure enough for the modern world, but which needs to be maintained for businesses struggling to get the finances together to replace their aging software base.

            • skane2600

              In reply to wright_is:

              Seat belts were no great tech advance and airbags are flawed both in design (they inflate too fast to protect people not wearing seat belts at the expense of those who do) and often execution (metal fragments that injure people).


              But to compare the danger to people in a car accident to the "danger" of having an insecure OS (which in the case of Windows, you exaggerate) is absurd unless that OS is the basis of some potentially dangerous device.


              I've spent years developing medical devices and we certainly don't just throw in an OS or other code and just assume that it would be OK. We test s**t out of it.


              If you are concerned about computer safety you should look at self-driving cars that are on the streets with no safety or testing standards (at least in the US). Apparently states are so excited about the financial aspects, they don't think safety is that important.

        • hrlngrv

          In reply to wright_is:

          . . .There is too much unmaintained legacy code, too many Win32 programmers and Win32 is the common denominator across all platforms. . . .

          Certainly a lot, but too much? That hints at a dislike of Win32. Too bad that the accumulated mass of 3rd party software which runs under MSFT's OSes has played such a huge role in putting Windows on 85-90% of desktops and laptops.

          Trite but true: people don't use an OS to enjoy the OS; they use an OS to run the software available for that OS. There's orders of magnitude more software titles for Win32 than UWP, and ISVs (and MSFT itself) haven't exactly been showing any urgency packaging desktop software and putting it in the MSFT Store. And then there are the limitations. See Notepad++'s page in the MSFT Store and read about it can't yet do (after more than 6 months of the developer's efforts to package it).

          As for can't do any damage, packaged desktop MS Office can run all the VBA the non-Store version can, so it'd seem Store packaging doesn't prevent any VBA-based malware. The only added security I can find in packaged desktop software is that it's installed under C:\Program Files\WindowsApps which, by default, isn't accessible even by accounts with Administrator privileges. However, it's relatively simple for Administrator accounts to give themselves full access to everything in that directory. I just don't accept the security-functionality trade-off claimed for packaged desktop software in the MSFT Store.

          Agreed Linux can have its problems, but in real-world business systems, most directories containing executable files would be mounted read-only, and some (/opt and /usr) are intended to be located on remote systems. The only directories which need to be mounted read-write are /home/user_account, /tmp and /var. Imagine the effort it'd take MSFT to move Windows towards that level of security, and ponder how many things it's actually doing to avoid having to admit tacitly that the Unix universe has done a much better job with security for the past few decades than MSFT has.

        • longhorn

          In reply to wright_is:

          I value your input. I must admit that this strong sense of security at all cost is an alien concept to me. I can only respond with a philosophical question:


          What is the point of security if you don't have the freedom to accomplish what you want to do? I'm talking about users and developers, who simply wish to do more. You see this with the Mac App Store too, where Mac developers are really unhappy about the sandbox. 71 % of Mac developers respond that the sandbox is a blocker to getting into the Store. It's simply not possible to make compelling software if it's running inside a sandbox. You end up with web-apps.


          https://setapp.com/mac-market-survey-2017


          It also seems that security often implies that a vendor or Microsoft get more control and also added responsibilities. A Store should be free from malware, but we know it doesn't always work that way. There is always some level of trust involved in computing. You have to trust the software you use, no matter which platform it is. It's not only about security, but also privacy. In these times security is a big focus, but the privacy aspect has been completely forgotten. Privacy is also a big part of security. You don't want personal info floating around and being a potential target for hackers.


          Chrome OS may be the world's most secure platform, or is it? If you move everything to the cloud then local security is really good, but you are much more exposed to someone hacking cloud infrastructure.

          • wright_is

            In reply to longhorn:

            In a world where a computer is not connected to others and the user has full control over the environment and what comes in and what goes out, securtiy is not so important. You therefore have pretty much free reign over the whole system.

            In multi-user environments, whether that be mainframes from the 1970s on or network connected business machines from the 80s and 90s or Internet connected PCs of the 90s and on, security becomes ever more important.

            If you are typing a new novel, you don't want that to be read by everybody and published by somebody else, before you can get it to your publisher... So you need security. If you are doing online banking, you don't want somebody to intercept your transactions and manipulate them for their own gain... So you need security.

            In the Wild West of personal computing, PCs, like the ZX81, VIC=20, Commodore C64, Pets, BBC Micros, MSX, Oric and a few dozen others, you had full control over the system and could do what you wanted. With business PCs, you didn't have that privilege, they were often locked down, you weren't allowed to install extra software without permission from managers or the IT department. And with the advent of the Internet, this went further, new security measures were brought in to make it harder to break into the computer, which restricted the user further.

            I am a system administrator, yet I use my Linux and Windows PCs as a normal user most of the time, using extra, Administrator, accounts when I need full system privileges, my users don't have system access at all. It is the same at home, I use a normal account most of the time and only switch to an administration account when I need to. It is a little bothersome to start with, but security is paramount these days.

            To go back to the Wild West, at some point, laws came along and people had to temper their behaviour and freedom for the common good. The Wild West period of computing is long behind us and we now have "rules" which restrict our behaviour in everyday life (security). There are ways to get around it, but they are there for the common and our own good.

            Win32 is a leftover from the Wild West days that has now moved to a big city and finds it hard to get along with his new neighbours, he starts fights, leaves his door open when he goes shopping etc. People (security policies and security software) try and look after him the best they can, by closing the door behind him, when he goes out and making sure nobody breaks in. At some point, computers will have to lock the doors themselves and this is something that Win32 is no longer able to do, because it is so set in its legacy ways, that no matter how much you bolt on top, it will break some old software somewhere and, especially companies, have invested a lot of money in old software that they still use today, even if it is buggy and insecure, because it is just too expensive to replace - if you forked out several million in the development of internal systems, you can't just throw them out and replace them, it has to be financially justifiable; and that is Microsoft's biggest problem, businesses use old software, so WIndows has to be able to run this old software, otherwise people won't upgrade or buy new PCs. With Skylake and its successors and the end of support for Windows XP, businesses are being slowly forced to switch to Windows 10 and replace some of those legacy systems, whether they want to or not - or they have to virtualize Windows XP and fence it off from their main internal networks and the Internet.

            • hrlngrv

              In reply to wright_is:

              Enterprises today use some interprocess automation. Still possible with Store desktop Office, raising some doubt about how much security packaged desktop software in the MSFT Store provides.

              You want real security in an OS? Look at what Chrome OS does. Mounting / read-only and restricting user access to ~/Downloads, Google Drive and local removable media, with very restricted access to any directories with execute permission. If only Windows came close to that. S mode? To a limited extent, but VBA in Store desktop Office (of any other packaged desktop software with a scripting subsystem) may fubar that.

              Win32 remains where most of the value in Windows rests. UWP is DOA. Packaged desktop software is notable for HOW LITTLE THERE IS. Without UWP and packaged desktop software, where's Windows?

              Finally, Europeans just don't understand the US and firearms. Wild West? Compare 1880s Kansas to 1920s Chicago, or TODAY'S Stand Your Ground laws in several states, notably Florida.

  3. hrlngrv

    Re software distribution, if an ISV's web site distributes installers and provides MD5 checksum keys, then users interested in using that software could verify the checksums. The problem is most users are ignorant of this type of verification or too lazy or impatient to verify. Also, a single source for software also means a single target for those who want to fubar that software source. Finally, is the value from ISVs' perspectives sufficient to justify the price MSFT wants to charge?

    More practical, there are millions of Win32 software packages available, probably tens or hundreds of millions if all languages are considered. MSFT is prepared to host all of that? Certainly MSFT could host that in terms of being able to afford infrastructure, but would MSFT want to?

    Linux software repositories aren't analogous because most of that software is FOSS, and distribution maintainers have the legal option to modify packages as long as they're ready to provide source code to anyone who asks for it. There's very little closed source, proprietary software in distribution software repositories, and what there is is left as-is. There's also lots of proprietary software which installs under /opt and which often comes from ISVs' own repositories. Then, at least for Debian-based distributions, there are PPAs and installing .deb packages a la carte using dpkg. And for any distribution, downloading source code tarballs and using make.

    Re OEM rot, it's a problem in part of MSFT's own making. For a host of legal, financial and marketing reasons, MSFT wants as little direct contractual contact with Windows users as possible. MSFT has based its Windows business on wholesaling Windows licenses to OEMs, and OEMs retailing pre-installed Windows licenses to PC buyers. US courts have established that in terms of US law, wholesalers like MSFT have no control over what retailers do with their product. The EU likely has similar rules, and the rest of the world may not enforce whatever rules may be on the books. MSFT has 2 alternatives: MSFT could put MSFT employees or contractors in OEMs' factories to install clean Windows images on new PCs, in which case MSFT would eat significant additional expense; or MSFT could sell Windows license kits direct to PC buyers rather than to OEMs, but that'd also make Windows less profitable (greater marketing and support costs), Windows revenues more volatile, and give PC buyers more opportunity to try alternative OSes. There's no sound basis for believing OEMs have made fools of MSFT; OEMs have some legal rights which MSFT can't force them to waive, but MSFT prefers the status quo (bad as it may be for PC users) to taking on more expense in order improve the end-user experience. IOW, Windows rot is more accurate than OEM rot.

    • wright_is

      In reply to hrlngrv:

      The problem with having a download and an MD5 sum t check on the vendor's site is that, if you can manipulate the download on their site, you can just as easily change the MD5 sum - especially if they provide it in the same FTP page.

      I still think MD5 is a false sense of security, when provided together with the installer. You need to be able to find the MD5 from a separate, secure location that can be verified.

      • hrlngrv

        In reply to wright_is:

        Separate sites for package and MD5 checksum would be safer. If the package were from tucows or downloads.com and the MD5 checksum were from the developer's own site, that'd seem to be separate sites. OTOH, package and checksum both from the developer's site may be insecure, but that'd apply to MSFT too, no? Anyway, developers/ISVs need to maintain their own sites to detect and correct any cracks. Can you provide any links describing such security breaches of CRAN, CPAN, CTAN, LibreOffice, any top 100 Linux distribution's repository? Such breaches may be possible in theory, but I figure they're rarer than tainted Windows installers on shareware/freeware sites.

        My point is more that there are ways to check software which already exist but are mostly unused, especially by Windows users.

        Better still are mandatory PGP keys, which many Linux software packages use (e.g., CRAN mirrors).

        • hrlngrv

          In reply to wright_is:

          Good thing few Linux users update their kernel frequently.

          As for the 2nd link, it's from 2010. Granted it may still be possible, but it may also be the case the Linux community has become more careful in the last 8 years.

          I'm not saying Linux is less vulnerable, though it is a much smaller target as a desktop OS, but many eyes tend to spot malicious code quicker.

        • lvthunder

          In reply to hrlngrv:

          At some point you have to trust someone. Microsoft has a pretty solid track record of hackers not getting in and modifying Windows Update.

          • hrlngrv

            In reply to lvthunder:

            Indeed MSFT has done well. So have many others.

            To repeat: any links describing such security breaches of CRAN, CPAN, CTAN, LibreOffice, any top 100 Linux distribution's repository? For that matter, any links describing chronic or persistent breaches at download.cnet.com, tucows, Source Forge? OTOH, warez4free torrent sites or ursoscr3w3d.ru may be unwise to trust.

            As for ISVs' own sites, larger ISVs would tend to be safer, but the flip side is that smaller ISVs are less attractive targets for malware distributors.

  4. hrlngrv

    Re Windows Rot, FWIW I've had to reinstall Code Writer (a UWP app) and Ubuntu (for WSL) from the store over the last few builds. To be precise, uninstall then reinstall once each. Makes me think there may be Store Rot as analog to Windows Rot. I haven't had to reinstall any Win32 desktop software.

  5. Jules Wombat

    Nope Windows Rot is real and maintaining Windows machines involve too much constant maintenance, attention and constant updates that makes the through life costs of support excessive compared with simpler platforms.

    Its no good preaching techy know how, when modern compute is used by normal users.

    Simplify the platform, by reducing the reliance upon win32 or die as a platform. Microsoft know this to be the case, and has to respond against the competition.

    • hrlngrv

      In reply to Jules_Wombat:

      If Windows Rot is merely perceived, not real, say because new machines always run faster usually because they have faster components, but same performance over time only seems like slowdown, there may be nothing to do either with PCs or their users.

      If Windows Rot is real, then what does it come from? Lots of accumulated cruft in temporary directories and registry may be one source. Service creep (more background processes running) may be another, especially background updaters eating processor cycles, disk access and network bandwidth. Most of that has remedies, but they involve more user effort.

      The problem for MSFT is that no one needs Windows for a simpler platform. Windows's sole value is running the complex Win32 stuff. If UWP can't handle complex software or ISVs just won't bother porting to it, simplified Windows is a dead end. Enough PC users want to keep using complex software than MSFT's choices are keep supporting it on Windows, or leave the OS to Apple and FOSS.

      • Jules Wombat

        In reply to hrlngrv:

        Yep all of the above. Just by referring to "Services", "Registry" etc you still not acknowledging that Normal people are interested or motivated enough to be into that.

        There has been little to no new Win32 software written in the last decade. New Software development is Web, Android or iOS. The age of complex software and complex platforms is coming to an end. Get Real, and out of the Windows fan boy mindset.

        • skane2600

          In reply to Jules_Wombat:

          But those same "normal" people don't think about services and the registry as a problem that needs solving, so they won't see moving to Store apps as a solution (whether it is or isn't). It's not as if Microsoft is promoting store apps by saying they get rid of those nasty services and that nasty registry.


          What you don't seem to realize is that the world of Win32 software development isn't limited to familiar major applications by major brands and new Win32 programs have been written and will continue to be written.


          Naturally new platforms have more new development than old ones because they have greater gaps in coverage. The "age of complex software" can end only when the need for powerful software no longer exists. Simplicity and power have always been traded-off in software development and nothing can change that. It's fundamental.


        • hrlngrv

          In reply to Jules_Wombat:

          Until there's actual proof that UWP can do as much as Win32 in the form of UWP software doing those things, belief in the coming simplification of Windows would be founded on hope.

          Tangent: since I use Linux more than Windows in the average week, it's an odd feeling to be called a Windows fan boy.

        • longhorn

          In reply to Jules_Wombat:

          "There has been little to no new Win32 software written in the last decade. New Software development is Web, Android or iOS."


          That's not correct. Any developer who wants to develop something more than a toy-app targets a desktop platform. If you are afraid of "Windows rot", use portable programs. All the power and no system impact. Software won't get cleaner than that.

      • skane2600

        In reply to hrlngrv:

        I think another reason driving initiatives like UWP is that programmers in general and less experienced programmers in particular really hate maintaining old code. They want to create something new and that desire is not necessarily associated with business acumen.


        Combine that with the lack of historical perspective on the failure of "universal" platforms and you end up embracing the latest and greatest attempt (currently PWA, unless the next one is going to be proposed tomorrow). It seems the futility of the pursuit has to be painfully learned by each generation of developers.

        • hrlngrv

          In reply to skane2600:

          Having done my share of maintenance (mostly macros in spreadsheet models, but other stuff too), I can understand the desire to start from scratch. Problem is, in-house and consultant developers for enterprise customers will usually have to maintain code because their customers, employers or clients just ain't gonna pay for new versions ever 2-3 years.

          I doubt maintaining UWP code would be any more appealing than maintaining Win32 code.

    • jimchamplin

      In reply to Jules_Wombat:

      I have a Hackintosh install that's three years old including really hackneyed patches, and a real macOS install that's over a year old that still runs like greased lightning. My dad's Windows 7 lappy out in Georgia is already ready for a re-install after a year (he refuses to install Windows 10) But my Windows 10 devices, along with my partner's Dell XPS gaming rig, as well as mine and my mom's Dell Venue Pro tabs are all going strong.


      Just so you know, dad's Windows 7 box is an early i7-3615QM. My Mac mini running High Sierra (now that it isn't crashing after the first boot) is the same CPU. My old Lenovo Thinkstation running a Xeon 3550 has always been a little quicker.


      The rot is real, and it's part of how Win32 software installs and runs.


      Once we're rid of that crap then we don't have to care about ancient 1990s garbage anymore.


      That said, if they can fix those issues without obsoleting millions of software titles... GOOD!

      • longhorn

        In reply to jimchamplin:

        What you are saying is akin to "If your knee hurts go to the doctor and ask him to amputate you leg."


        What I'm saying is "If your knee hurts go to the doctor and ask him to take an X-ray and then the physical state of your knee will be better known."


        "Windows rot" isn't hard to solve. You just have to figure out which process is causing it. Often more than one process/service is causing it. This is the same troubleshooting basics as when you are trying to figure out why your car's fuel consumption is too high. There can be many factors and you have to identify them one by one.


        Ok, I'll give you this. Most people leave their car to the mechanic and most people don't want to troubleshoot computers. If Windows is causing too much trouble for normal people then it's surprising not everyone has switched to other platforms. Windows still has almost 90 % on the desktop and Chrome OS has 1 %. Quite telling. And then remember that Chrome OS is a success compared to “S”, simply because people prefer Chrome to Edge.

        • skane2600

          In reply to longhorn:

          I think a lot of the time people talk about "Windows rot" as just another way of saying "Windows Bad". Not only don't they want to bother to figure out what's going on, finding a specific problem with a third-party process undermines the idea that something is inherently wrong with the OS.

          • longhorn

            In reply to skane2600:

            "I think a lot of the time people talk about "Windows rot" as just another way of saying "Windows Bad". Not only don't they want to bother to figure out what's going on, finding a specific problem with a third-party process undermines the idea that something is inherently wrong with the OS."


            Well said. There is also a lot of room to optimize Windows itself which can be done in a Win32 environment, but would be much harder to do in a "S" environment.

        • Jules Wombat

          In reply to longhorn:

          Most consumers are and have left Windows for general computing needs. Enterprise and business are stuck with Windows because of legacy Applications, but are having to pay admin staff to maintain the creaking platform. Given choice to move to newer apps on lighter weight platforms, they are taking it. Only fools sticking their head in the sand.

          • skane2600

            In reply to Jules_Wombat:

            "Most consumers are and have left Windows for general computing needs."


            Not sure what you mean by "left Windows". You mean most non-business Windows users have thrown away their PC or never turn it on anymore? The fact that people use smartphones doesn't mean they have "left" Windows. I watch a lot of things online but it doesn't mean I've "left" TV.

          • longhorn

            In reply to Jules_Wombat:

            "Most consumers are and have left Windows for general computing needs. Given choice to move to newer apps on lighter weight platforms, they are taking it. Only fools sticking their head in the sand."


            Again, Windows still has close to 90 % global usage share among desktop and laptop users. Only fools try to use a tablet OS for productivity.

      • skane2600

        In reply to jimchamplin:

        "The rot is real, and it's part of how Win32 software installs and runs."


        Care to elaborate? For example, please explain how Win32 programs on Intel processors "run" differently than UWP apps or MacOS apps run on the same CPU and how that difference translates into so-called "rot".

    • skane2600

      In reply to Jules_Wombat:

      It's tech people who are fixated on things like the ill-defined "Windows Rot", not normal users.

  6. NT6.1

    Very interesting reading. I agree!

  7. lvthunder

    "MS could even put a few restrictions on the programs like Apple does in the Mac App Store. For example no auto-start, all installed files go into a specific folder, even not touching the registry… Portable programs would fulfill those requirements from day one, just needing the Store to put an icon in the start menu. I think developers would support Windows Store if Windows Store supported their Win32 programs with minor modifications."


    That's what they are doing with the bridge apps and app developers still don't put there stuff in the store. They would rather not have the restrictions and pay to be in the store.

    • hrlngrv

      In reply to lvthunder:

      I figure ISVs' main reason for shunning the MSFT Store is the 30% revenue cut MSFT wants. ISVs already with moderately steady revenue streams may believe, arguably reasonably, that the Store isn't worth it. MSFT could fix that easily, but I suspect MSFT's main goal for the Store really is 30% of all Windows software revenues.

      One more scrap of evidence: there's a lot of FOSS used under Windows. MSFT itself could convert most of that to Store packages and make them available in the Store. MSFT doesn't want to expend its own resources doing so.

      • doofus2

        In reply to hrlngrv:

        "I figure ISVs' main reason for shunning the MSFT Store is the 30% revenue cut MSFT wants"


        Yep, the math is pretty simple: I can continue with my fully functional Win32 programs that I sell through an online reseller who takes 6-7% - or - rewrite everything for a Windows Store that takes 30%. Hmmm, more work for less pay? Nope.


        If MSFT had created the Win32X I outlined in earlier posts and charged 10% in their Win32X Store ... I would have hopped on that train in a second.


        • lvthunder

          In reply to doofus2:

          Would 10% cover their costs associated with running the store? I doubt it. They not only have to cover the cost of the paid software in the store, but the free stuff as well.

          • hrlngrv

            In reply to lvthunder:

            If an ISV pays less than 10% for other distribution channels, what makes the MSFT Store worth 3+ times the expense? MSFT may have higher costs, but if it it has competitors with much lower costs, why should any ISV piss away money in MSFT's direction?

            If MSFT's costs truly require 30% of all Store revenues, then the MSFT Store may not be economically viable. Have you considered that? If you want to respond that Apple gets 30%, fine and irrelevant. No matter how badly MSFT and its fans want otherwise, MSFT isn't Apple and lacks Apple's hold on customers and developers.

            There's no viable alternative to Apple's Store for iOS. In contrast, there's likely at least 1000 times more Windows software revenues outside the MSFT Store than in it, so LOTS of alternatives for ISVs selling Windows PC software. Plus the awkward fact that the thin majority/sizable minority of Windows PC users using Windows 8.x or prior can't use the MSFT Store.

  8. skane2600

    "even not touching the registry"


    I think the idea of the registry as a big bad is just another misconception. It plays an important role in Windows and one that can't be achieved through using a per-app repository instead.

    • hrlngrv

      In reply to skane2600:

      I figure the main problem with the registry is the cruft left behind after uninstalling software. Some ISVs have done truly execrable work with their uninstallers.

      • skane2600

        In reply to hrlngrv:

        The question is whether the leftover data in the average person's registry is actually significantly harming performance or just irritating the delicate sensibilities of developers.

        • hrlngrv

          In reply to skane2600:

          Given all the smoke, there's likely to be a little fire at least.

          Since it takes some time for CCleaner or BleachBit to scan the registry, I figure wasted time rather than wasted RAM is the bigger problem from registry cruft.

          • skane2600

            In reply to hrlngrv:

            But I assume that registry "cleaners" are scanning the entire registry, that's not what normal programs that access the registry do.

            • hrlngrv

              In reply to skane2600:

              I'm thinking more along the lines of working in Excel and wanting to insert an object. Does Excel use a list of installed objects it read at startup or does it rescan the registry every time that command is run? If it needs to verify that the .DLLs, .OCXs or .EXEs needed to support each object exist on disk, every unremoved stub under HKCR would waste time.

              • skane2600

                In reply to hrlngrv:

                It sounds like neither one of us really knows how it's done, but obviously it would depend on how many stubs are there and whether the resulting time delay is human perceptible or not. When people complain of Windows slowing down, I doubt that it's because of how long it takes to do an insert object in Excel (not a very common activity, IMO). Of course, it's not as if every uninstalled program leaves stuff behind in the registry anyway.

                • hrlngrv

                  In reply to skane2600:

                  It was one example. Anything which queries the registry could face slowdown from cruft, especially for registry queries which return file/directory pathnames which would need to be verified. Even with indexing, checking whether a dozen files/directories actually exist does take human-perceptible time.

                  What I'm not convinced about is that packaged desktop software would be forced to be better about this than non-Store versions of the same software. Does MSFT test packaged desktop software uninstallers?

                • skane2600

                  In reply to hrlngrv:

                  I think this is perhaps a Raymond Chen question. We don't know how any of this is implemented internally in Windows.

                • hrlngrv

                  In reply to skane2600:

                  I can find out for myself how long it takes to check whether a particular file or directory exists. I can also check how many values under HKCR point to files and directories. As for whether any ISV's program reads the registry only at launch or repeatedly, would any single person know that for 1000 programs for which they lack the source code?

                • skane2600

                  In reply to hrlngrv:

                  When it's impractical or impossible to gather the data required to come to a conclusion, you simply can't.

  9. TheJoeFin

    This is an interesting post, but it reads like it was written from an Ivory Tower. Companies who make products which are widespread and essential for everyday life have a responsibilities to make those products in such a way which makes them better, safer, and more effective for all of their users.


    This reminds me of a story about car makers' in mid-1900s attitude toward safety. Essentially, their message was that cars are dangerous and when people die in car accidents it is not the fault of the car (or the car maker) but instead "The Nut Behind The Wheel." Individuals outside of the car industry took a look at the data and came up with solutions which they presented to the car makers, who eventually began implementing these solutions. Innovations like the collapsible steering column, seat belts, air bags, Anti-Lock brakes, etc began reducing fatalities from car accidents. Drivers are still 100% responsible for their own driving, but there is something car makers could do to continually improve the overall safety of driving.


    In much the same way PC users are ultimately responsible for their own computers, but as the OS maker, Microsoft has a responsibility to focus on how to make their products better, harder to abuse, more durable, safer, and more enjoyable to use. Personally I am a tech savvy person who rarely has issues with Windows, but that doesn't mean Windows is perfect and Microsoft should tailor it to my use case.


    • The fact is Windows-Rot is a real problem and affects a huge number of real Windows users.
    • UWP is a new platform not just a copy-cat of Win32, making this new platform was not the “lazy approach.”
    • Many software makers want to have full control of their distribution.
    • Microsoft should find a more default way to isolate existing Win32 programs.
    • New installers from Microsoft go a long way to making them safe, but developers need to implement this new installer.
    • skane2600

      In reply to TheJoeFin:

      I don't think a car analogy is particularly apt, but what you suggest would be like a car maker who doesn't allow the car to be driven faster than 40 miles per hour and limits where the car is allowed to drive.


      If MS wanted to create a brand-new OS without a misleading name like "Windows" that would be fine. There are already plenty of computing options like Chromebooks for those folks that have trouble seeing over the steering wheel.

      • TheJoeFin

        In reply to skane2600:

        

        No analogy is perfect, but if I were to make it fit for UWP, perhaps it could be like a car maker producing an electric car. Lots of benefits, but totally different when it comes to fuel source, can't go as far, can't get regular gas, take a long time to fuel up, different parts, different infrastructure for repairs and maintenance. But you do see car companies doing both electric and gas cars, much like Microsoft still makes and maintains the tools for making WPF and WinForms but is also working the next generation platform of UWP.

        • skane2600

          In reply to TheJoeFin:

          I don't see UWP as a platform that has "lots of benefits".

          • TheJoeFin

            In reply to skane2600:


            UWP apps are easy to distribute and monetize. They are lightweight and run fast too. Due to the update mechanism being through a central store it eliminates the need for each app to have their own updater. UWP apps are DPI aware. UWP apps can be easily installed and uninstalled. Easy to target different platforms. UWP apps easy to make aware of touch, pen, controller, keyboard, and mouse. Devs can choose from a range of languages to develop in. Apps adapt to the devices color scheme and dark/light theme. The dev center makes it easy to monitor, and track UWP apps. UWP apps roam with a MSA making them easy to find again on different devices and reinstall them. There are a bunch of Windows 10 APIs which UWPs can take advantage of which make it easy to safely and securely access user data (with user permission) without building the OAUTH for each service.


            Obviously UWP has lots of downsides as well, but just because it is a mixed bag overall doesn't mean it doesn't have lots of benefits. Also not all of these benefit every dev or every users, but that doesn't mean it isn't a benefit of the platform.


            I'm curious why you can't see UWP's benefits, are you a dev?

            • skane2600

              In reply to TheJoeFin:

              I don't see how UWP apps are easier to distribute and monetize than Win32 apps.


              "lightweight and fast" is marketing talk, IMO. All that matters is the relative speed and power between an UWP app and the equivalent Win32 program. I can easily believe that programs with scaled-down capabilities (regardless of platform) take less resources than their more capable counterparts.


              The vast majority of Win32 programs don't have updaters and the few that do often can control the update mechanism.


              Win32 programs can be installed just as easily as UWP apps. As simple as downloading a single EXE file and running it. Of course some programs have more complicated installers often to allow a default setup that would otherwise have to be done by the user by browsing through menus.


              Touch and other controllers are handled properly in Win32 programs as well. As a practical matter there's really only one UWP target, the PC.


              Yes, I'm a developer, but only since 1981.

              • TheJoeFin

                In reply to skane2600:

                It really seems like you're being overly defiant here.


                > I don't see how UWP apps are easier to distribute and monetize than Win32 apps.


                Surely you know this to be false. Monetizing UWP is as easy as uploading to the Microsoft store and setting a price. To monetize your own Win32 app you have to make all that distribution or go through another store. But if you want to use in-app-purchases you have to make that whole payment element into your program. UWP has that integration with the Microsoft store making it way easier to deliver in-app-purchases.


                You may be able to make more money off a Win32 program doing all the work yourself, but that doesn't mean it is easier to monetize.

                • skane2600

                  In reply to TheJoeFin:

                  If you don't use the Store it's not as if you have go through an elaborate procedure every time you want to sell a new program. Anyone sophisticated enough to write a non-trivial program isn't going to have a problem creating a simple website and there are many payment systems out there that aren't any harder to setup than setting one up with Microsoft. How many serious programs use in-app-purchases? You see that most often with smartphone games, and UWP has little or no presence on smartphones.

                • TheJoeFin

                  In reply to skane2600:

                  If you don't use the store a UWP appx doesn't require you to write an installer/uninstaller. That makes using UWP easier.

                • skane2600

                  In reply to TheJoeFin:

                  Not all Win32 programs require an installer/uninstaller. For Some, install: download the single EXE, done. uninstall: delete the single EXE, done.


                  Obviously some Win32 programs require more setup but often the setup is required to accomplish something that UWP apps can't do anyway.

      • shameermulji

        In reply to skane2600:

        "If MS wanted to create a brand-new OS without a misleading name like "Windows" that would be fine."


        What they should have done and what I still think they should do.

      • longhorn

        In reply to skane2600:

        "I don't think a car analogy is particularly apt, but what you suggest would be like a car maker who doesn't allow the car to be driven faster than 40 miles per hour and limits where the car is allowed to drive."


        I fully agree. The improvements that have been made to cars don’t restrict you from using your car in an efficient way.


        "If MS wanted to create a brand-new OS without a misleading name like "Windows" that would be fine. There are already plenty of computing options like Chromebooks for those folks that have trouble seeing over the steering wheel."


        Another comment that is spot on. And I have the perfect name for that OS; "Gates", like the name of the founder and "Gates" because you are locked-in or locked-out depending on how you see it.


    • hrlngrv

      In reply to TheJoeFin:

      If MSFT's main goal were making Windows safer, why isn't %windir% mounted on a read-only volume?

      Indeed, check many of the features Google implemented in Chrome OS which make Chrome OS a lot harder to fubar than Windows, and ask why MSFT has copied so few of its ideas.

      What MSFT does with Windows is what it does with Office. In theory MSFT provides many ways to secure parts of Office documents. In practice, a bit of VBA running for a few seconds is sufficient to remove any & all internal security. MSFT has locked down Store software under C:\Program Files\WindowsApps, but it takes no longer than a few minutes for takeown and icacls to give the Administrators group full access to everything in it.

      The most MSFT does is make it inconvenient to fubar anything on a Windows system.

      • TheJoeFin

        In reply to hrlngrv:

        I agree with you. Microsoft needs to do more to make Windows secure. It is strange how little progress they've made on this front. It seems like they've focused all their efforts on just locking everything out in Windows 10 S and not trying to find an intermediate solution which would work best for more of their existing users.

        • hrlngrv

          In reply to TheJoeFin:

          . . . not trying to find an intermediate solution which would work best for more of their existing users.

          My cynical assessment is that what MSFT would need to do to make Windows more secure would be an implicit acknowledgement that Linux and Unix before that had gotten more things right than Windows. MSFT can't bring itself to make such an admission, so it tries any other gimmick it can come up with to avoid that.

    • longhorn

      In reply to TheJoeFin:

      "UWP is a new platform not just a copy-cat of Win32, making this new platform was not the “lazy approach.”"


      Well, the burden is on third party developers to support a new platform. They have perfectly working Win32 programs. Instead of making minor modifications to those and Microsoft taking an active approach to curating the Store, those developers are supposed to shoehorn their programs into an environment they weren’t designed for. Many Win32 programs become meaningless (not possible to implement) because of the limitations of UWP. It’s like Apple announcing that all Mac software must now be restricted to meet iOS specifications. If Windows is Mac, then UWP is iOS. Microsoft made all those restrictions, but it's third party who is supposed to get the job done.


      That being said, I don't think Microsoft is a lazy company, quite the contrary. Often they make things difficult for themselves and others. :)

      • TheJoeFin

        In reply to longhorn:

        I think everyone agrees UWP has not been very successful and it has always been a crazy value proposition for established Application developers. A huge reason why it has been unsuccessful is surely because Microsoft tried to make desktop users accept stunted mobile apps into their routines but that was mostly not going to happen. Also Microsoft's failed mobile strategy basically took UWP out at the knees; keeping it from being interesting to any large business looking to develop a mobile suite of apps.

      • hrlngrv

        In reply to longhorn:

        . . . the burden is on third party developers to support a new platform . . .

        Or on MSFT itself to lead the way. I figure more than a few developers have noticed MSFT hasn't exactly shown a sense of urgency making UWP alternatives to Notepad, Charmap, Font Viewer, and all the other still existing desktop applets.

        In this case MSFT own lack of deeds speaks in orders of magnitude more decibels than its words.

        • TheJoeFin

          In reply to hrlngrv:

          Microsoft has absolutely failed to make a case for UWP. If I was a successful Win32 dev I would not convert to UWP.

          It is clear that Microsoft has little faith in UWP because they continue to not invest their profit making products in the platform.

  10. Paul Thurrott

    A couple of points.


    Con:

    First of all, Windows rot is very real. In fact, I just had a private conversation with a PC maker who explained that this was why Windows 10 on ARM, specifically Windows 10 S on ARM, was so important for the industry.

    The "fear" campaign against Win32, meanwhile, is really just an overdue reaction to a very real problem, too, which is that Win32 applications are unmanaged and can do great harm to the PC, and to you and your private data.

    You have a lot of anecdotal info here. And many would characterize this as FUD.

    Pro:

    But ... you do make one very good point, and it's something I don't understand either: Given that Win32 apps are terrible/harmful/whatever, why doesn't Microsoft just engineer Windows to protect against that? Containers, whatever. Instead, they are putting the onus on users. I can only assume that it is so technically difficult that it is impossible. Consider that this company can't even get high DPI right, that's another legacy of the Win32 past.

    UWP, compared to Win32, is woefully immature. Developers are not going to adopt it unless it is a true replacement. All it really is, is a limited mobile apps platform.

    • longhorn

      In reply to paul-thurrott:

      "First of all, Windows rot is very real. In fact, I just had a private conversation with a PC maker who explained that this was why Windows 10 on ARM, specifically Windows 10 S on ARM, was so important for the industry."


      If "Windows rot" can be solved on ARM, it would be easy to solve it on x86 too. Likewise, if UWP is the antidote to "Windows rot", then surely a few of those modifications can be ported to a Win32 Store.


      "The "fear" campaign against Win32, meanwhile, is really just an overdue reaction to a very real problem, too, which is that Win32 applications are unmanaged and can do great harm to the PC, and to you and your private data."


      I think the comment by doofus2 explains this well.


      "You have a lot of anecdotal info here. And many would characterize this as FUD."


      Excuse me, but what could be more FUD than referring to an abstract, unidentified process called "Windows rot"? I don't doubt for a second that people experience slow-downs, but to dismiss it as "Windows rot" instead of trying to identify the very things causing this behavior is FUD.


      "Given that Win32 apps are terrible/harmful/whatever"


      They are not. They just need to be managed in a responsible way like doofus2 points out. UWP is a prime example of throwing out the baby with the bathwater and this is no exaggeration.


      "UWP, compared to Win32, is woefully immature. Developers are not going to adopt it unless it is a true replacement. All it really is, is a limited mobile apps platform."


      Finally something we can agree on. :)

      I think the burning question is why Microsoft wants to do a hard reset with UWP, instead of slowly evolving Win32 into a more managed and secure platform. As I wrote before, this is like Apple deciding that iOS apps are the future for macOS.

    • skane2600

      In reply to paul-thurrott:

      The problem with the topic of Windows rot is that there seems to be little if any technical verification of its existence. Just anecdotal statements that "my computer slowed down after awhile". It shouldn't be that hard to do a technical investigation that identifies precisely what the causes are and how they affect system performance. Unless the slow-down has some specific cause unique to Windows on Intel, Windows on ARM or any other approach won't "solve" the problem.

      • longhorn

        In reply to skane2600:

        Exactly, "Windows rot" is just a name for something that hasn't been identified. Identify the problem, solve it and "Windows rot" is gone. I know what people are getting at; there is an architectural flaw in Win32... I don't really buy that, to be honest. There are too many Win32 programs that work for years and years without slow-downs. But yeah, if you really search for it long enough I'm sure it's possible to find something... I never said Win32 is perfect, but refering to "Windows rot" without investigating the cause doesn't make anyone wiser. Sadly, Microsoft has no incentive to improve Win32 now that they have decided to kill it, more or less.



        • hrlngrv

          In reply to longhorn:

          . . . Sadly, Microsoft has no incentive to improve Win32 now that they have decided to kill it, more or less.

          Well, not outright kill it. More like lobotomy and quadruple amputation followed by induced coma.

          MSFT isn't irrational, so it seems they figure most leisure users, including gamers, would accept a MSFT Store-exclusive future. MSFT has to see that ISVs aren't flocking to the Store, so it'd seem MSFT believe a substantial chunk of leisure PC users would be amenable to a transition comparable to that from MS-DOS to Windows 3.1. [Let a thousand new ISVs grow from the carcasses of the old ISVs.]

          However, MSFT can't believe their enterprise customers would welcome a MSFT Store only channel for application software, especially not anything developed in-house, more especially using Visual Studio. I can't believe MSFT is willing to abandon them and the majority of MSFT's software licensing revenues.

          I can't help suspecting that MSFT is either going to be forced to split Windows up into a leisure version which simply can't run Win32 software without something like DOSBox and a work version which may never fully correct Windows's security issues, or move to servers hosting VMs able to run Win32 software. If MSFT wants enterprise customers willing to pay much for either of those, MSFT may have to revive Win32 feature development.

          • skane2600

            In reply to hrlngrv:

            Windows S went a long way toward being the leisure version but the devices that included it were overpriced and sales (apparently) were dismal. Now Microsoft, going back to their Windows 8 playbook, want to force it on all Windows 10 devices, at least on installation.


            But as others have noted, an OS not called Windows would be a better basis for a scaled-down OS.

            • hrlngrv

              In reply to skane2600:

              . . . but the devices that included [Windows 10 S] were overpriced and sales (apparently) were dismal . . .

              Speaks volumes that OEMs actually declined to bring those cheap Windows 10 S laptops to market which MSFT much have cajoled or blackmailed them to preview at last May's education event. I figure MSFT really did expect OEMs to support Windows 10 S, but I figure OEMs are far more skeptical than MSFT suspects.

              I figure OEMs have a much more accurate notion of the value of Win32 than MSFT does.

      • hrlngrv

        In reply to skane2600:

        Clean out %TEMP% directories and use CCleaner or BleachBit to uncruft the registry every so often, and that would handle the bulk of Windows rot. Also doesn't hurt to use SysInternals' Autoruns to check what runs on startup and login, and disable some of it.

  11. jimchamplin

    One of the most perfect examples of why the Win32 API is long in the tooth is HiDPI support. It really shouldn’t be that hard to do this. Rendering type is an OS-level task, so even if an application doesn’t “properly” support HiDPI, the fonts should at least look right, but no. For some reason it doesn’t work that way.


    We end up with the fuzzy messes that we have now. Is this a problem so deeply rooted in the API that there’s nothing they can really do about it? If this is a problem, then how many other gotchas from ancient code that was never designed in a way to be overhauled will be found?


    The NT code base is 25 years old, conservatively. The DPI issue is something we’re seeing now. Who knows what else we’re going to see moving forward.

    • hrlngrv

      In reply to jimchamplin:

      Since the last few Qt versions handle this reasonably well under Linux, there'd seem to be no reason MSFT couldn't do better for Win32.

    • doofus2

      In reply to jimchamplin:

      The problem is that many Win32 programs weren't written with High DPI in mind. Mine weren't. So, Windows fakes the standard 96 dpi for them and scales the result to the actual DPI setting. That causes things to be blurry.


      Supporting HiDPI isn't simply a matter of your Win32 program saying, "hey, I support High DPI". Any bitmap/raster resources have to be created in a variety of sizes (I use 96, 120, 144, and 196 dpi), your layouts have to tolerate various font sizes, etc. For per-monitor DPI support, all this has to be totally dynamic because the user can move your window to a monitor with a different DPI. That's quite a bit of work and higher dpi systems have only been widely available for 5-10 years, mainly only in higher resolution laptops. For desktops you need high pixel counts before High DPI support is required, e.g. 1920x1080 on a 24" monitor is exactly the Windows standard 96 dpi (while on a 13.3" laptop it's 166 dpi).


      One thing I forgot to include in my other reply to this thread was that MSFT should have designed a simple, native, scalable UI API (to replace much of USER and GDI). They did this for WinRT.


      Final technoweenie note: there is a significant difference in creating raster resources like icons and toolbar buttons for 96 dpi compared higher dpi. There are so few pixels available for icons at 96 dpi that you end up having to get down on your hands and knees and color individual pixels to make things look right. Once you get above 120 dpi, you can draw shapes in a graphics app to make icons. Incidentally, the main reason why MSFT's TrueType fonts look so good is that someone spent untold hours "hinting" the outlines to look good at 96 dpi (basically, wildly distorting the glyph outlines to turn on specific pixels).


    • longhorn

      In reply to jimchamplin:

      My experience with HiDPI on Windows is limited, but it was better than I thought it would be. The few Win32 programs I tried looked fine. I was probably lucky because people seem to complain about Win32 HiDPI support. Of course new versions of Win32 programs can get better. VLC didn't support HiDPI, now it does.

  12. doofus2

    Finally, someone who gets it! There is nothing "wrong" with Win32 (the API). The problem is with the Wild West approach to managing programs in Windows: allowing programs to install services, auto-start update monitors, touch sensitive areas, etc. All MSFT had to do was to define a subset of the full Win32 functionality (a modern subset that most applications would use), restrict Win32 programs to well-defined locations (via kernel, not a broker), and have a Win32X Store (that charged 10% of sales). That system could have been backported to Win7 and have had a chance for success. But no, MSFT created a new, totally incompatible, and critically limited API (WinRT, UWP). It had zero users and zero developers. It was destined to be DOA.

    • skane2600

      In reply to doofus2:

      The problem is that even these more modest changes would still impact compatibility of existing programs. Most likely anyone still using Windows 7 isn't really worried about the alleged problems that later versions of Windows (and UWP in particular) are supposed to solve.

      • doofus2

        In reply to skane2600:

        "The problem is that even these more modest changes would still impact compatibility of existing programs."

        The idea is that the Win32 ISVs could fairly easily update their programs to the new system. That's not possible with WinRT. Existing/unmaintained programs would have to be in some sort of compatibility mode.

        • skane2600

          In reply to doofus2:

          It's hard to determine how easy it would be to update to a new system that's just a vague hypothetical idea. For, example, I have a program that requires being able to automate Office through scripting which doesn't use macros within Office or Office documents. It also requires access to information in a central Registry. I'd think any "safe" version of Windows would make it impossible. Besides many programs work fine but will never be updated.

    • hrlngrv

      In reply to doofus2:

      . . . It was destined to be DOA.

      I figure MSFT in 2015 didn't believe that. I figure MSFT believed dangling the prospect of 1 billion devices running Windows 10 in 2 to 3 years would be enough to attract developers. Problem is, MSFT believed developers learned nothing from the Windows 8/RT debacle. Sadly for MSFT, MSFT has trained developers to pass any MSFT pronouncements through skepticism filters. Also, from a developer's perspective if not as a simple exercise in logic, what apps would be equally in demand on phones, PCs and smart toasters? There could have been 1 billion devices running Windows 10 by late July 2018, but the only type of devices with several hundreds of millions of users would have been PCs, and the device type with by far the least need for UWP was PCs.

      IOW, the only way UWP would have mattered to developers is if Windows phones had been at least 200 million of those 1 billion devices. When MSFT killed off Windows phones, they killed off any need for UWP, though as many commenters here illustrate, nothing can kill off the hope for UWP.

      • doofus2

        In reply to hrlngrv:

        "I figure MSFT in 2015 didn't believe that."

        I'm referring to the entire WinRT effort that started in 2012 with Win8 (UWP is just WinRT10). I do agree that the WinRT system would only make sense if Windows Phone succeeded.

      • skane2600

        In reply to hrlngrv:

        I mostly agree, but MS was already on the road to UWP before 2015. If you look at their development timeline they started working on their "One Windows" approach at least back as far as the Windows 7 mobile days (whatever they were calling it). I think they have been and continue to be following Newton's First Law with respect to their strategy and so far no external force has acted on it.

        • hrlngrv

          In reply to skane2600:

          Inertia is a wonderful thing, and as long as people keep buying hundreds of millions of new PCs every year with Windows 10 preinstalled, MSFT can lull itself into a false sense of success believing it's due to UWP. The only force MSFT detects is friction, and I figure MSFT blames that on OEMs.

  13. funnyjokes

    I regularly visit your site and find a lot of interesting information. 

    Not only good posts but also great comments. 

    Thank you and look forward to your page growing stronger.

    flip diving

Leave a Reply