« Former Microsoft Employee #2: Nikhil Kamkolkar | Main | Geek Gear »

September 18, 2004

One Example of Why People Dislike Microsoft Software

Yesterday we had a group meeting. There was some food at the meeting, plus cake for a member of the team who was leaving to work on something else within Microsoft. It was scheduled from 2-5, but it wound down around 3:30. Which was just in time for the Server and Tools "Unwinder", which meant more free food if we bothered to walk to another building.

I didn't, however. Instead I spent 61 minutes and 35 seconds on the phone with helpdesk, trying to stop my computer's CPU from spiking up to 50% usage every 5 seconds.

As it happens, one of the presentations at the meeting was about the "IT Generalist" persona. Microsoft has started using "personas" when thinking about customers. This means picking various users of the products (developers, soccer moms, help desk technicians, etc) and creating a fake person of that type, complete with name, picture, marital status, hobbies, etc, etc. The idea is to crystallize these various users so you can really understand how they use Microsoft software, what they like and dislike, what the "pain points" are, and so on.

The IT Generalist is one such persona. In fact he (this one happens to be a he) is one of the more dissatisfied personas. There is not much public info on the specific personas, but Bob Muglia mentions the IT Generalist in this interview (read fast, or search for "IT Generalist"). As Bob puts it, the IT generalist is "a person who is literally a mile wide and an inch deep". OK, I don't think he meant the person literally has that width and depth, more like his computer knowledge has those characteristics. The IT generalist (we'll call him Joe, although that is not the name of the official IT Generalist persona -- which may be a trade secret, for all I know) is probably the only full-time computer support person at a company with 100 people or so, where technology is never noticed until it breaks, Joe is completely reactive and has no time to learn the software as well as he would like, and generally Joe gets no respect for anything he does.

Personas are actually a great way to understand our customers, and by the end of the presentation I was feeling real empathy for poor Joe as he goes about his daily thankless tasks. He probably gets paid less than I do too.

So anyway I go back to my office and my computer is still spiking its CPU usage, so I call the Microsoft helpdesk. It was actually pretty trivial to diagnose that the problem was that Windows automatic update was obsessively trying, and repeatedly failing, to install some update on my machine. What was a bit trickier was making it stop. The update was being pushed by the domain administrators, so neither I nor the helpdesk person had the ability to disable it. After various attempts (Microsoft helpdesk technicians can, if you authorize it, get access to your desktop remotely and try things directly, rather than instruct you), I finally had to reboot to safe mode, rename a directory, and then reboot. The CPU calmed down, although I guess the update remains uninstalled.

Anyway, after all this I started wondering what Joe the IT Generalist would have done in this situation (admittedly in this specific situation, of an update being pushed by a domain admin, Joe would be the domain admin and could probably disable it). The helpdesk technician at Microsoft was able to look up this problem in a knowledge base and get advice on how to solve it. Would Joe have access to that? Plus the helpdesk technician had an escalation path, eventually leading back to a Microsoft development team. Joe doesn't have any of that. He probably wouldn't have an hour to spend on this nonsense. And if the machine in question belonged to a senior partner at a law firm, say, Joe might be out on the street anyway if it took him an hour to fix it.

And that hour could have been much longer. Task Manager told me that the app that was hogging the CPU was called update.exe. Where was that coming from? The helpdesk guy had me do a full search of my hard drive looking for update.exe. Which is nice except I have a partial Longhorn source code enlistment on my machine, so it's got a lot of files there. And even then it found 8 different files called update.exe. Which one was it? Plus update.exe would run very briefly and then go aware for five seconds. LUCKILY, I work on Monad, and in Monad you can type

get-process | where {$_.Name -ilike "update*" } | pick Path

repeatedly, until you catch update.exe in the act, and then it tells you the path it was launched from (or you could just write it as one loop that exited once it got the answer, if you spent the 30 extra seconds to think about it). Without that, it might have taken much longer to diagnose what update.exe was (at first the guy thought it was adware).

OK, so what can Microsoft do about this? Someone (maybe Einstein, maybe not) once said "Insanity is doing the same thing over and over again and expecting a different result." Perhaps Microsoft should fix Windows Update so it isn't insane. We could improve Task Manager so it reveals the path of each executable, and maybe some information like whether it is signed, and also let users snapshot process information so you can catch briefly-running processes. That's all part of the basic ability to figure out what the heck is running on your computer, that Linux does better than Windows. Then you've got Microsoft's historical over-reliance on GUI admninistration tools and the assumption that things will work, not break, and all the other questionable design decisions Microsoft has made over the years. Yeesh.

