Carrier

Quite how I forgot to mention this huge project on here, I don’t know. That’s most of last autumn unaccounted for.

Carrier are a high-end holidays company, so they wanted a high fashion feel to permeate the site.

We at LOVE. tried to make a silky-smooth flash site as easy to navigate as your usual information-rich xhtml, with gorgeous full bleed photos, smooth fades aplenty, nice image galleries and easy text scrolling. And it all sits within a browser-height stretchy interface that adapts all text boxes and search results to fit snugly to the footer.

carrier4

The Flash was built with the Gaia Framework for its built-in templating, SWFAddress, google analytics and so on, which worked like a dream once I’d dug into the forums to “get” Gaia and figured out pulling all the data out of Mark’s enormous backend through CakePHP. So to speak.

carrier1

carrier2

carrier3

carrier5

The ABC data is corrupt!

Yesterday, we were about ready and done with a nice shiny new Flash project, when right at the end (as always) our slideshows just stopped working. Loads of them, all over the site. The strange thing was that the first one seemed fine – whichever one you checked – then the rest were just dead. Plus, this was the same image loader class that had worked a treat on other projects, happily loading and displaying hundreds of images concurrently with no complaints. The images were all loading to 100%, but Event.COMPLETE just wasn’t firing, so the bitmaps never got smoothed or added to the stage. Weird.

Then we noticed this unusual error:

VerifyError: Error #1107: The ABC data is corrupt, attempt to read out of bounds.

It seemed to come up every time we rolled off anything at all, and it appeared to be this that was killing the slideshows. Couldn’t see any connection at all, but there it was. But it only happened in the 2D sections, not in the main PV3D world. Troubling. So it’s an error I’ve never seen that makes no apparent sense and doesn’t seem to refer to anything specific in the project at all. Marvellous.

After extensive googling and sifting through reams of comments, I noticed a couple of people were hinting at the same thing – anonymous functions, but only in comments from many player versions back, a couple of years ago. I’ve never used them, I thought – and never would. It’s just lazy. Then I remembered we’d used the trick of a stage-sized invisible MC with no mouse cursor but an empty roll over, to act as a screen to prevent click-through when in a section (an oldie but a goodie), and it was that empty ROLL_OVER that we’d done as possibly my first ever anonymous function, to save time and space and typing. And it made sense that this was causing the error not when rolling out of anything at all, but when rolling onto that background MC. Never again!

I’m still none-the-wiser about what the hell it means, what the hell ABC data is, why it couldn’t be verified or why it killed the completely unrelated COMPLETE events and nothing else. Even the youtube vids still streamed fine. Bizarre, but at least removing that anonymous function sorted it. Hopefully this might be of some help to someone, somewhere, someday. Might save them all that googling.