A computer-related rant, specifically. About some choices the Ubuntu folks have made that I don’t agree with.
That’s right, I’m about to complain about Linux, rather than my usual target, Windows.
I just had to spend a full forty-five minutes troubleshooting my laptop and my website to figure out why the image uploader suddenly broke (when you click “choose a file” normally a browse window would pop up, but this time, nothing at all would happen), whereas for all intents and purposes it had been functioning perfectly for the past two months.
It turns out, the folks at Adobe have recently launched a new beta version of Flash (they bought Macromedia up in 2005, in case you hadn’t known — I still think of it as Macromedia Flash from time to time myself). Its development name is “Astro”, though once it’s out of development, they’re planning on calling it Flash 10. So, a few days ago, unbeknownst to me, I had downloaded with the weekly batch of updates on my Linux side of my laptop, that new version.
That’s right, in the official software upgrade channels for Ubuntu 8.04 Hardy Heron, which is fully out of beta, they have approved for installation the beta version of Flash 10. Granted, if I was a proper GPL wonk like I should be, I wouldn’t have a real Flash component on my system, but until gnash or libflash-free come of age, I won’t be switching just yet. I kind of like being able to view Flash-based videos, e.g. MSNBC and Comedy Central (not to mention Youtube), which last time I checked, the GPL Flash players couldn’t do properly just yet.
So, after I got a beta copy of Flash without even realizing it, it turns out Flash 10 doesn’t work quite so well with the WordPress Flash-based image uploader component, breaking what was otherwise working perfectly fine while using Flash 9. I only realized the issue when I figured out the “choose a file” button was called “flash-image-uploader” in the source code for the page, having thought it was just div-and-css based trickery. I didn’t have any idea anything in WordPress was Flash-based, until I bothered to dig around in the code. (A testament to how well integrated the interface is, granted.)
Downgrading packages through the graphical interface is pretty easy in Ubuntu, though. (I’d take you through the steps to do it on the console in comparison, though, and your eyes would glaze over.) You go into Synaptic, which is the default Package Manager (System > Administration > Synaptic Package Manager). Ctrl-F to bring up the Find window, type “flash”, then OK. Click on the flashplugin-nonfree item that appears, which should have a green square beside it and the text indicating that it’s a version-10 installation. Click on Package on the top menu, then choose “Force Version”. Pick version 9, click OK, then OK your way through the next screens. Click Package, then Lock Version, and it won’t automatically try to upgrade you again.
One problem with this. Now the Automatic Updater tray icon sees Flash 10 and considers there to be one new upgrade waiting to be installed, constantly. When you go to do your updates, the actual updater (as opposed to the little tray icon) takes into account your locked / forced downgrade, so it doesn’t actually offer you the newer version. So now the icon is basically stuck in my system tray until I decide to go ahead and unlock Flash 10 to give it another try.
The worst part about all this (in the non-Linux side of things) is that this is apparently known by more than a few people, and affects Windows WordPress users as well (search Google to see). Adobe blames WordPress for using a call to a browse window that they weren’t expecting people to call directly, saying they shouldn’t use the API that they used, saying:
Throwing error 2176 prevents a security vulnerability that could allow dialogs to be displayed without an explicit action by the user. WordPress will need to alter their code so that they do not indirectly call FileReference.browse to display the file dialog.
Funny. It seems to me they actually DID set it up to use an explicit action by the user — you have to click a button to get the browse window to display. The problem lies in the fact that Flash had exposed that particular routine to the scripting engine to begin with, unless I’m misunderstanding things, since the button itself is HTML and it just calls a Flash file directly to browse for, upload, and alter the image of your choosing. It sounds like a bug WordPress is going to be hard pressed to fix without reverting to an all-HTML or all-Flash image uploader. Though I understand their use of Flash to do the actual resizing and thumbnailing of the image, it means it’s going to be either all or nothing in any upgrades. There already exists an HTML-based image uploader plugin, and I’m considering using it instead. Sadly, it doesn’t handle multiple image uploads.
So, in short, if I upgrade to Flash 10, I break my image upload capability. And Ubuntu has decided to force the Flash 10 upgrade, beta or not, on everyone using 8.04 (which is a full release, not a beta itself). This leads to my locking version 9, which makes the package updater icon constantly say there’s an upgrade even though the actual upgrade process takes into account the locked version. And that annoys me due to my innate sense of order when it comes to my computer. Not only are they forcing a beta on a non-beta community, but they also don’t take into account what’s locked when displaying the number of updates available in the system tray. Both facts get under my skin.
And yes, I’m aware that this gigantic rant stems from a tiny little post about cookies.