Today I’ve discovered an interesting bug.

Big application we’re working on over here (a Flex/AS3 rewrite and feature upgrade for the CMYK Books layout application) works fine in every browser we’ve thrown at it. With one interesting caveat.

It doesn’t play nice with Opera 9 (haven’t tried older versions, come to think of it…).

The application loads just fine. If you point your browser directly at the SWF file, it does everything it’s supposed to.

But, if you load the SWF from within an HTML page (ie, the normal way), it starts to be problematic. Specifically, it starts sending bogus HTTP headers. These headers confuse the web services (since IIS detects that the’re being sent an ill-formed request and refuses to pass it on for soap parsage). What you wind up with is a page that loads normally and takes you to a login form that doesn’t do anything when you click the button.

Specifically, what happens is the application sends two Referer headers. One containing the URL of the HTML file and one containing the URL of the SWF. If the SWF isn’t loaded from within an HTML file, it only sends the one referrer (the SWF’s location), and IIS recognizes the valid request and everything works.

So… how to fix it? Not entirely sure yet. None of the options that I’ve been able to see/change seem to have any effect. But this is a pretty big strike against Opera IMO. I’m a fan of the application, it’s always been good to me when I’ve used it. I’m excited to play with it on my Wii (if I ever get one… mumble). But for it to do such an odd thing… confuses me.

Ok, so I’m biased/interested because I write Flash for a living. But that doesn’t change things.

It’s been announced that the Wii is getting Opera. This is wonderful. They’re not just getting Opera, they’re getting a full blown non-wimpy version (as opposed to what I have on my cellphone).

As part of the bundle, this means two huge things that have never been done (or at least haven’t ever been done well) on a television-screen type web appliance. Opera by itself already has decent enough Javascript support, meaning all sorts of loverly AJAX content is gonna work in the living room. There is already a video on YouTube of somebody browsing Google Maps on a Wii, for example.

The other huge thing is Flash support. And this is where I am both stoked beyond measure at the possibilities this opens up to me personally as a developer (and for my industry and for the future of the internet as a whole – think homegrown flash wii game community) and am terrified at the one big thing they keep failing to mention.

Nobody’s ever said what version of Flash the Wii is gonna get.

It’s like they’re avoiding the question.

See… if by Flash they mean latest and greatest Flash 9 support, I’ll be pre-ordering the console despite my reservations about the dumb controller that they’re gonna try to make me use :P

But I don’t expect that they’re actually gonna get Flash 9. At least not at launch. I could hope for Flash 8, but I seriously doubt that one too. Yup. I’m guessing they’ll launch with 2003-era Macrodobe Flash 7 support. Why?

  1. If they were gonna launch with Flash 9 support, they’d be announcing it at every possible chance. That they’re being so tight-lipped as to specific versions…
  2. Macromedia never ported Flash 8 to Linux. Adobe probably won’t be releasing 9 for Linux until next year. While the Wii isn’t running Linux, it certainly ain’t a Windows or OSX box.
  3. Adobe hasn’t ported to any exotic architectures in a while. The SPARC got Flash 7, but that’s as fancy as it gets. It’s otherwise just been Intel and PowerPC based chips to get the releases. The Revolution is running on something completely new.
  4. And the clincher. Opera recently (like not quite 3 weeks ago recently) acquired rights to distribute the Flash 7 SDK as part of their Opera for Devices distro.

Soo… future potential?

I’m guessing that there won’t be another Flash 8 release, so our only hope is that they’ll get around to making the big jump to Flash 9. Eventually.

I mean, Opera’s just a program that you download onto the Nintendo, so it should be subject to patches and upgrades. I’m a bit worried that one of the reasons for the application’s initial launch as a free program (until next summer) is a way of covering while they either dev on the Flash 9 port or pretend that it’s not gonna be a problem.

But it is.

Current (as of last summer) Flash version penetration numbers say that 85% of internet connected computers worldwide have Flash 8. That’s a lot of computers. Flash matters. No numbers are out on Flash 9 yet, but adoption is rapid and version upgrades are painless, so I expect it’s pretty close.

It is going to take some people time to switch over to Flash 9, but my workplace is already switching over major new projects to the platform. I know from personal experience that Three Rings is using Flash 9 for their next game (of which they’ve not really released much information to the public yet so I’ll be nice and not blab – but their front page does look like they’re getting ready to link to stuff any day now). MySpace is requiring users to upgrade to Flash 9. Etc…

If it isn’t necessarily a compatibility issue at launch time, it will certainly be a problem within a year. It’ll become the equivalent of trying to view modern web pages in Netscape 4. Adapt or be devoured and all that.