Sometimes deadlines make you do things… terrible things. Things that you wouldn’t want associated with your name because they could single-handedly ruin your career. Systems and classes that you hope against hope will never ever have a problem or need an update. But the whole time, something in you is telling you this is wrong. This will come back to haunt me. Sometimes you’re lucky. But usually you’re not, and it does come back to haunt you- with a vengeance.
I want to tell you a story about a man- a desperate man. We’ll call him Ted. Ted was a graphic designer who was just getting into Flash, and so he took a freelance job with a local Flash development house to put his new skills to use. This company tasked him with creating a fun little app that allowed the user to customize a car image. The user, they said, should be able to add logos, spoilers, “dubs,” etc. and then download his/her fantastic creation as a wallpaper. In fact, they continued, we’ve already finished the layout and the car images- here’s an FLA and a zip of all 170 possible combinations.
At this point, many developers are already putting this app together in their own minds. Twenty lines of code, maybe a splash of XML, a big image directory- call it a day. That is, in fact, what the development company expected. However, the days turned to weeks and Ted had not turned in his project. Phone calls became less frequent and more harried. Finally, hours before deadline, Ted emailed a link to the project. It loaded a bit more slowly than anticipated, but it was assumed that it was just because of the size of the graphics. Which, as we were to find, it was.
However, the client soon decided that a small change was needed. Because of the rather lengthy turnaround time with Ted (who was now slogging through another project), the development company gave it to an in-house guy this time, who was confident that he could make the change in a half hour. How complicated could an app like that possibly be? He downloaded Ted’s source from the development server and opened it… and that part of his soul that every human is born with, that sings because the Earth is beautiful and its people are good- that part died within him.
![]()
The source files bore the unmistakable mark of a madman, drunk with desperation. The project contained one hundred seventy keyframes, each containing one of the car images. To view one image, in other words, required downloading its 169 siblings as well. Furthermore, each keyframe held five buttons for adding the various options to the car. Five completely new instances per keyframe, each with a unique instance name (redSpoiler155_btn, redSpoiler156_btn, etc.). Furthermore, each of the five buttons had a variant of the following code attached directly to it:
on(release){gotoAndStop(51)}
170 x 5 = 850 identical lines of code. In 170 unlabeled keyframes. Attached to 850 separate and unique button instances. In a project with 170 wallpaper-sized images that, when compiled, produced a 20MB SWF. The reason neither the development house or the client noticed the download time was because they were operating on A) industrial-strength Internet connections and B) the assumption that the freelancer hired was not a complete sociopath.
To be fair, we all know what happened. The guy had gained a couple skills and went with what he knew, rather than doing a ten-minute Google search, without ever thinking seriously, there has to be a better way. Nonetheless, the second his “techniques” came to light, the development house called him to request that he invoice them immediately and go work for someone else.
They say on certain nights, when the moon is full, you can still hear the feverish and half-insane clicking of a man attaching code to onstage objects.
Wow, that sends chills down my spine. I bet that guy got paid a buttload to do it too. Maybe I should learn a couple lines of C# and get hired designing game engines for the XBox 360.
Hopefully other companies check their freelancers out a little more carefully than this company did. Er… whoever this company is.
Noooooooooooo!
I get this from time to time. An inhouse designer for an agency, who was kind of handy with a bit of tweening and the odd button back in Flash 4, has ‘built most of a prototype’ … ‘we just need you to put in a few changes the client has requested …’
The fla arrives. Just a fla … no .as files, and the stage is a mass of labelled frames (a step up from your guy’s numbers I suppose). And I have to find a way to break it to the project manager that they need to shift the deadline and find some more money, because I’m starting again from scratch.
The phrase I use for this is ‘Fisher Price’ - it looks like it works but it’s really only suitable for a five year old who wants to play make believe …
It’s a horrible thing, isn’t it? And sometimes the hardest part is convincing the agency that this work does truly suck. And convincing them that what they think are “just little changes” are now monumental undertakings.
Hey Stray you hammered it right on the head. I have been in such situations and when you break it down to the PM that this cannot be done within the given time frame, PMs usually turn around and either contact the consultancy stating that “consultant was not a good match, or consultant didn’t know what he was doing, or please send in someone who knows FLASH”.
I have always dreaded such situations and there have been times where such situation can lead you to be the escape goat.
[…] you’re still not convinced, take a read through A Flash Horror Story over on […]