Anatomy Of A Bug In Microsoft Office 642
bender writes "An insightful look at what it is like to track down and fix a bug in Microsoft Office is available from Microsoft's Blog site."
"May your future be limited only by your dreams." -- Christa McAuliffe
Debugged humans eh? (Score:5, Interesting)
Then it would seem humans working at Microsoft are less debugged than everybody else. Because *boy*, at some point Microsoft was a bug factory.
To their credit though, this is changing fast. Microsoft is a huge company that can turn on a dime, and they've understood that having shite engineers onboard won't do much good to their latest "trustworthy computing" PR stunt. Not to mention, they actually have a nice R&D shop now, not just the pretense of one anymore.
The key problem is expressed in very few words (Score:5, Interesting)
Complexity theory and chaos (Score:3, Interesting)
Adding new features and abilities to Word would affect a complex system like this in totally unpredictable ways. And, trying to debug such a complex system seems like an almost impossibly complicated task.
Now I know sarcastic answers will abound to this, but I wonder how much MS invests in testing such complicated programs? It has to be way, WAY more than they invest in the development of the program.
Now, I'm no Microsoft fanboy, but I am seriously impressed with Word. It never crashes on me, features always work as expected with other features and the interface does rock. I had no idea how complex the program was, and I am even more awed.
By the way, if you don't know much about complexity or chaos theory I recommend reading the following books to give you a nice appreciation of complex systems like this: COMPLEXITY [amazon.com] and CHAOS [amazon.com].
Nice Serveice: (Score:3, Interesting)
By the way I did try to report the bug via our $500,000+/year global support contract with Microsoft, and was told directly by our Microsoft support representative, and I quote, "I wouldn't know how to file a bug report for that." Never was able to get it addressed, even though I had two good sample documents for reproduction of the problem.
Half a million? No wonder Bill Gates has billions - He's not spending the money on developers.
Must reproduce in order to fix? (Score:3, Interesting)
Re:Amazing innovation... (Score:4, Interesting)
Brodie figured out that a document is really just a collection of pieces of text, and that it didn't really matter where each piece of text is physically located within the document's file.
I.e., if you're going to have "The dog is red." appears in the document, it doesn't matter if "The" occurs in the file before "red", or vice-versa.
Maybe this seems trivial to you, but I think most of us when designing a document format would try to put "The" before "dog", by instinct. It makes sense.
So what he figured out is not as straightforward as your out-of-context quotation makes it out to be. He was, at least, being a little creative. The article then goes onto explain multiple ways in which this design was useful in Word processing software.
I realize you're just being an asshole and that you probably didn't read the article, but just looked for a way to use it to make fun of Microsoft. "Standard Operating Procedure" at Slashdot, I know.
But, moderators, this guy doesn't deserve Insightful. He should be Flamebait.
A simple case of the wrong error.. (Score:5, Interesting)
You'd think that if the disk isn't actually full, you'd look at other places that can generate that error. Even though obviously the error should have been along the lines of "too many open files".
Note that this underlying problem isn't just a technical one. You get over-general error messages on windows (and with various badly designed software) all the time.
The least you can do when you pop-up an error is to give some additional information; like where it occurred ("Bad Thing Happened in somefile.c line #456"), so even if, like in this case, you can't reproduce the error in a debugger, you know where the error got kicked into being. Not quite as useful as a full stacktrace like in Java, but pretty usefull.
Compare this to how (non-Microsoft) geeks write error codes; from man ep;
ep0: 3c509 in test mode. Erase pencil mark!
This means that someone has scribbled with pencil in the test area on the card. Erase the pencil mark and reboot. (This is not a joke).
Even if you don't understand the error code, at least you can google for its pretty unique description "erase pencil mark".
Re:As long as Clippy exists... (Score:3, Interesting)
Hell, while you're in the custom install window, save some HD space by not installing language packs and fonts for languages you don't use. And if you're really uptight about macro viruses and such, just remove VBA. It's all just an installer option away. And you don't even have to edit a config file, which is more than I can say for a stable, non-corrupt installation of (cringe)Peachtree Accounting(/cringe).
Open Office (Score:2, Interesting)
Comment removed (Score:5, Interesting)
Re:Amazing innovation... (Score:3, Interesting)
There are plenty of examples from NeXT, from research project,
20 years ago there was experience to draw on.. Microsoft just lives in a big bubble world where they re-invent things their own particular way.
It's actually worse than that - auto-save does it! (Score:4, Interesting)
I was asked by my supervisors to try and use MS tools to minimize their grief in reading my output. So, while I was debugging a program on a remote machine (via X11), I left a Word document open for my notes. After a few days, I suddenly couldn't save any more. I gave up and started keeping my notes in an emacs buffer (which has infinite undo, and can stay up for days with no trouble - go figure).
I remember thinking at the time, "this has got to be a file-handle leak problem". I'm surprised to see I was right!
Disagree (Score:1, Interesting)
I much prefer something much more simplistic, like ABI. But my documents are usually just 4-10 page papers, nothing impressive or fancy so I really don't need much at all.
I think those special needs people often get sick of some of the extra features that other special needs people use. Maybe Microsoft should have multiple versions of Word? Or at least, multiple modes.
Re:Complexity theory and chaos (Score:5, Interesting)
Writing a book with pictures in Word is extremely difficult. It randomly moves stuff around, changes fonts, and deletes sections of the code when you exceed somewhere around 2MB file size (or 10 pages...I'm not really sure about the limit).
The interface isn't the whole problem either. Exporting to rtf format creates files that don't actually meet the rtf specification (which has been defined by Microsoft, by the way), so have errors (even when read by Microsoft's rtf importer), and html output is even worse.
Latex has more features than Word without any of these problems. Also, given the original "find a bug and win money" challenge, I think I can say it is probably one of the most stable pieces of software on the planet, and it has an extension mechanism built in (Word does too, by the way - several of them).
There are some things that Microsoft makes that beat the competition, but I don't think that Word is one of them.
Re:But... (Score:2, Interesting)
Never had any of the other issues though.
Unit Tests and Test First (Score:2, Interesting)
What about stuff like Test Driven Development and Unit Testing? Would that have made any odds here?
Re:Disagree (Score:3, Interesting)
Re:But... (Score:5, Interesting)
Re:Bug Triage (Score:5, Interesting)
There is no excuse, ever, for using ActiveX. If your web site depends on or even uses ActiveX, you need to hang yourself from your server rack with a cat5 cable.
ActiveX is not cross platform, and therefore by no means suitable for web purposes. If you can't accomplish the task with DHTML/JavaScript, then you need to find another way.
As for the atrocity against humanity that is stateful programs embedded into web sites, if you're going to commit the crime, Java better be your weapon of choice.
Re:Amazing innovation... (Score:3, Interesting)
Although he was probably not the first person to arrive at the "data abstraction" idea he was the first to propose a general (that is to say it applies to any data) theory of data which required it.
Comment removed (Score:3, Interesting)
Re:Just a thought (Score:3, Interesting)
And your job still went to India.
Re:But... (Score:2, Interesting)
Honestly, I feel many more people would adopt OO.org if they were shown (probably physically, because telling somebody will do little to persuade them) that it existed. Especially if they are informed that you don't have to pay hundreds of dollars.
Perhaps, eventually, there will be a major PC vendor that would do something so bold as to offer OO.org on a preconfigured computer as an alternative to MS Office.
Re:Just a thought (Score:4, Interesting)
WAY back when, in the dark days of 386s and early 486s, I wrote an application that was the best selling product in it's (admittedly) small nitche vertical market.
One day, we get a call - there is a bug in printing that NO one else could duplicate. It took me a week to run down the following
It required you to:
Be running on an IBM PS/2 Model 80 (Yes, the Microchannel one)
Be using an HP Laserjet II
Be using a MICROCHANNEL HP "Jet Direct Card" (a card that allowed the raster rip to be done on the PC instead of the HPIIs memory for greater speed)
Be running with a particular resolution
As the Model 80 was never a BIG seller, and neither was the Microchannel Jet Direct Card, we determined that it just was NOT worth fixing - we DID offer to fix the bug is they would send us the hardware. If the guy used the printer port, it worked fine (I assume it was a strange driver "feature" I would have had to work around)
The client I wrote the software cheerfully offered the end user a full refund on the software.... The client decided to keep the software, and use his printer port. We never did fix that bug, and NEVER got a call from anyone else reporting it (PS/2s were going away already)
Its OT but has to be mentioned (Score:3, Interesting)
Well, not directly, but they sure took the wind out of my sails with their new Picasa Photo Organizer and corresponding photo publisher Hello. I've been working on a photo editor/publisher application for personal use off and on for around 2 years. Lately, I've been think about how a lite weight, easy to use solution would be a big hit among new parents/grandparents like myself. Here they go giving it away for free. Who could do such a thing?
You know what? I will not be daunted. I will rise up from my defeat and create a better application. That'll show 'em. One that publishes your photos to your blog, other users of your application, or via email. Wait, Hello already does that? How about cropping and reformatting your photos and organizing them into an album. What, Picasa has that covered?
But, aha! I'll bet their solution doesn't use the power of Visual Basic.Net and the
Emphasis mine. having never read the MSDN blog before and seeing this now, all I can say is "OMFG"...
Re:The history of Microsoft bugfixing... (Score:3, Interesting)
Um, except the part where a developer and a tester go round and round about differences between "debug mode" and "release mode" problems. I mean come on, what kind of amatuer windows developer doesn't recognize the gigantic differences between debug and release mode apps on win32??!! If these guys would just learn to use printf() and/or the OutputDebugString() function they might be able to "see" a bit better.
Oh yeah, and the part where they know "max file size" is an issue, but don't stop to figure out what the OS max file limit is before going on... sheesh. It'd be one thing if this bug's lifetime were a few weeks, but years??!!
Re:Thanks MBU! (Score:2, Interesting)
Boo Hoo (Score:3, Interesting)
Cry me a river, Microsoft. I'll save my pity and empathy for people who do community or open source development.
Strange 99 page limit in Word (Score:2, Interesting)
It was at this point she switched to Mandrake + Openoffice and hasn't looked back since.
Re:But... (Score:3, Interesting)
I had Winword6 and WordPerfect 6.1 installed on the same machine, along with ~350 fonts. As a rule they handled one another's documents well enough, including fonts. One day I used WP's allfonts macro to create a document that sampled all 350 installed fonts. This printed fine in WP. However in Word -- after the first 20 or so fonts, it changed all the rest of the fonts to Wharmby. (This behaviour was reproducible, even with different fontsets, tho why it always picked on Wharmby is beyond me.)
BTW, Word6's HTML (via a free plugin from M$) was primitive but clean enough; I often used it to strip out unwanted code from HTML exported by other apps, because it would kill anything it didn't understand. However, WordXP's "HTML" is in fact a very ugly and bloated subspecies of XML.
Re:Error message (Score:3, Interesting)
Once, when writing a DX app I kept getting a "File Not Found" error trying to load a bitmap... it drove me crazy as the file WAS there and could be loaded.
Finally, after trying everything I loaded the image into Photoshop and re-saved it, and boom, it suddenly worked.
It seems that the header of the graphic had a small glitch in it, and instead of giving me a meaningful error (like Corrupt File) it decided to give me the "File Not Found" error. Sigh.
Re:Great! Or so I thought... (Score:3, Interesting)
Philosophical? Is that a euphemism for "useless"? I mean, what else can it mean? Simpler software that does the job is better than more complex software that does the same job. It's as simple as that. Nothing philosophical about it.
Simple: dir
Complex: Windows Explorer, which:
Need I go on?
We geeks like dir (actually, we prefer ls). The people who are buying software with great big corporate licenses like Explorer.
Re:Oh, your Ferrari has a broken cupholder? (Score:1, Interesting)
I just don't understand why you should need to work on word-processing docs without being able to see the result of changes in real-time? Everything we do is moving towards real-time visualisation of computer work, from databases to computer modelling.
It seems damn primitive to not be able to see the overall effect with each change. Why can't LaTeX be fully WYSIWYG? That would make me drop Microsoft Office in a heartbeat
Re:Thanks MBU! (Score:3, Interesting)
Everyone talks about how complex Windows and Office are (millions of LOC), but I have to believe that some of it is unnecessary. If I was sitting on a few billion dollars, I think I would spend some of it on refactoring.