Escaped Thoughts

Sat, May 24, 2008

A “Fix” For The Flip4Mac Bug

If you are a Camino user, and you've encountered WMV video or audio online in the past couple of years, you've probably seen pages inexplicably scramble themselves as you scroll, type, or select text (although you probably didn't realize that it was because of WMV content in another window or tab). This is due to an old bug in Telestream's Flip4Mac plugin which, since it's a third-party plugin, we rely on them to fix.

Six months ago, I had the opportunity to talk to a Telestream engineer about this issue. To make sure I could describe the problem as accurately as possible I spent about an hour testing pages with WMV content and looking at what exactly happened to other tabs and windows (that was the first time I'd personally looked into it, since I knew that others involved with Camino had talked to Telestream and been told that it was being investigated at their end). After that hour, without looking at any code or having any special knowledge beyond a basic understanding of how plugin drawing works on the Mac, it was clear how they were corrupting the graphics context: the plugin was changing the location of (0, 0) out from under us.

I had assumed that they already knew this, and that the problem was figuring out how to fix it, but as it turned out, the step from knowing that to finding and fixing the bug in the Flip4Mac plugin was tiny. So I found myself wondering: if it took me an hour to do essentially all of the work necessary to get this bug fixed, just by looking at the behavior, how much time could Telestream—with access not only to their code, but to the specific changes that they made in the version that first introduced this bug—have put into investigating in the year and a half since we had been assured that they would look into it?

If it were just that, I would write it off to a communication failure and think nothing more of it. Perhaps it was never made clear to them just how severe the problems this bug caused were, and certainly we should have followed up with them regularly to ensure that the bug didn't fall though the cracks by accident. The important thing was that now they had a fix in hand, and they understood the severity of the issue, so surely a fixed version would be available soon.

But here we are, six months and two releases of Flip4Mac later, without a fix. I was disappointed that the 2.2.0.49 release at the end of December didn't have the fix, but not too surprised; there's a whole release cycle to go through to get fixes out to users, and a month-long cycle isn't at all unreasonable—although it certainly suggested that they didn't take this issue as seriously as we do (if somehow Camino were making the entire system unusable for 2% of our users every time they launched it, and we had a fix, we'd risk slipping a release slightly to get it in, without hesitation). We followed up, just to reiterate that we viewed the fix as critical, and why: that it was not only damaging the WMV experience for hundreds of thousands of their users, but that it also crippled the entire browser for those affected, creating widespread problems for users, and offloading the large support burden of their bug onto us. We made it clear that this was by far our most frequently reported bug. We've made these points to them a number of times over the past six months.

Earlier this week, there was a new Flip4Mac release (variously labeled in the download as 2.2.0.49A, 2.2.0.49R, and, confusingly enough, just 2.2.0.49 again), the second since they have had a fix. It didn't include any release notes (the release notes they link to are the original 2.2.0.49 notes), so we don't know what they did fix, but it definitely didn't include the Camino issue.

A release process where an important fix takes more than six months to get into a release isn't plausible, so the only possible conclusion I can reach is that Telestream's management has made the explicit decision that fixing a problem that affects every single Camino user using their product isn't even moderately important: not important enough to slip into a release that was winding down, not important enough to get its own tiny bug-fix release in a span of five months, and not even important enough to put into a release that could not realistically have been assembled until well after they had this fix. So users continue to suffer, and we continue to shoulder the support burden and the negative publicity of their bug, because they apparently don't think that Camino matters.

Since Telestream is choosing not to fix the bug, I'm releasing a stop-gap fix: this tool will modify the released version of the Flip4Mac plugin to remove the problematic code, so that it will no longer corrupt drawing throughout Camino. I can't easily make any complex changes, so unlike a real fix to this bug it won't be selectively applied to Camino; as a result, WMV content may behave differently in Firefox once you run it (Safari uses a different plugin, so should not be affected in any way).

Hopefully, Telestream will reconsider the importance of this bug, and the workaround won't be necessary for long.

Other's Thoughts

From the mind of roberthahn - Tue, May 27, 2008

Don't you think it's odd that this bug only manifests in Camino?

From the mind of Stuart - Tue, May 27, 2008

Nope. The event handling and drawing paths are very different between Firefox 2 and Camino 1.x, so it's not surprising that their call to change the origin would interleave differently in Camino than it does in Firefox.

A plugin has no business making persistent changes to the basic setup of the graphics context of the entire application. The fact that it happens not to break Firefox doesn't mean it's not a bug in the plugin.

From the mind of Barb D. - Wed, May 28, 2008
VP Flip4Mac

Hello:

Yes it has been a while since we became aware of the Camino bug. The recent .49r release of Flip4mac WMV fixed a minor issue with our installer that became apparent to the most recent version of QuickTime. Sorry for the lack of information and release notes. Our decision to make the change only to the specific code in the installer (and not update the build number and release notes) was to reduce the amount of quality assurance testing required to release the fix. More simply stated, without those added complexities, we were able to get the release to Microsoft faster.

We have been working on the Camino fix, however, since more than one web browser uses the same plug-in, the fix is a bit more complex than it appears. We believe that the fix for Camino will be included in our next public release, however, we need to confirm that the fix for Camino doesn't break other browsers like Firefox. The beta is destined for release within the next month or so.

If there are any Camino users out there who would like to register for the beta testing program, we'd love the testing help. You can register at: http://www.flip4mac.com/wmv_beta_register.htm

We appreciate your patience and any beta feedback you can provide.

Barb D.

From the mind of Stuart - Wed, May 28, 2008

Thanks for following up.

Having discussed possible ways of making sure this fix would not impact browsers other than Camino with the engineer at the time, I am certainly aware that it's not quite as simple as my binary patch (as I mentioned in the post). It was not months worth of extra complexity though.

I'm glad to hear that it's planned to for inclusion in the upcoming release, but I do find it unfortunate that six months later there can't actually be a firm commitment to that. I would have hoped that six months would have been enough time to test the fix in Firefox.

We'll look forward to the next release.

Liberate Your Thoughts:

Name:
URL/Email:(optional)
Title:(optional)
Comment:

Comments containing links may be placed in a holding area pending review.

TrackBack ping me at: http://www.escapedthoughts.com/weblog/camino/P080524f4mpatcher.trackback