Most clients and potential clients that contact me have a pretty solid idea of what they would like to do, and how much they want to spend to do it. We spend time up front to flesh out ideas and explore possible solutions that the client may not have considered, or maybe isn’t even aware of. I love the start of new projects – new projects are all about possibilities, and I am a 100% a possibilities type of person. But once in a while at the start of a project the spider senses start to tingle…
Long before I went freelance in the mid 90′s, I acquired the mantra “Don’t take on bad business.” That phrase is my “tingle.” Early on I had a handful of specific things that I kept an eye out for, but over time it became more part of intuition rather than conscious thought, and I stopped thinking about the specifics so much. “Bad business” is a project that has a higher risk of failure than I would like to take on. I’ve been fortunate over the years to have had only a couple of projects go seriously awry, but they were incredibly painful to go through. I find that it takes time to recover mentally, and you lose money to boot. It is absolutely acceptable – no, it’s imperative – that freelancers and agencies turn away bad business. It can be difficult to turn away potential income, especially if work is slow, but the downsides are simply not worth it.
I read an article on Mashable by Brett Miller that does a nice job of explaining many of the potential problem spots. The article focuses on software development, but the points hold for any project that a developer, designer or agency takes on. We’ve all come across most of the issues highlighted in the article, but one stands out for me:
Too many cooks – this is the “Deal with Decision Makers” item on Mr. Miller’s list, and is by far the number one concern for me. It has manifested itself in a variety of ways, but there is one project kickoff scenario that terrifies me: If I walk into a conference room with a big group of people, my warning bells immediately go off. If during the meeting it is clear they don’t agree on what the final product should be I’ll hear everything out, and if a common vision can’t be agreed on by the end of the meeting, they’re not ready for me yet. I advise them to work together to define what they need and then bring me in. Any potential project that brings in a designer or developer that has various factions in disagreement is simply not ready for development yet. There are certainly options for getting involved and helping drive the group to a set of requirements, but I have found that too often the client then thinks “real work” has started (and the project clock is ticking), when in fact from my perspective the project can’t start prior to requirements definition.
Unclear requirements is probably the second most critical item on my personal “Bad Business” list, but that can often be worked through with a client. Mr. Miller is right in pointing out that time is valuable, so if I’m getting involved in helping define requirements, I need to see some money up front. That does two things: First, it ensures the client has some “skin in the game” – they are much more likely to follow through on a project that they’ve already invested in, and second, it lets them know that my time is valuable, and that defining requirements and specs is an important part of the work. A freelancer is a professional, and should be treated as such.
Posted November 6th, 2011. Add a comment
It’s been a while now since the Flash vs. HTML5/CSS3 brouhaha really got going when Steve Jobs declared Flash dead, but the topic jumped into my head again this week when I used Flash for parts of a video project I’m working on.
Inverse kinetics was the feature that brought me back to Flash for this project. It’s a huge help with some types of animation, and features like that, along with it’s powerful ActionScript 3 language, are one reason Flash will be around for a while.
Now, Steve Jobs wasn’t entirely wrong, and anyone who paid attention to the industry knows that Flash had been taking a beating for years by web designers and developers – primarily because so many people use Flash in so many wrong ways. The classic Flash-only web sites, for example. Steve Jobs just brought new weight – not to mention a legion of followers – to the argument. And mobile certainly opens to door to a whole host of changes that are coming.
To be fair though, just about every complaint about Flash has been addressed in one way or another – either by Adobe, or by the huge community of Flash-related developers. I agree with the people that say avoid Flash on the web for many of the common uses we see – menus and navigation, for example. HTML/CSS/JavaScript is a far better choice for most of those features. Video playback is a tossup right now as far as I’m concerned. Yes, you can do it without Flash, but it harkens back to the old “Browser Wars” days when you had to specially code for each browser. A pain I certainly can do without. I’m sure that will get worked out eventually, but until it does Flash is just as valid as any other method – it’s easier for me to implement, and it works for all of my clients – the only exception being the iPhone/iPad audience, which is not too difficult to work around.
So, while I agree that Flash having a reduced role on the web is a good thing, I also think that Flash is far from dead. And if the past several years is any indication, I suspect that Adobe and the Flash community will push Flash into new areas before long.
Like any tool, the key is using Flash for what it’s best at.
This post is really rudimentary from a tech standpoint. If you are even reasonably familiar with Flash you know how to fix the problem I came across.
The Rant
I was called in on a project that caught me off guard. Seriously caught me off guard. I got the call from a marketing agency whose potential clients we telling them that their site took too long to load. So I checked it out… and I waited… and waited. Thirty (3-0) seconds later, the site started up. Thirty seconds. On pretty fast cable broadband. Unbelievable. AND, worse, it was a 100% Flash site. Ugh. Ok, full disclosure: I’m a big fan of Flash. I know Steve Jobs supposedly killed Flash, or more accurately, he wishes he could kill Flash. He did get the ball rolling, but there were many reasons to hate Flash before Mr. Jobs went on a tear. From my perspective the problem is not the tool, it’s what some people choose to do with it. Anyway, that’s an entirely different topic, and one that plenty of others are going back and forth on. My point is that this site was an example of exactly what *not* to do with Flash. Just horrid. It was over 21MB of one gigantic swf. A single file that all had to load before *anything* would happen on the site. Not even a real loader of any sort.
Of course after experiencing the pain of the existing site I had to look up the person who built the site. Interestingly their own site was not 100% Flash, it looked good and worked pretty well. So why did they choose to build the agency’s site that way? You may ask why did an agency like that outsource building their own web site, but, well, it happens. Why did they ever pay for that site is certainly a realistic question to ask though.
As is usually the case, the agency had very little money for the project. I gave them the pitch any reasonable developer would – rebuild the site with minimal Flash, make it much more SEO compliant and get rid of all the bulk. Once they shot that whole idea down I got right to seeing what I could to to speed things up and keep it all looking exactly the same.
Round 1
First I took a look at all the imported bitmaps. Every one of them was set to 100% quality. Similarly, the publish settings for bitmaps was 100%. I’ve almost never seen a case where 100% was significantly better than about 80%, so I reduced the overall publish settings. Since the look of the site is sort of grunge, I went a little further and knocked the quality setting down to 70%. Then I went through each bitmap, and reduced the quality as far as I could. There were a number of very large graphic elements used as transitions – they slide past as the background changes. You barely see them. They’re large. And they were all set to 100% quality. I knocked them all down to about 15%. Then I repackaged the whole mess. With no serious changes the swf file was 8MB smaller than the original. Still way too big, but better. So I sent it to the client, told them to put it on their server and told them I’d see what else I could do.
Round 2
Without going into too much detail, I spent the next couple of days pulling out as much content as I could and splitting it into separate swf files that could be loaded into one main module. Ultimately, I could only pull out 4 out of 7 sections, but it turned out those 4 sections contained about 90% of the bulk of the site. So I left the 3 small sections in the core module, and pulled out all the over sized graphic elements to load externally as well. I used the standard method of loading external content into movie clips. Nothing at all tricky. The final result was a core module that was less than 2Mb – still way too big of course, but as small as I could get it given the time I had and the money the client had. And because of the way the site worked, the load time is now negligible. There is a loader, but the way it works makes it look like the site starts working right away. So the client was really happy.
Postscript
The result of this project feels a bit strange. On the one hand, it’s satisfying to make a big difference and make the client happy, but the original site was SO incredibly poorly designed that it’s not an ego boost or anything, I feel like I did what should have been done initially, because that’s true, and even though the client was ecstatic at the result, the site still sucks pretty badly. Ultimately it was just a frustrating situation. A tool I like being used in *exactly* the way that it’s critics like to pick on. But it wasn’t the fault of the tool. And my improvements don’t change the fact that the site should still be completely redone, not in Flash. I still like Flash for many reasons, but that’s for another time. Maybe.