About WP-Cumulus 1.20′s compatibility mode

adobe flash logoFlash sucks. There, I’ve said it. Or to be more precise, using Flash in a web page sucks. Just about everyone has the plugin, but actually embedding a movie into a web page isn’t quite as easy as it could be. There are a number of options, all of which have pros and cons. And in most cases you’ll need to pass parameters to your little RIA and/or have it communicate with the outside world too, adding to the complexity.

About 90% of the email I get about WP-Cumulus is from people where the movie isn’t displaying as it should. In most cases, this is caused by relatively minor markup errors in their blog. I find it hard to explain why Flash can sometimes break if you forget to close a single tag.

<object> or <embed>, or both?

The default HTML template that comes with Flash uses two ways to embed the movie just to be on the safe side. The result isn’t actually valid HTML, but it works on most systems. But it’s damn ugly. Fortunately, most of its issues were addressed when A List Apart wrote this post. It details a simplified way to embed Flash using valid XHTML that works on all but ancient browsers. That post has probably been on every Flash designer’s bookmark list since 2002.

SWFObject

But then, in 2006, Microsoft released an update for IE that didn’t let ActiveX controls (which Flash is in IE) become active until clicked. One of the best solutions for this was SWFObject (I’m linking to the older 1.5 version for historical reasons). Not only did this activate Flash movie through javascript (and thus without requiring user interaction), it also detects the plugin version and is very easy to use. I’ve been using it for pretty much every project since, including in WP-Cumulus.

Broken DOM models

The one thing that SWFObject doesn’t like is pages where the DOM model can’t be fully interpreted. This can happen if your forget to close tags in your page’s HTML, or when mixing HTML and XHTML. The more little code snippets you add to your blog, the likelier you’ll be to introduce little errors. Not everyone cleans these up, and there are a lot of blogs out there with a broken DOM model. On some of those, WP-Cumulus will fail.

Reverting back to ALA’s solution

What the new ‘compatibility mode’ does is that it uses the older method listed in A List Apart instead of SWFObject. By doing so, all but the most serious of markup errors are no longer a threat. The result isn’t quite as elegant as SWFObject, but far more robust.

If you’re getting the ‘…requires Flash Player 9 or better’ error on your blog, try enabling the ‘compatibility mode’. If that fixes the issue, chances are your blog has markup errors. You can then use validator.w3.org to see what’s wrong. Clean up the code until you get a friendly green bar on the validation screen, and try going back to ‘normal mode’. If this does not help you could consider keeping ‘compatibility mode’ enabled. No animals will be harmed, but IE6 users might need an extra click.

Please not that this setting, although located on the options screen that controls the shortcode version, affects the widget too. It switches every possible display of the Flash tag cloud into compatibility mode.

Share and Enjoy:
  • Digg
  • Slashdot
  • del.icio.us
  • Technorati
  • StumbleUpon
  • Google Bookmarks
  • Twitter
  • Facebook
  • FriendFeed
  • MySpace
  • Yahoo! Buzz
  • LinkedIn
  • Netvibes
  • RSS
Related posts:
  1. WP-Cumulus 2.0 is finally in development (again)
  2. WP-Cumulus update – Update
  3. Help me test WP-Cumulus unicode support
  4. How to add more characters to WP-Cumulus
  5. How to repurpose my tag cloud Flash movie

11 Comments

  1. Re: Flash Sucks – Amen Brother.

    Comment by David DelMonte — March 13, 2009 @ 10:19 pm

  2. yess it makes my tag don’t shown :( .how to solve that problem?

    Comment by ipanks — March 16, 2009 @ 6:15 am

  3. Hi ipanks: It looks like the Flash movie has somehow been corrupted. Did you use WordPress’ plugin upgrade feature? This sometimes happens if you do (and far less if you use FTP to upgrade). You might need to upload the plugin again, overwriting the current files.

    Comment by Roy — March 16, 2009 @ 1:29 pm

  4. Hey Roy. You’ve got a great site here. I love how people get excited about technology and just go crazy with it. I’ve been pushing the limits of VBA! :)

    I’m very interested in WP-Cumulus (and perhaps the Flickr version… what about a Picassa version?) but I’m having trouble finding a “Get WP-Cumulus Here”. I’m a bit new to WordPress, so maybe I’ll have to go through my Admin panel and search for it via-WP but just thought I’d mention it.

    Comment by Typegeek — March 24, 2009 @ 4:49 pm

  5. Hi TypeGeek. You’re right. I should put up a big, conversion-optimized button on here that tells people how to get WP-Cumulus. But most WP users will know it’s hosted on wordpress.org. Most plugins are nowadays, so it’s probably the best place to start.

    Comment by Roy — March 24, 2009 @ 5:02 pm

  6. ouh thanks.

    Comment by H A F I Z — March 28, 2009 @ 8:27 am

  7. Although I have downloaded Flash Player 10, when I inserted your code for the Flickr cloud, I’m still getting an error message that Flash Player 9 or higher is required. Can you help?

    Thanks!

    Comment by Amy — May 7, 2009 @ 6:52 pm

  8. Hi Amy. You’re on WordPress.com? They (unfortunately) block all but a few uses of Flash, including my widget.

    Comment by Roy — May 7, 2009 @ 7:59 pm

  9. This isn’t exactly on topic, but I thought it was sort of relevant.

    I was getting IE errors when I tried using your plug-in in WordPress. Specifically, the dreaded “Internet Explorer Cannot Open the Internet Site – Operation Aborted.” The DOM is probably broken somewhere on my page, as I use a lot of plug-ins (and even though W3C validates the page). Nevertheless, I was able to get the error to go away by editing the following line in the widget:

    $flashtag .= ”;

    and replacing it with

    $flashtag .= ”;

    The DOM is able to load fully and the flash widget shows up.

    Comment by Jake Reinig — July 1, 2009 @ 8:56 pm

  10. Snap! The code all disappeared. Let’s see if this works.

    Replace
    $flashtag .= script type=”text/javascript”

    With
    $flashtag .= script defer=”defer” type=”text/javascript”

    There should be some single quotes and arrow brackets in there, but I’m removing them to try and get this post through.

    Comment by Jake Reinig — July 1, 2009 @ 8:59 pm

  11. Thanks Jake, I’ll see if I can incorporate this into the next version.

    Comment by Roy — July 2, 2009 @ 8:02 am

Sorry, the comment form is closed at this time.

ss_blog_claim=d470d8430338c3ea2e4510a1b5577fa0