Service & Support (2001)

Prologue

The state of service and support in the contemporary computer industry is beyond dismal; it is beyond pathetic; frankly, it would be better to have no service and support than to have what passes as service and support today. At least then users would not have to waste their time laboring under the false hope that either service or support can be obtained. As one who develops software, I should be accustomed to this by now, but I simply cannot bring myself to accept truths so ugly. Let me lay out my case, dear readers, and perhaps some of you will sympathize.

I think I first noticed that companies were no longer trying right about the time I got into developing serious software for Microsoft Windows. I had fooled around a bit with Windows 286/386 back in 1989, but those versions of Windows were still too limited to be of much use, and the market had yet to take off. It was in 1990, after the release of Windows 3.0, that I started taking Windows development seriously, and it was then I discovered how positively hostile to developers Microsoft was. Thus, I will start my story there because I believe it was a turning point at which the industry rejected the customer-care standards to which pretty much every other industry seems committed.

Windows: Defining the (Low) Standard

As I believe the history of computing in general demonstrates, the success or failure of a particular platform has much less to do with the details thereof than it does with the applications available for it. The Next computer, for example, was a very nice system, but it never really took off because there was little software available for it. Conversely, even though the Amiga line of computers have frequently been out of production, and in the midst of legal wrangling for years, that hasn't stopped them from being sought after intently for the incredible power of the Video Toaster and other such killer applications. One would think, then, that Microsoft would want to make it as easy as possible for developers to create good software for Windows.

At the time Windows 3.0 was released, one's only serious options for developing software for it were Microsoft's own C/C++ development environment (Microsoft C version 7.0 if memory serves) or Borland's C/C++ for Windows, which was by far the superior product in terms of ease of use while being simultaneously the far inferior product in terms of always being one step behind Microsoft. The programmers at the company for which I was then working (Megatronics of Grand Rapids, MI) bit the bullet and chose functionality over ease of use and suffered the horrors of Microsoft's awful "Programmer's WorkBench" or PWB for short.

For what it's worth, virtually every programmer I've ever met who suffered that awful thing prefers "Programmer's Waste Basket" as an expansion of its acronym. This is because it was user-hostile to a degree such that it might arguably be the most efficient time- and effort-wasting development environment ever produced. Despite its complete contempt for users, the Microsoft C/C++ development environment (MSC) cost something like $400 per copy, which was even more money at the time than it is today. To make matters worse, the C/C++ development environment was only the tip of the financial iceberg, for it supported the development of only DOS applications. To develop software for Windows required that one shell out roughly $400 more for the Windows Software Development Kit (SDK). For a moderate to large company, $800 per programmer is perhaps no big deal, but for any small firm or consultant, that's a non-trivial chunk of change. Still, such is the price of developing Windows applications, right?

Wrong. As we soon discovered, having the tools necessary to develop for Windows was almost completely useless for the simple reason that Windows itself was itself pure, unadulterated crap. Again and again we found our efforts to accomplish even the very simplest of tasks to be stymied, no matter how many "How To Program Windows" books we read. The reason? Because the Windows API and Windows controls were so inexcusably buggy that one's value as a Windows programmer had a lot more to do with knowledge of obscure problems, and their still more obscure workarounds, than it did any knowledge of algorithms, good programming practices, etc. And at the time there was no Microsoft Developer's Network (MSDN), as there is today. There was no knowledgebase freely available on the web. One's only option for support from Microsoft was the infamous Microsoft On-Line, a service for which one paid a mere $2,000 - 2,500 per year plus $50 per hour for connect time.

But surely one didn't need such an expensive service to develop for Windows, right? Well, I suppose if you have all the time in the world to figure out how to work around some problem, then perhaps not. But to provide an example that I still remember clearly, I was having trouble getting a single-line edit control to serve a given purpose. When I logged on to Microsoft On-line, I was horrified to find literally hundreds of known issues with single-line edit controls. I was able to find and implement a workaround within roughly an hour's worth of searching, which cost my company a mere $100 in connect time, to avoid a problem of Microsoft's, not mine.

Fortunately, Borland's tools leapfrogged ahead of Microsoft's by such a degree that Microsoft simply could not afford to sit still. The results were that Microsoft Visual C++ was eventually born, MSDN was created, and much of what developers had to pay through the nose for in the past is now freely available. Back in those heady, early days of Windows, though, your lot was pure hell as a Windows developer.

