Sunday, June 7, 2015

Windows 10 or why I hate "Modern" apps

I've been testing out Windows 10 (never mind asking where 9 went) for a few months now. The good news is that it's fast and works with any computer that will run Windows 7 (and probably most that run XP). But with Microsoft there's always bad news. In the case of Win10, the bad news is they're trying to bring us kicking and screaming into the era of "modern" apps whether we like it or not. They're not so subtle strategy is to give the operating system away. Already most owners of computers running Win7/8 have found an icon in their system tray urging you to reserve your copy of Win10. You can expect the pressure from MS to increase as rollout time approaches.

Anyone who's seen Win8 will recognize Win10. It starts with the same stupid, useless lock screen. Unlike 8, it drops into the familiar desktop after login, and there in it's expected place is a Start button, but it doesn't bring up the classic Start menu we've been used to since Win95. Instead, the menu is a hybrid of the Win8 start screen and a dumbed down version of classic start. The program list is rudimentary and can't be user modified. To the right of that list is an area where you can place tiles. The resultant Start menu is neither fish nor fowl and unsatisfactory to either a confirmed desktop user or a tablet/phone user. I installed "Classic Shell" which returns a Win7 style menu; however, it can't load a list of "modern" apps in Win10 like it does in Win8.

MS introduced "modern" apps with Win8 (initially called "Metro" apps). Pretty much the first thing that everyone who got Win8 did (after installing a program like Classic Shell to restore the Start menu) was to get rid of as many "modern" apps as they could. Why? For one thing, in Win8, "modern" apps had to run full screen, not windowed as we've been used to since at least Win3. Win10, thankfully, corrects this. What it doesn't correct is the inherent slowness of "modern" apps. Understanding why they're slow requires a little lesson in computer history.

In the beginning, programmers had to code everything their computer did. This included handling bit-by-bit how the computer talked to the world. This was hugely inefficient, so the industry coded a set of low-level programs that handled things like booting the computer up, finding what was attached to it and handling how the computer talked to peripherals in a standard way. This was BIOS or basic input/output system. And basic it was. So on top of the BIOS the manufacturers built the OS or operating system which handled yet more of the operations of the computer. DOS was an example of this type of operating system. It would let a programmer talk to disks, printers, monitors, etc. in a standard way that minimized the work, but they didn't handle graphics well. Programmers still had to do all the work of creating graphics themselves. Individuals and companies created sets of standard routines that handled graphics, but each of these solutions was proprietary. Xerox created a solution to this problem by loading a set of standard graphics routines on top of the operating system so any programmer could access them. This was the GUI or graphical operating system. Because it is larger and more complex than earlier operating systems, it is slower, but the loss of speed is made up for by the ease of writing programs for it. Jobs stole the idea from Xerox for the Mac and Gates stole it from Apple for Windows.

The problem with the GUI operating system is it only runs on one family of computer chips. So when Apple moved from the Motorola 68000 processors to the Power PC processors, they had to rewrite the operating system and software that worked on one type of machine didn't work on the other. They did it again when they moved to Intel processors making orphans of yet another generation or their computers. When Apple made the IPad which uses a different processor, they wrote an entirely new operating system for that. MS is trying to get around this problem with their "modern" apps. They will run on any machine with the Win8 or Win10 operating system even though they use a variety of processors. To do this, they set up an idealized processor and build an emulator for each different processor that there operating system runs on. An emulator is software that takes the commands given to the idealized processor and translates them into commands to the actual processor. In short, it's yet another layer of software that has to be loaded and worked through, which is why the "modern" apps load slowly (the emulator has to load before the app can) and runs slowly. And to make matters worse, "modern apps" don't die when you stop them, they keep running in the background taking up memory and processor power. A native Windows program will always run faster than a "modern" app. In spite of this, MS wants to migrate everything to "modern" apps.

So when you get Win10, it will come with a passel of "modern" apps. With each iteration of the operating system that has loaded on my test machine, the number of apps that you can uninstall has decreased and each time the OS updates, it reinstalls all the apps whether or not you've deleted them and it makes them the default programs. It also deletes your antivirus program and installs its own.

And if this wasn't enough, it tries to force you to create a Microsoft account so that it can store tons of information about you. It also makes their cloud storage as the default place to store new files, so you might not be able to access them if you're not online. If you manage to figure out how to create a local account, it won't let you access the Windows Store. On the other hand, since I really didn't want to load any "modern" apps, not being able to access the Windows Store is not a problem for me.

If you haven't guessed, I'm happy with Win7 and have no intention of updating to Win10. At some point, updates for Win7 will cease as they have for XP. Then it may be time to consider Linux, but not yet. Linux is still too geeky and too likely to fail. I keep hoping it will finally stabilize into a unified, reliable operating system, but it hasn't yet.

If you feel you must update to Win10, I recommend two programs: Classic Shell gives you back a useful Start menu, and Unlocker gives you a tool that makes it possible to delete "modern" apps in spite of MS's attempts to make it impossible to do so.