For an hour I was living the life of an IT Generalist, and it was pretty scary. Microsoft has a long way to go to before Joe gets to sleep easy at night.

Posted by AdamBa at September 18, 2004 03:12 PM

Trackback Pings

TrackBack URL for this entry:


> We could improve Task Manager so it reveals the path of each executable

Yes, I've been waiting since the Windows 3.0 beta for this one. Talk about obvious, easy and never done...

Posted by: BillSaysThis at September 18, 2004 04:39 PM

Try ProcessExplorer from Sysinternals.com. It will show you the path of any running process including the command line parameters. You can even make it replace taskmgr on your machine. It even helps to find which processes have open handles into which files.
Joe IT Generalist shouldn't be without tools like this.

Posted by: Edward at September 18, 2004 06:27 PM

Thanks for the pointer. But unfortunately Joe doesn't necessarily have time and/or budget (Sysinternals stuff isn't free the way Joe would want to roll it out) to discover, deploy, and manage add-on utilities that aren't part of Windows.

Posted by: Adam Barr at September 18, 2004 10:20 PM

Not to mention that IT Joe would have to clear any new software installs with his eighteen bosses first...

Posted by: Noah at September 19, 2004 01:04 AM

Are not all IT Generalists proficient in the use of cdb? Try:

cdb -y \\symbols\symbols -pn update.exe -c "!peb; qd" | findstr "ImageFile:"

Posted by: Ziv Caspi at September 19, 2004 04:27 AM

Doesn't have time and/or budget to discover, deploy, and manage add-on utilities that aren't part of Windows? Yes he does, he better, that is the first step, he's quite the incompetent if he doesn't seek out or manage such. It is survival, as Antivirus/Security/Encryption/AntiSpam packages, Disk Imaging tools, OS Boot Managers, Data Recovery, Backup/Compression tools, Additional Networking, Monitoring and Remote Control toolsets, aren't apart of Windows. Some provided in additional Windows ecosystem packages, but hardly the all. Security is the biggest sore point, and most of those utilities lie outside the pure Windows rollout.

But Task Manager has long lacked needed information. Process Explorer 8.40 is must have toolset; third parties to the rescue, and at 250K zipped, easy to "deploy", just place on a network share, use when needed, if any concerns easy enough to ask Mark Russinovich. :)

Posted by: Christopher Coulter at September 19, 2004 09:03 AM

Check out AskStrider from MS Research. Definitely something that would be really useful for Joe IT Generalist, ideally shipping with Windows.


Posted by: Sean McLeod at September 19, 2004 09:28 AM

Christopher, in a sense you are correct. To be a good admin on Windows you have to know about all those areas you list, and go outside of Windows to get them.

However, it is unfair to Joe to label him incompetent. You have to understand more about Joe, and this is why the personas work so well. Joe is not a member of a team running support for an enterprise. In fact he may not even be formally trained in anything computer-related. A typical Joe might be a paralegal at a law firm who played with computers in his spare time, and six years ago he volunteered to help set up Internet access for the firm, or maybe installed a PBX, or gave some classes on using Word...and eventually he transitioned into being a full-time support person. Or more specifically THE full-time support person. There is little doubt that Joe WANTS to learn all those things and more, but he doesn't have time because he is the only person and he has to be so reactive.

In the talk yesterday they showed Joe's "datacenter". It was three racks in a corner, with all the network and phone equipment for the company. A whiteboard next to it listed the function of each machine. There were a lot of blinking lights, and Joe was the only one around who knew what any of them meant. If he even knew...which is one of Joe's problems: he doesn't know what he needs to know until he needs to know it. He probably can learn how to diagnose and fix a transient process that hogs the CPU. But until there is a user who has this problem, he may not know that it can occur, and he probably can't afford to spend the time learning about it.

The most important thing is that people at Microsoft don't just say, "Ha, the guy's a bozo, forget about him". We need to understand Joe and make his life easier. And Joe is just one persona out of many.

Posted by: Adam Barr at September 19, 2004 10:23 AM

Just to let you know some of those IT Joe's are IT Jill's.