So why is this relevant? It is relevant because while some of Microsoft's tools and other offerings have improved, their overall approach to support has taken an insidious turn, one that other companies now seem to have begun adopting across the board. I believe it to be insidious because it (1) allows companies to take little (if any) responsibility for problems with their products, and (2) forces a "replace rather than repair" mentality upon us all, which is surely good neither for pocketbooks nor our environment as a whole.

Windows Redux: Pointing Fingers

Microsoft has gone to great (and sometimes illegal) lengths to ensure that a copy of Windows is bundled with as many new PCs as possible. As a result, virtually every computer vendor supplies a copy of the latest version of Windows with each system purchased. What is insidious about this is that the version of Windows supplied is an OEM version. That is, the computer vendor pays Microsoft a certain fee for each copy of Windows included with their machines, which is essentially identical to the version of Windows that one can buy at the local store. The main difference rears its ugly head when someone has trouble and needs help.

Let me give you a recent example to illustrate what I mean. I bought a Gateway laptop in the recent past, and it came pre-loaded with Microsoft Windows Millennium Edition (WinME). When my system arrived, I installed my wireless network PC card and proceeded to transfer files from my old laptop to the new one. When I rebooted, I got a rather odd surprise: at startup WinME was opening a Windows Explorer window for each network drive I had mapped. Win3.x didn't do this, and neither did Win9x. For that matter, none of the versions of Windows NT I'd ever used had done that either. WinME is only version of the OS that does this in my experience. I figured it must be something Microsoft added to try to make our lives easier. As an aside, virtually every time Microsoft tries to make life easier, they succeed only in making it more difficult for all but the most incorrigibly ignorant.

I looked around in all of the various system-setting locations with which I was familiar without finding any way to turn off this "feature". Well, I then figured that since I had just received my brand new computer, I would use this issue to test the technical support. Gateway has some pretty neat support features, really, so I was able to be connected to a support representative very quickly. Unfortunately, he told me that this issue would require intimate knowledge of WinME, knowledge of the sort to which Gateway had no access. In other words, this was a problem with Windows, and I would simply have to call Microsoft.

That seems reasonable, doesn't it? It did to me too, so I called Microsoft; after all, it's their product, and part of the cost of my system sale was money paid to Microsoft for the license to run it. Microsoft's answer was what I've now come to expect: the copy of Windows was purchased from a computer vendor, so Microsoft will not support it. According to Microsoft, the computer vendor is required to provide the support instead. To put it simply, then, the computer vendor points the finger at Microsoft, while Microsoft points the finger at the computer vendor. After going back and forth several times, searching the knowledgebase, and taking every possible step available to me without paying a fee, I came up empty. To Microsoft's credit, they did stress that a support engineer would be perfectly happy to help me with my problem—if I was willing to cough up $195 for a service incident.

It wouldn't be such a big deal, really, except that because of the inexcusably stupid way Windows handles the querying of network resources, each of those Windows Explorer windows takes up to 15 seconds to appear on my laptop. In other words, after shelling out all the money for a 1 GHz. Pentium III CPU, I get to sit around staring at the desktop unable to do much of anything until roughly a 45-second period has elapsed (I have three mapped network drives), after all the normal rigmarole of booting up is complete. I suppose I might be able to solve this "problem" if I were willing to spend $195, but for that kind of money, I guess I'll just wait and grit my teeth.

The Conspiracy Grows

I've come to expect this kind of crap from Microsoft. Windows crashing? Microsoft virtually always blames the video driver first. The video card manufacturer, of course, will blame Microsoft. Your Unreal Tournament (UT) server's pings go through the roof every time a map changes? Microsoft blames Epic for the problem, whereas—yes, you guessed it—Epic blames Microsoft's TCP/IP stack implementation in Windows 2000. This approach to service and support is utterly inexcusable.

Why, you ask? Well, consider an example. Let's say you buy a car and trouble ensues with the transmission. When you take it to your dealer for service, is it reasonable for him to say that since the transmission was made by another company, you'll have to talk to them? The obvious answer is "no". Heck, we have laws on the books to prevent buyers from getting screwed by car dealers along such lines. Why is the situation so different for computers? Customers don't really care who fixes it, I suspect; what they care is that somebody will fix it. This wouldn't irritate me as much as it does except for the fact that it's spreading everywhere.

