Last week I talked about how Apple’s CEO, the inimitable Steve Jobs, predicts that the Flash platform is a dying technology, shortly to be consigned to the mausoleum of history.
Predicting the future is notoriously difficult; those that practice such dark arts often produce proclamations that are vague, misleading, or ultimately entirely wrong. Any meaningful prediction is merely educated guessing, and so I’m not going to bore you with my ultimate view of how Jobs is wrong.
Instead, I’m going to bore you with 4 possible scenarios in which he is wrong – or right.
I haven’t been a fan of Adobe products ever since Creative Suite became a total pain in the backside to install on a network, and when they took over Macromedia and inherited Flash, I liked them even less. Nor am I a fan of Google, whose laissez-faire attitude to privacy runs utterly contrary to their stated company ethics, and whose Windows software is too often amateurishly designed with support for managed networks either not present at all, or added several months late as an afterthought.
My own distaste, however, pales in comparison to that of the CEO of Apple, as reported by Gizmodo:
“That ‘Don’t be evil’ slogan Google’s known for?… ‘Full of cr**,’ Jobs said, after which he was reportedly rewarded with a big round of applause from the gathered throng of Apple employees… ‘Make no mistake, they want to kill the iPhone. We won’t let them.'”
The attacks became more specific when it came to Adobe:
“Jobs also criticized Flash for being buggy. When a Mac crashes, it’s usually because of Flash, he reportedly told the crowd. ‘The world is moving to HTML5’, he said.”
I’d have to agree with the first part of his assessment: Flash, along with other Adobe software, has more bugs than a world-class entomologist. I cannot recall a single instance of my browser crashing within the last year that wasn’t down to Flash or Adobe Reader. That said, if a browser plugin is taking down the whole system, Jobs needs to level some rage at his own developers, since the OS should be able to cope with one piece of miscreant user-mode software.
However, the world ‘moving to HTML5’? I think that’s a little premature…
While trying to patch Adobe InDesign earlier today, I ran into the following error:
I checked Task Manager and confirmed the obvious. No prizes for guessing which program is the ‘Patcher Application’.
(The workaround is to extract the update using something like 7-Zip and running the enclosed PatcherApplication.exe manually).
The XPS document format is one of the most half-baked attempts to destroy a competitor that Microsoft have ever made.
Designed to counter Adobe PDF‘s dominance of the portable document market, it was introduced with Vista and has never caught on, despite the XPS Document Writer setting itself as the default printer on any new install of Windows. This is partly because the reader software for XPS is (for no good reason) a plugin for Internet Explorer, which means that when you open an XPS document, it opens your web browser. If you are one of the 34% of people in the world not using Internet Explorer as your web browser, then the plugin never runs and you can’t open the document. This has been changed in Windows 7, but it’s too little, too late.
All of this is a shame, because Adobe Acrobat is a bug-ridden and overpriced piece of junk that is more bloated than a lactose-intolerant hippopotamus after eating a metric tonne of Stilton. Microsoft Office and Windows Vista are often accused of this; Acrobat is worse than both of them. Combined. I’d be quite happy for Microsoft to crush Adobe PDF utterly, but if XPS is their answer, they are going to fail miserably.
But, I digress. Today I discovered that the XPS system in Windows not only hates anyone not using Internet Explorer, it also hates anyone not in the United States. Regardless of the locale Windows is installed using, it will always set itself to create documents using US Letter sized paper by default. Very few printer drivers have this problem, even ones made by HP. It’s a schoolboy error, and an extremely irritating one at that. Almost any printer driver made in the last 5 years will have the common decency to recognise when the user has set a locale other than United States, and set the default paper size accordingly (to A4, if you are in Europe).
You might think this would only affect you if you were stupid enough to actually create an XPS document. You would be wrong. Because it sets itself as the default printer, it affects the default page setup of a multitude of programs. In the case of Microsoft Office 2007, the problem goes deeper still. Even if your Office document is set to a different paper size, when you try to save a PDF (yes, a PDF, not an XPS document), it will end up sized as Letter paper, because the paper size is being read from the default printer. Incredibly, this even happens if you use the Adobe Acrobat PDF writer plugin, and not just the Microsoft one that comes with Office 2007.
I wasted a good 45 minutes today trying to work out why all my PDFs were coming out on Letter paper. There was much swearing and gnashing of teeth. When I discovered the cause, let us just say that I was… displeased.
It is a source of endless astonishment to me how many software companies will invest huge sums of money to craft their perfect product, then fail at the last hurdle by shipping it using an install program that doesn’t work properly.
The Windows Installer (.msi) format in particular is a fabulous software install system that, when properly executed, allows me (the system administrator) to automatically install the required software on hundreds (potentially thousands) of computers with no manual intervention.
Sadly, the vast majority of companies use mangled versions of this system that incorporate unreliable third-party addons, often to do things that Windows Installer itself is capable of without any help. Even when they don’t use these, the open nature of the Windows Installer format means that a variety of tools exist to create .msi files, and many of them do not follow the specification correctly.
This often means that while the software will work fine for a manual, single-computer install, it performs unpredictably when used for an automated install. At best, the install will not work correctly. Our Adobe Acrobat deployments tend to have about a 5% failure rate even though the install is identical for every computer. At worst, it can stop the entire computer from booting up. I once had to remotely kill the Flash Player plugin setup on more than 200 machines in one day because it popped up an invisible modal dialog box at system boot.
As a result, I have spent the last few years becoming intricately acquainted with the internal format of Windows Installer files, the various stupid ways in which systems like InstallShield muck them up, and the various ways in which they can be fixed.
On rare occasions, an installer will be so bad I will start over from scratch and build my own. I’m not prone to blatant product recommendations, but I have been using the freeware version of Advanced Installer for a couple of years now, and it’s sheer reliability cannot be ignored. I have never managed to create an installer that did not work first time, which only begs the question as to why so many install programs I deal with work so poorly when making a good one is so easy.
If you have a product that requires a particular version of another piece of software in order to work, and you know that it doesn’t work with, say, version 3, but does work with versions 4 and 5 (5 being the latest), may I suggest a radical new way of implementing the code that checks these conditions are met?
I give you: the greater-than sign:
Would you like to see how it works? Here’s how!
If OtherProductVer > 3 Then DontScrewUp
Exciting, isn’t it? Much better than:
If (OtherProductVer = 4) Or (OtherProductVer = 5) Then DontScrewUp
The first advantage is that the code is simpler. Second, when version 6 of that other bit of software comes out, which will almost certainly work with your software, your customers won’t be completely hacked off that your software refuses to even start up because some near-sighted idiot didn’t know what a greater-than sign was for.
Love and kisses,
You’ve probably noticed that I can be somewhat scathing at times, especially when it comes to companies that produce rubbish hardware, rubbish software, or both. So when they send me a customer satisfaction survey after being inevitably disappointed when calling their support line, you had better believe I do not hold back.
Adobe sent me a survey recently. Not having solved my problem ensured the feedback got off to a bad start. Not having solved the problem 6 months after being notified of the bug made things worse. Closing my original case 5 months ago after explicitly agreeing they would leave it open until a resolution was found was really just the icing on the cake.
This survey response was not a testament to their finest hour. This survey response was, in fact, a trophy sculpted from the still-steaming pile of faeces that Adobe metaphorically dumped on my desk when the Acrobat 9 install media was first delivered.
Adobe Acrobat 9 is a bug-ridden and bloated piece of software that I will never be buying again.
When you put a paragraph like this in your release notes:
…what you are really saying is “we don’t support our products for business use”. Roaming profiles and networked home directories are standard features of these operating systems when used by large companies. To say you don’t support them is to say you do not support your biggest customers.
I cannot stress enough what a spectacularly stupid idea this is.
Of course, I know what’s really going on here. It’s you wimping out because for the last 8 months you’ve known about a massive bug in one of your flagship products and a lot of your customers with support contracts are hacked off. You clearly think you can fob them off by bleating that ‘it’s not supported’. Unfortunately, you have already lost future business over this. Almost certainly a lot more than you think.
The fact that this bug also exists in other products you have released recently only underlines the fact that some of your programmers are idiots and your testing regime is substandard. Last month I bought a suite of licences for Adobe Premiere Elements 7 only to find it has the same bug. I sent them back for a refund and bought Serif MoviePlus X3 instead, which was not only cheaper, but also has more features. Next time I need software, guess who I’ll be calling first?
Love and kisses,
Remember the Y2K bug?
You know, that one where computer programs broke when dealing with the year 2000 because they only checked the last 2 digits and believed it was 1900? One would think that after that, people would learn to check numbers properly, instead of just checking part of it and assuming the rest.
Many websites that use Adobe Flash Player check the version of Flash that you have first. The version number that Flash sends to websites is in a format along the lines of 184.108.40.206 – this indicates major version 9, minor version 0, build 124, revision 0.
Most sites only care about the major version, and so they lazily only check the first digit. So, what do you think happens when a site using this method finds version 10, which was released a couple of weeks ago, and has a version number of 10.0.12.36?
If you said “Oh my word, those lazy morons are going to think it’s version 1,” then you get a gold star, unlike the sites requiring, say, version 6 or greater that are now saying that version 10 of Flash is too old.
What’s even more retarded is that today I’ve seen this problem on a website designed by Adobe.