Sunday, April 12, 2015

I Hate Microsoft

[Written a long time ago; some updates in []'s.] 

If your Windows computer has stopped responding to your commands, you have probably entered: *** The Microsoft Zone ***, a horrifying realm beyond space and time, where bug-choked software derails all your efforts to get your computer to do your bidding.

In my paranoid fantasies the world of Microsoft is an adversarial video game where Bill Gates scores points by wasting my time –  putting my computer into a coma, destroying my files, letting in viruses, and so on – while I score points when I manage to get anything done in spite of the software landmines he has loaded my computer with.

I have a number of theories about why Microsoft software is so bad, most of them concocted during time spent in what I call the Microsoft Zone, i.e., waiting for my computer to come out of a nonresponsive coma. Counting crashing, rebooting, comas, and the like, I would guess I spend ½ hour to an hour of each working day in “the Zone”, so there are plenty of opportunities to theorize. One theory is the Porsche/Cocaine/Stock Option theory: that Microsoft software developers spend a good part of every day snorting coke in the parking lot while sitting in the Porsches they bought with their ill-gotten stock option gains, and that this explains the quality of the code they produce. On occasion I have seen Microsoft people interviewed  on TV, and they looked less like coke-addled young yuppies than middle-aged, pudgy, balding, engineers (not unlike me, if truth be told), so I don’t give this theory too much credence, though it can be satisfying to revisit when I am deep in “the Zone”, as for example when I am waiting to see whether the only copy of a document I have been working on for weeks has just been destroyed in an application freezeup. Of course it is possible that these middle-aged engineers are just a later stage in the life cycle of the coke-addled stock option millionaire, and that they burned out whatever programming talent they had back in the day, when their Porsches were new and coke was still fashionable…

            Other theories for Microsoft software quality relate to Bill Gates personally. I will be the first to admit great admiration for the high philanthropic purposes to which the Bill and Melinda Gates Foundation has directed its considerable resources: curing malaria and what not. However this does not excuse the fact that the money was generated by choking the computer revolution to death in its cradle with bad software.

As I survey the range of Microsoft software products I interact with daily – and are a source of daily frustration – I suppose I must, in fairness, distinguish between Office and Windows. Office has a fair amount of functionality, and my complaints with those applications often revolve around pushing them to their admittedly rather narrow limits where the slapdash quality control becomes apparent. A second source of unreliability in Office may be the underlying Windows platform itself. Which brings us to the real villain of the Microsoft world, and the Bill Gates psychology theory. How is it that Windows, the core of the Microsoft empire, has consistently failed to innovate or improve through many developer-centuries of work? If we go back to the origin of Microsoft, we see a young Bill Gates getting enormous financial positive reinforcement for the relatively simple task of creating a stripped-down UNIX-like operating system that could fit on a personal computer. Its as if you took the gears off a racing bicycle and announced to the world “Look! I have invented the first gearless bike!”, and the world not only paid you attention but, as a result of some odd momentary market glitch, gave you a billion dollars. You might be excused in such circumstances for believing yourself to be a great inventor. And therein, perhaps, lies the genesis of the peculiar Microsoft psychology: thinking you are innovative when you perpetually trail the competition by decades; thinking you are great engineers and yet turning out version after version of unstable and poorly designed software; thinking you are giving your customers what they want while never bothering to check (think Clippie…), and so on. Incredibly, when Bill first stepped down as chief executive of MSFT, he retained the title of Chief Software Architect, suggesting he really sees himself as this high-powered software engineer. This would be comical if it weren’t so sad. This syndrome, of people getting an inflated sense of their own abilities as a result of early fortuitious windfalls, I call “being a prisoner of one’s own success”. Unfortunately for me, I am the one who is a prisoner of Bill’s success, doomed to eat his dogfood. (“Eating our own dogfood” was a surprisingly candid expression among MSFT engineers, referring to their practice of being users of the systems they were developing. Unfortunately for the rest of us, it turns out they like the taste of dogfood.)

Some may accuse me of self-indulgent whining. I plead guilty to the charge of whining, but not self-indulgence; mine is the cry of the unjustly persecuted, my grievances are real. As far as the whining, I try to ration myself so that I spend no more time whining about Microsoft than I do actually in the Microsoft Zone – ideally the same time, though I admit since I started this I am starting to spend time complaining that I could be using for other purposes.

Contrary to what some may guess, I am not a clueless newbie: I have a Ph.D. in Computer Science and a  job title [at the time this was written] of Vice-President of IT and Informatics at a biotechnology startup. This means I know, or should know, a little about computers. My first programs were on punchcards (google it). I was on the internet when it was still the Arpanet and connected only half a dozen university computer science departments. I have worked on IBM OS 360, VMS, Lisp Machines, Unices of various flavors, Macs and any number of generations of that misbegotten software monstrosity called Windows.  My complaints are not because I know nothing but because I know better: there is no excuse for software this unreliable, particularly for a company that has the resources and development years of MS at its disposal.

            Nor am I MS-naïve. I may not be the most extreme power-user (I think of myself more as a powerless user, hence this rant) but I use most of Office on a daily basis; I have edited a book in Word; I routinely attempt to manipulate 100MB spreadsheets in Excel (not recommended);  I once attempted to coordinate activities of a 200-person R&D organization using MS Project (not recommended), have several times attempted to do something useful with MS Access (without success), and have lately become an occasional VisualStudio/C#/.NET/SQL Server developer. Moreover my organization uses less well known MS products such as Commerce Server (for e-commerce), CRM (for the sales organization) and NAVision (for financials), and I have oversight responsibility for the interconnections of these. So I feel like I know something about the MS product line.

Almost useful

            You may wonder why I use MS software if I think it is so bad. The answer is that I inhabit a world of corporate standards where having a common standard, even a bad one, is better than having a Tower of software Babel where people exchange incompatible documents. Dislodging Microsoft’s hold on my companies’ systems would be an expensive proposition, and one that even I will admit is rarely a justifiable business priority. Thus I am, like Howard the Duck, trapped in a world I never made. And this, of course, is what Microsoft counts on: inertia and standardization rather than quality. Who cares about quality when you control the desktop? That was and is the strategy, and it succeeds; Microsoft control of the desktop remains essentially unchallenged despite a breathtaking contempt for quality control and a what-me-worry attitude towards system security. It represents the triumph of marketing muscle over engineering prowess: why bother debugging the code when your customers will buy it anyway? They have to. That should be the motto of the firm: “Our customers have no choice”.

I remember tube TVs and stereos that had to warm up for a minute or so before they reached the temperature that allowed electrons to flow and let them do their thing. Then transistors came along and we had appliances that turned on immediately, at the touch of a button. Then Microsoft came along and undid that revolution with transistor-based devices that take minutes to boot up, come out of hibernation or even resume after a brief standby. The limitation this time is not technology but competence. The MS folk never seem to get that the computer is an appliance. It is supposed to do what the user wants, when the user asks, not when the guys in Redmond think the user ought to get it. Why is that hard to understand?

Every keystroke must be saved to disk. I am a compulsive ^S user. Type 5 key strokes, then ^S. Everything after the last ^S is at risk, vulnerable to becoming Bill points. Not that ^S is any guarantee – I have had plenty of files trashed on disk, or things supposedly saved that weren’t really saved. But without ^S you are really asking for trouble. At least at the end of every sentence, if you value your prose. Don’t say I didn’t warn you. Office Applications have AutoSave, which is supposed to back up your file to the disk at regular intervals and protect you in case of a crash. If MS can’t be trusted to write apps that don’t crash, seize up, go comatose, etc., at astonishingly frequent intervals, then how on earth can they be trusted to back up your file? You are supposed to trust them to protect you from their own incompetence. Well, not surprisingly, sometimes it works, sometimes it doesn’t. One time in 20, perhaps, a crash is nonrecoverable. It is best to scatter copies of high value files in multiple locations on different computers.

Excel performance on large complex spreadsheets is unpredictable. Sometimes clearing a bunch of rows can take 20 minutes; sometimes recomputing formulas will take 30 seconds, sometimes 3 minutes (on the same spreadsheet!). Part of the adventure of Microsoft is never having any idea when your computer will suddenly become unavailable for useful work for an unpredictable amount of time.

At the core of spreadsheets is the problem of efficient incremental computing. There is a body of computer science research on this, including seminal results such as the Rete algorithm and Scott Hudson’s PhD thesis. I don’t know if MS programmers have thought much about it. Excel does not seem to have the smarts to figure out which formulas need recomputing based on which data items changed – it recomputes everything, which is easy on the programmer, tough on the user. Typical Microsoft tradeoff. Our customers have no choice! (Did post office workers become nicer when FedEx started making inroads on their monopoly? Maybe Google and Apple can teach MS some manners.)[Written ~2008; Google and Apple have indeed ratcheted up the competition in the interim, though not clear that MSFT has become customer-focused in response.]

I view [the late] Steve Jobs as a secondary villain in the Microsoft tragedy, since he has functioned over the years as a Gates-enabler, by stubbornly forcing Apple to focus solely on the high end of the consumer market, leaving Microsoft unchallenged access to the lion’s share. Apple, with its vastly superior software, has always had the edge in technology; why could they never translate that into market dominance? [This has changed.] Part of the answer is that the need for standardization in the business world creates an enormous inertia and provides a huge advantage to whoever gets there first, regardless of quality. However, economics also plays a part. Why did Apple never target its superior operating system at commodity Intel machines, the cheapest and most widely used computing platform? Why did they never attempt to compete with MS on price, so that consumers could have a cost-neutral choice of technologies? Instead they linked their software to an expensive (though admittedly innovative) proprietary hardware platform. It is almost as if, despite their vaunted technical prowess, they were afraid to really go head to head with MS. So they ended up with a 5% market share and a sense of aggrieved superiority. Meanwhile, the huddled masses they might have saved ended up at the mercy of their Microsoft tormentors. In my more paranoid moments I wonder if Gates could have been slipping Jobs a few billion on the side to pull his punches. (I often have the same thought about the Democrats, who often act like that team that played against the Harlem Globetrotters, or Colmes of Hannity and Colmes – a foil that exists to lose so that others may win.)

Random Notes from the Zone

Windows security has created job opportunities for legions of Eastern European identity thieves.

An essential tool for any Microsoft user is the task manager, brought up by the rather arcane combination of keystrokes ctrl/alt/del, chosen long ago by someone who wanted a “chord” that was unlikely to occur by accident. The task manager can help you decide whether your comatose computer is likely to return from the Microsoft Zone or not. For example, if you sort processes by CPU, and the process you last interacted with before entering the “Zone”  is the top process, it is clearly doing something, and there is a chance it may eventually stop doing it and return control of your computer to you. If it shows a low level of activity, it is probably a zombie, and should be killed be any means necessary: first by End Process, repeated as many times as it takes to convince you that it will not work, and then by rebooting.

Here’s a new phenotype: Excel is stuck at 5% recomputing, but the CPU is alternating between the two cores!

After closing the lid on the thinkpad and reopening, Windows is confused: the screen is blank, but it acts like it is on. Will it force me to reboot? By careful juggling of settings and opening and closing the list I trick it into coming back to life.

Nonlinear progress indicators: don’t you love those %complete things that go
:….5%......10%......15%.....20%...........................................................................................................................................................................................................................................................................................................................................................................................................................25%..........................................: Microsoft uses Einsteinian curved time.

Sometimes doubleclicking a folder icon opens the folder. Other times it just sits there. The outer frame of the Windows explorer disappears, the window won’t refresh. Process window shows nothing. I can right click on a folder to get a menu, but selecting Open does nothing. This is the core of the operating system!! Rotten to the core.

Moments later I get a frameless popup window with a red X saying “You cannot drop an item onto a button on the taskbar. However if you drag the item over a button without releasing the mouse button, the window will open after a moment, allowing you to drop the item inside the winow.” Underneath is a reassuring-looking “OK” button, which does nothing when I click it. This windowless text stays above all other windows as I close them. The toolbar is nonresponsive, it gives a little “ding” whenever I click on an icon. Probably waiting for me to dismiss the window, which I can’t. Now what? Reboot? First try ctrl/alt/del. It shows explorer consuming 36-46% of CPU. This could be a known (but, of course, not fixed) bug in a recent Windows update in which explorer runs amok. 20 minutes later it still consuming 40% of CPU, clearly not coming back. OK Bill: you got me this time. Reboot. Can I at least do a graceful shutdown and save my files? No: some file save dialog box pops up invisibly, locks everything, can’t be dismissed. Hard shutdown with the power button (I call this "rebooting with a ball-peen hammer"), all open files at risk. 100 points for Bill. 15 minute penalty to get back to working state.

Bill must be so happy. I just lost 2 hours work on an Excel crash. It went into a coma, I had to kill it. When I got back to my xls, it was 2 hours out of date.

12/28/07. One of the cuter tricks my laptop sometimes plays is when I close the lid, instead of going into standby mode as usual, it waits until sometime later when I open the lid again, and then goes into standby. So not only do I waste power when I should have been on standby, but I have to wait to go into standby and out of it. 10 points for Bill. Also the temperature rises dangerously when this happens in a backback -- could fry the laptop, or start a fire on an airplane...
My father sometimes looks at my desktop and says look at all the windows you have open; no wonder your computer is acting strange. Multitasking is my normal mode of operation. I typically have 8-10 applications open at a time, each with potentially 4-10 documents. Some of this multitasking is an adaptation to the unreliability of Windows. When one application freezes, I will switch to an unfrozen one, if I can, so I can be productive in spite of Bill.

Word freezes up while doing a “background save” – hey idiots, don’t you know what “background” means? It means you aren’t supposed to bother me while you do it. Freezing the machine kind of violates the spirit of that, don’t you think?

When I have too many windows open, Windows will refuse to allocate any more – won’t pop up a menu, open a Taskbar group, nothing, just blinks when I ask it to, action pretty much grinds to a halt until I kill some processes. Fortunately the Task Manager can usually be conjured with crtl/alt/del in that situation, so I am not completely helpless. The trick is recognizing that this is what is happening and not one of the innumerable other reasons Windows might become nonresponsive.

Sometimes when I come out of standby there is 30 seconds or more of windows popping up on top of each other, resizing, rearranging, kind of like a dog shaking itself after a swim. Its almost cute, in a way, until you think that Macs just turn on. Period. Press button, computer on. As simple as that. Suddenly its not cute anymore, but depressingly sad.

1/24/08. A bad day in the Microsoft Zone. Checked my mail before going to work – stupid thing to do. Explorer put up a borderless uncancellable window, had to reboot. 15 minutes lost.

Then an Excel spreadsheet that shouldn’t have had any links wanted to update links at startup. I tried to delete the links through Edit Links, but the delete button, though active, doesn’t do anything. I searched for and removed all references to the other spreadsheet in formulas. Link is still there. Googled, found article  saying “One of Excel’s strengths is its ability to get information by linking to other data sources, including other workbooks. However, sometimes those connections can cause problems, especially when they are hidden or deleted. To its credit, Microsoft recognized the problem and created a Delete Links Add-In wizard to locate and delete links.” Excuse me? To its credit? Is it to its credit that they eventually occasional notice one of the bugs in their bug-infested applications? And then instead of fixing the application they provide an Add-In. Charming. 

After installing the Delete Links Wizard I restart Excel. The Wizard is no longer invocable even though it shows as installed. I have to deinstall and reinstall. Personal.xls is not evident; Unhide is greyed out, when I hide and unhide only the current workbook shows. I click OK. Nothing happens. End up fixing the problem by disabling autoupdate of links on open; the link cannot be excorcised.

1/31/2008. My family became mixed yesterday in yet another way: my wife got a Mac. She has  always found Windows machines too frustrating to use, and has felt cut off from the benefits of computing and the Internet as a result. I was curious as to whether she was cyberphobic generally, or simply Windows-phobic. I wanted to see how far she could get on her own with the new Mac, especially since most new Windows machines require 8-10 hours of tech support calls to get into what passes for a functional state. I had to leave the house as she was unpacking it, and when I got back she was up and running, needing only a network password from me. I gave her a few tips – “the red ball closes the program”—but she is already (after 1 hour) functioning better than she ever did on Windows. So the verdict is definitely Windows-phobic, not cyber-phobic. Her inability to tolerate Windows actually reflects a refined esthetic sensibility rather than some kind of impaired skill-set. Conversely, those of us who, grudgingly or not, consent to live in the Windows prison, are perhaps, by virtue of our high pain thresholds, acting as enablers of Microsoft incompetence.

            The Mac comes out of the box with its battery fully-charged. I have never before seen an electronic product that shipped with the battery charged. That small detail speaks volumes for their customer focus. It has a Sleep indicator light that waxes and wanes in intensity with a rhythm like breathing. Silly, really, and probably a waste of energy. I assume they want the owner to view the box as a sort of pet.

            I am jealous, watching her interact with a computer with delight instead of head-banging frustration. I feel like a citizen (or inmate) of East Berlin during the Cold War, peering over the wall at the glamorous life on the other side, so close, and yet so unattainable. 

No comments:

Post a Comment