For example, as I describe in more detail elsewhere, I had trouble getting an Epson PhotoPC 3000Z digital camera to work with an ASUS P3V4X motherboard. I've since chased that problem across a total of three motherboards. In each case, the same pattern holds: (1) Epson blames the chipset/motherboard, (2) the chipset vendor blames the camera/motherboard, and (3) the motherboard vendor blames the chipset/camera.

I have seen this classic pattern again and again in the computing industry. I'm writing this today because, as I said, it's spreading. The monitor for my computer is a 21" Dell 1626, which is really an OEM version of a Sony Trinitron monitor. Over the last couple of weeks (just a few months after the 3-year warranty has expired, naturally), it has begun to be very flaky upon powering up. Portions of the image oscillate in the horizontal direction so severely that it's literally impossible to use until I've fiddled with the refresh rate, resolution, etc. for as long as 5 - 10 minutes. Since it took even longer today, I figured I had better start making some calls.

Because the monitor was purchased originally from Dell, I started with them. Not surprisingly, the Dell service representative told me it was an OEM version of a Sony Trinitron monitor and that, as such, I had to call Sony for the location of the authorized Sony service center nearest me. Thus, I eventually found the right telephone number (after talking to three different people at Sony), and managed to contact Sony customer service for their computer products. Unfortunately I was told that because my monitor was an OEM version with the Dell name on it, no Sony service center would work on it. They are simply not authorized to work on anything other than authentic Sony monitors. Thus, I should call Dell and explain this, after which they will surely help me out.

To make my already ridiculous story short, I ended up speaking with both Dell and Sony twice more before I had reached a critical impasse (and had wasted 2.5 hours of my time on hold, I might add). Eventually, supervisory personnel from both companies admitted to me over the telephone that I was screwed; their respective companies wouldn't fix it, and if the other company wouldn't, then I was just out of luck. I was told by both to try to call some local computer repair shop. I did make such a call, and to their credit Best Buy will repair the monitor; it will take roughly three weeks or more to do so, during which time they will neither provide a loaner nor rent one to me, but they do claim to be able to fix it. Interestingly enough, the Best Buy representative told me that they will simply ship the monitor back either to Sony or to Dell for repairs; I'm half tempted to go that route just to see how it is that they pull off such a Herculean feat.

NB: Since the time of the original writing, I've had the monitor serviced by a local, electronics repair company. They weren't able to fix the problem completely, though they have rendered it largely usable. The reason they couldn't fix the problem completely, incidentally, is because one of the custom, replacement chips, which had to be ordered from Sony, seems to be defective. And though the replacement chip seems clearly to be defective—yes, you guessed it—Sony will neither provide support for the replacement chip nor replace it with another. The most charitable thing I can say of Sony is that they're consistent.

Epilogue

This is a "brilliant" step forward in customer service and support, isn't it? Company A needs only to buy the product from company B to eliminate all support costs. Whenever a problem arises A can point to B, and B can point to A. The end result is that neither the company who built the product, nor the company who sold the product take any responsibility for dealing with it. The user is stuck trying to find some third party or simply replacing the item. In the case of my monitor, I use it much of the day every day; I cannot be without it for three weeks. My only choice, it seems, would be to buy a monitor to use while my monitor is getting fixed—but, then, what's the point of getting my monitor fixed? The pressure to throw this one away and buy a new one is incredible.

Here's my question: why are we accepting this kind of crap from vendors? Why is it that we simply endure this kind of customer-hostile behavior? The only answer to which I've come is that we have no choice. That is, if we're going to use computers, then we're stuck in this situation because all of the vendors seem to be catching on to how they can avoid ever providing service and support.

To all computer hardware and software vendors, and to any other company in any other market that has begun to join this ridiculous conspiracy to avoid responsibility, I say this: I will happily pay more for real service and support. There is a huge market opportunity here. The company that steps forward and agrees to support something if they build it, no matter who sells it, is going to get 100% of my business for whatever products they sell. Give users an alternative, and I believe they will flock en masse.

Until then, fellow users, I suggest we make things as painful as possible for companies that pursue such methods. They all claim that customer satisfaction is their number one priority, right? Well let's let them know precisely how badly they're failing. Don't stand for this kind of shoddy treatment. Call and complain. Write letters. Do what it takes to get your problems solved, or give your business to competitors and let the failing company know it. Things won't improve without such efforts, I fear, so I hope somebody is listening.

12/04/2001

1