And no... not all IT Generalists proficient in the use of cdb [as this Jill goes and google's it]

Posted by: Susan at September 19, 2004 12:39 PM

"Doesn't have time and/or budget to discover, deploy, and manage add-on utilities that aren't part of Windows? Yes he does, he better, that is the first step, he's quite the incompetent if he doesn't seek out or manage such."

Think a little smaller - where there isn't a full-time employee devoted to IT and there isn't an IT budget. What if this is a ~50 PC organization, and Joe is the appointed in-house techie in addition to his 'real' job in the Accounting department? Remember that when you get into the small biz space, you're dealing with mostly IT generalists who aren't full-time IT people, they're just lucky enough to be the most technologically astute person in the organization. Mind you, this Joe isn't being compensated any more for his IT duties - he's making the same salary he would if he only had his accounting duties . . . Granted, a good deal of his stress is caused by his management instead of MS, but you get the idea . . .

Posted by: Chad at September 19, 2004 01:24 PM

"Then you've got Microsoft's historical over-reliance on GUI admninistration tools"

Yeah! I've yet to find the GUI that has anything close to the expressive ability of a command line and a set of highly cohesive but uncoupled utilities. Hopefully monad will change this (although you guys really need to think about that name - does the word gonad mean nothing to you?).

Posted by: Andrew at September 19, 2004 09:11 PM

Chad, absolutely the person who administers a small organization as a part-time job is important to Microsoft. But actually that is a different persona from Joe who administers a medium-size organization, and Joe is different from the people who administer larger organizations. The personas are pretty targeted. And Susan, they are also distributed across genders, race, age, hair color, etc. to avoid reinforcing stereotypes. The IT Generalist just happens to be male.

As for Monad/Gonad...*I* thought of that, but not too many other people on the team seem to have. Anyway that's just the code name, it won't ship under that name.

Posted by: Adam Barr at September 19, 2004 09:57 PM

I see this more as a question of “persona” definitions, mere semantics. IT Generalist as part-time paralegal and Network Admin on the flipside? A part-timer is more a Coordinator of sorts. Why trust critical infrastructure, even at under 50 employee companies, to a “part-timer”. If they can’t spare a specific experienced IT guy, then outsource such, or hire third parties, as such tech is already easily commoditized.

Put it this way, would you want some guy who juggles two or three jobs and may not have all the required knowledge to be your Doctor? Would you take legal advice from some guy that only practices law part-time, in dealing with an issue that requires specialized knowledge and day-to-day follow-up? Would you get on a plane, where the pilot is not sure what all those blinking lights mean?

Your “part-timer persona” should have no place running anything, helping out yes, but being in charge? No. The company that cuts corners here is doomed. It is not so much that Joe is purely incompetent, but rather that he is not fully competent, in an area that demands full competence.

Anyways, I am talking perfect theory, but reality might, sadly, dovetail with your outcome. :)

Posted by: Christopher Coulter at September 20, 2004 02:42 AM

To clarify: Joe the IT Generalist is full-time doing support, but he is the only one at his company doing it (or maybe he has one assistant). There is a separate persona for a) the part-time person who supports a company with 5 computers (say), and b) the member of a larger staff that supports a larger company.

I mentioned the paralegal because in surveys Microsoft has done, it turns out that many of the Joes (and Jills) transitioned from other jobs within the company. But at this point they are full-time on support and may have been for years.

Posted by: Adam Barr at September 20, 2004 08:44 AM

Only so now, full-time, but formerly in another field, and had to earn his stripes on the job, and is for the most part, the only guy on the job? Doctor in training, student pilot, entry-level lawyer; still not fully competent. Regular professions are not approached the way IT is, which is half the problem, more an industry issue, but anything MSFT can to do ease that burden is great news by me. Congrats on "triple" btw. :)

Posted by: Christopher Coulter at September 23, 2004 03:49 PM

I manage CAD applications, not IT system/network, and the change to Task Manager that would help me most would be better info in the applications>status column.
I often have users that see Application Status "Not Responding" and interpret it as "crashed". With CAD modelling and rendering usually it really means "I'm too busy doing what you requested to respond".
The user then terminates the application and screams when waiting will let the application complete and "respond". A bit more info other than "Running" or "Not Responding" would eliminate many calls.

Posted by: Robin Capper at October 28, 2004 02:13 PM