Former Microsoft engineer and creator of the Windows Task Manager Dave Plummer has issued a reminder to all programmers to take care over the imagery conjured up by a quickly typed description.
During an Oxford University Address, Plummer told his audience that the Task Manager knobs and buttons did not always carry the text and descriptions with which users are familiar.
"About the time that I was putting the finishing touches on the first versions of Task Manager," he said, "a new group had started up within Microsoft called POLCHECK, for policy check.
"Its sworn duty was to defend our honour by scouring the Microsoft source code and its products for pretty much anything that would make us look stupid, unfeeling, out of touch, and so on."
Microsoft? Unfeeling? Out of touch? Surely it can't be true (although anyone looking glumly at a computer purchased three or more years ago might be wonder if the company has changed all that much over the decades).
- A hotline to His Billness? Or a guard having a bit of a giggle?
- Linux Mint emits fix for memory-gobbling Cinnamon – and future version may insist on some updates
- Top tip from the original Task Manager taskmaster: Don't put your phone number on that debug message box
- 'I wrote Task Manager': Ex-Microsoft programmer Dave Plummer spills the beans
- Roughly 30 years after its birth at UK's Acorn Computers, RISC OS 5 is going open source
To be fair, many a programmer's blushes have been spared by a code review over the years and the occasions where the odd profanity or two have made their way into the comments are too numerous to mention. This hack well remembers coming across a module header that consisted of a lengthy apology in poem form to whoever ended up having to make the code actually, you know, work.
Plummer continued: "Other than security experts and a few folks in academia, however, few would actually see our internal Windows source code,". "But many would see the end user product, and that is why it was important that the product design and user interface reflect the new kinder, gentler, Microsoft.
"The days of the harshly angled DOS prompt were over, and Windows was going to be your friend and your confidante, no longer merely a rude adversary," he said with more than a little whimsy. "We were going to take the sharp edges off so that nobody got hurt."
Checking for swears was easy. "Violent imagery," however, presented more a of problem.
"That's because Task Manager is," said Plummer, "quite frankly, a natural born killer."
Or least it was until more recent versions of Windows defanged the poor thing.
Back in the day, Windows Task Manager was often the last line of defence and could put a stop to all manner of processes that were running amok. The language used, however, might well frighten the horses.
While aficionados of the command line (as well as the likes of SQL) might be quite happy issuing a "kill" command, Microsoft realised consumers might not be.
"In the computer science world," explained Plummer, "this harsh notion of killing tasks and jobs goes way back to at least the 1950s, as does the notion of parent and child processes.
"It's something a systems programmer could become a little desensitised to over time," he admitted.
Ex-terminate, Ex-terminate, Ex-terminate
However, Plummer and co. understood all too well that a big, red KILL button or menu item would not go down well. Enter the phrase "End Task," conjuring a graceful exit of a process as it tottered gently toward the light, perhaps affording the opportunity of saving some work.
"The harder cases," added Plummer, "where the process wasn't playing nicely, meant we would use the verb 'Terminate', and later, 'End Process'."
And so it went on, with the PolicyCheck team starting to suspect Plummer and his crew had dropped in all the alarming verbiage "just to test their patience and the limits of their system."
Their suspicions regarding the darker side of the engineering team came as they reached the final page, the process page, which is hardly a paragon of user-friendliness to begin with. It was also festooned with verboten verbs: "Kill Process" and the even more alarming "Kill All Children."
The solution? "End Process Tree."
The last, and most nuclear option, was renamed Shutdown and Exit.
"But what did it actually do?," Plummer continued. "Well, as far as functionality, its purpose was to rapidly flush buffers and exit. All apps would stop, a complete service shutdown would occur and then final system exit.
However: "Particularly if the Component Object Model and its threaded apartments were in use, it really came down to 'Kill all children, then kill self, and then burn down the rental apartment'."
We're not entirely sure about the order there, but we'd have to admit that "Shutdown and Exit" sounds a good deal less alarming.
"So, thank goodness for Policy Check," said Plummer, "because the life of a Task Manager can be a dramatic and scary one." ®