The art of software murder
When good apps turn bad
Only the guilty need be afraid
Did you ever try Paint Shop Pro? It is the most splendid of programs, a faithful collie dog of a program. Whistle for it and it bounces up off your hard disk, and licks your face, and gambols around all eager and excited and ready to play.
Design industry pros may swear by Photoshop, but that costs way too much for me. And I never could get my head around The Gimp’s deeply-nested popup menus. (Apparently they are optimised for viewing through the zippered eyes-holes of a leather mask.)
Nope, it’s got to be Paint Shop Pro. Let’s round up a flock of company ID card photos and wittily pimple the cheeks and black out the teeth of our less popular colleagues! Let’s pilfer that neat bit of GIF marquetary from the Beeb’s website: change the colour, scale and rotate it, slap it in a PNG of our own - they’ll never know it’s gone. Let’s take the shot of the Christmas party, and clone-brush the FD’s hand an inch or so further north. Whether it’s bullying, theft or just good old-fashioned blackmail, Paint Shop Pro will do it for you!
Except it won’t.
I say 'Paint Shop Pro’, but I mean Paint Shop Pro Version 7.
Paint Shop Pro Version 8 was a spectacular leap over an individual of superorder Selachimorpha. To switch abruptly back to my canine metaphor, the eager obedient collie of Version 7 was gone, replaced by a fat, balding, blind old labrador that made bad smells and monopolised the hearthrug.
I say that Paint Shop Pro was murdered by the enthusiasm of its coders. Their bloody fingerprints are to be found all over the body, but the most striking clue was the addition in version 8 of support for Python scripting.
No marketer would ever demand this. Python is a programming language of supposedly amazing powers that enables geeks to have fierce, religious arguments about nothing at all, which they call 'significant whitespace’. Embedding Python in Paint Shop Pro is like embedding Kate Adie in the Scouts: over the top and unlikely to impress the shade of Baden-Powell.
I am absolutely not mocking the programmers of Paint Shop Pro - 'there but for the grace of Pooh’ and all that - but it struck me as a particularly interesting example of softicide.
The original 'Jump the Shark’ TV show site provides a number of categories for identifying the point of no return: things like 'Same Character, Different Actor’, 'Special Guest Star’, 'K9’, and so on. A similar list can be constructed for software, starting by categorising Paint Shop Pro’s fate as 'Too clever by half'. Here are some other categories.
All your machine are belong to us
Acrobat Reader is a near-monopoly product. It has thrived thanks to the prevalent belief among the techless, and the convenient fiction among the techies, that plain vanilla PDF files are unalterable, and are therefore suitable for transmitting quotes and invoices and other legalistic documents. One day soon, I predict, it is going to be abruptly discovered that the editability of PDFs is important after all.
This is by the by. Recent versions of Adobe Reader (as it has now called) have shown distinct signs of megalomania, and I claim - rather boldly - that it has now put on its wetsuit and is paddling in Great White waters.
Here’s some circumstantial evidence:
- A splash screen lingers for so long that you get a chance to memorise that huge list of patents that Adobe claims to itself, and even perform some basic arithmetic on the first few numbers, by way of passing the time. Have you spotted that sequence of primes yet?
- There is that groan of realisation that can be regularly heard everywhere on the internet, when an accidental click on a PDF in a search results page means that the user is now confined at Adobe’s pleasure for the next minute or so, until Acrobat chooses to give back control of the web browser.
- Have you ever made the mistake of letting the thing upgrade itself via Internet downloads? I let version 7 have its way, and it rebooted the machine three or four times on the trot. Honestly, one of the more gullible heuristic algorithms in the virus checker thought I had got an infection.
Enough. There is an alternative is called Foxit; it is time to remind Adobe that it is mortal too.
Behold our foetus
Earlier this year, CodeGear put its name to a piece of work called Delphi for PHP. Releasing software before it is ready is not an entirely unknown practice, but this effort really established new boundaries, and acknowledgement should be made.
It would be quite untrue to say that there was no documentation at all; somebody had run one of those help generators over the source to pick out the method comments - of which there were very few. Also, there was a nice empty wiki so that you could write the documentation yourself, and save CodeGear the effort and expense. The open sourcing of the product’s library VCL for PHP works the same way.
To my astonishment and fascination (I write as a purchaser), Delphi for PHP has won an award in a Brazilian magazine. I’d love to read why the Brazilians did this, but my linguistic skills are not up to the job. I think the word I am looking for is 'chutzpãh’.
It is tempting to single out Delphi again in this category. Borland’s release of Delphi 8 for .NET gave Delphi users a dramatic opportunity to produce slow, ponderous programs instead of the quick, elegant ones they had been used to. Delphi users have never taken .NET to their bosoms, but Delphi has survived the .Nexcesses of its owner, and recently shown signs of recovery.
Microsoft’s Visual Basic underwent far greater trauma. Microsoft insisted that all VB6 users rip their beloved ActiveX controls out of their living programs, take them down to their nearest authorised MS depot, where they would be slashed into four pieces and burned before their very eyes. VBers still tremble at the recollection of the great COM cull.
Or how about Visual C++? I say it jumped the shark the moment C# was added to Visual Studio, displacing C++ as the alpha language in Microsoft’s heart. No matter that Visual C++ 6.0 had a flaky, out-of date compiler that couldn’t really cope with the STL, much less Boost. At least it was proper C++, unmanaged and unadulterated.
You will notice that all these .NET victims are development tools. I know C# is popular for corporate-captive-audience programs; but has any 'ordinary’ program ever been written in a .NET language?
(And Paint.NET doesn’t count. Because I say so.)
Where great software goes to die
It often happens that a small software house with a successful product is bought out by a much larger company with a lot of money. On these occasions, grand assurances are given along the lines of, 'Of course we will take good care of it. The upgrade is still scheduled for the new year; we will press forward with the plans for the Linux version too; and we have taken chief architect Rich Clever on board to make sure everything goes to plan.’
The sequel, of course, is stagnation and death. The package is reissued with all its logos changed to Large Company style, and the trademark™ symbol is added many thousand times to the help files. The licence agreement is enhanced from one paragraph to 10 pages.
But it soon turns out that Rich Clever wasn’t the software genius after all; or maybe his stock options have melted his programming brain. And after 18 months, the application no longer fits into Larger Company’s brand strategy, and that is the end of that. Although I believe you can still order the Windows 95 CD if you know the right place to go on the website.
It is a drearily common phenomenon, but I decline to name specific examples. This month’s homework is to enumerate five packages to which this has happened.
The Office 2007 effect
I had actually gone to the expense of purchasing a short sermon to deal with this item, from one of those sites that sell pre-assembled packages of opinions that you can pretend are your own, and use to decorate your yuletide blog.
It was quite pricey, but I think the quality showed through. It included much play with the term 'bloatware’, a lucid discussion of the ethics of trying to force through an ISO standard, and restated the trite observation that Outlook 2007 is really ghastly. There was even going to be an algebraic joke. The reader is challenged to use Excel 2007 to simplify this equation
x = 65535 - 1000000
to demonstrate that
x = 0
But in my anxiety to be fair to Microsoft - and it goes without saying that every single one of us here would cheerfully cut off two or more of our noses to avoid being unfair to those boys - I decided I had better try Word 2007.
What do you know? It’s actually rather fun, and not particularly sluggish compared with Word 2K. The effect of the famous interface ribbon, with its pretty coloured controls and drop-downs, is cheerful and seasonal. True, some operations, for example applying a style to a paragraph, do cost an experienced Word user a few minutes of muttering and clicking. But we’ll soon get over this.
Well, we would get over it, if we actually used it, which of course pretty well nobody is doing. Hands up anybody who has seen a .docx file in the wild. Precisely.
All the above
What would it be like if a single piece of software were simultaneously afflicted with all the maladies listed above? It would surely be a gloomy prospect.
To coin a phrase, a truly miserable vista.
Merry Christmas all.®