Large Web Development Projects – What I Have Learned
Learning how NOT to do things
I have built plenty of websites for freelance, and I thought I had everything down. I know how to guide a client away from bad decisions, give advice that may go against what they want to do, get the information I need, and everything else that goes with starting a project. At least…I thought I did. I came across a problem with my latest project that I wasn’t really prepared for: building a site where the client wasn’t even sure what the whole idea was from the start. They knew what the basics were, but not the whole, and that is where I ran into trouble. It is because of this, that I learned how not to do things in the future. The most important being writing out the project’s scope.
Enter Closet Fish…
In the beginning…
The clients are two very cool women who work in the fashion world. Something that I know absolutely nothing about. Their concept was a voting site where the user pays to upload photos of outfit options and get professional advice from the owners of the site. While I got the information I needed from them, I realized that I couldn’t build this on my own. There was going to be a lot of back-end programming that was beyond me. Part of the learning process for me was the role of project manager. I have never really done that with more than the client and myself. I was going to need to involve other developers who knew some crap.
I ended up being pretty good at that. At least I think so. Anyway, I recruited a programmer I know, and he came up with a time frame and a dollar amount. I then went back to the client and told them the price. I have no idea if they shopped around, but I believe they did and realized more quickly than I did that we had completely underbid.
Colors, colors, colors
All I knew about what the client really wanted the site to look like was that it had to have pink. Not just any old pink, but freakin’ HOT pink. The kind that blinds you in its awfulness. It was something though, and I went with it. Hot pink is not easy to use in a design. In fact, you should never do it. I tried 2 designs, going through every color pallet I could think of that would make hot pink bearable. Even using hot pink as the accent color wasn’t working. I then said enough is enough. Hot pink is out. I then toned it down to a very soft and mellow pink and everything went much smoother.
I then called the clients and said “Hot pink is out. You will respect my authority in this matter.” Ok, I didn’t say that, but I was able to get them out of the hot pink mode, and they were happy with the colors once they saw it. One of the best things working with these particular clients was that they were very open to any ideas. If I gave them a good reason, they would listen and usually take my advice. There were a couple of times they did not, but they did when I thought it really mattered. I love them for that.
Logos are not easy
After designing the layout I added a temporary logo to show what it would look like. Nothing fancy, just a nice font with a gradient and some cute little bubbles floating around it. A very quick logo design, with barely any thought put in because I knew I wasn’t going to be using it. I then sent them the design, telling the clients that “Hey, this logo is just for placement, I am having one created for you.”
I then call a graphic designer friend of mine (ironic because my degree is IN graphic design) to come up with a logo. Why didn’t I do it? One, I didn’t want to spend time doing that when I could be writing the front-end, and two…he is better at it than I am. I knew he would do a good job. When I got the design back, I knew that I had made the right decision.
After replacing the logo on the mockup and resending it to them, I waited to here back. Which I did right away. “This is AWESOME! But…we think we like the other logo better,” came the reply. Not good because I was paying my friend to do this, and his logo was clearly better. Once the project all came together I think they are happy with me talking them in to using it. What do you think?
My 5 minute job:
Things started to get crazy
After some time went by I start getting emails about other websites the client has seen. Can you add this? What if we do that? Lets make most of the site free where EVERYONE can give advice and then….Wait, what? After a few emails back and forth and a couple of calls, the scope of the project had changed. Looking back now, I realize a whole ton of crap I should have done.
First, I should have written a good old contract, but I didn’t because I dealt with this client before. I needed to have something down that said, here is the cost for what you have asked for. Anything further will have additional charges added, and the date for launch pushed further. But the programmer and I were yes men on this one, so we changed everything so that everyone could give advice, but you still had to pay for professional comments.
The second issue was photos. I generally pick the photos for a site I am doing. This time, because I had no idea about the fashion world, and because I thought they would want some specific things, I thought I would let them give me some options. Very VERY bad. on two counts. I didn’t specify that only certain photo groups could be picked from. Why did that matter? Because they started picking photos that were going to cost about $200 a pop….for web quality. Screw that!
Part B of this has to do with the website’s actual name. Closet Fish. Cool name once you understand what the site is doing and what people are doing on it. BUT, and this was a big head slapping moment when the emails came in with image selection. They were picking images that contained women and….take a guess! Got it? Freakin right! Images with women in lying in bed with a dead (though very fresh looking) fish lying on the pillow next to her. Images of mermaids, and marine scenes with fish swimming all over the place. After looking at a bunch of their choices, I made a quick phone call and told them to halt what they were doing.
See, it took a while for me to come around and start actually liking the name. The thing was, while it has the word fish in it, I felt the site shouldn’t have anything what so ever to do with actual fish. We are closet fishing for clothes here, and having people think of dead smelly fish is not a good way to get people to the site. Once I had them on the band wagon with that, image selection became easier.
Shit hits the fan
When the project was FINALLY coming down to the wire, we came to a round of testing. I called them up and said “You guys need to start getting people to come and test this website.” To which I get a reply, “Great idea! We’ll get some friends to do that!” A few days later I get an email saying things looked great, we just want this changed to that. No problem, cause you expect a ton of the micro changes crap. A couple of more days go by, and it is like 3 days before we said we were going to launch, and things went bad. “WHAT THE FUCK! WE CAN’T GET ANY IMAGES UPLOADED TO THE SITE! IT KEEPS GIVING US AN ERROR!”
To which I replied, “Don’t panic. THIS is why we wanted you to test the site.” After some thorough problem solving we found the issue. Rule number 4 of web development: NEVER rely on web developers alone to test your stuff for you. When we tested image upload, we were grabbing images from the internet…Google, Facebook, whatever we could find. It didn’t matter because it wasn’t going to stay up there. Any idea what the problem with that is? Real users are going to be using their camera or phone to take these images. Bigger problem? I’m guessing no one adjusts the image size of the images they are taking.
Question…WHY would you take an image with your phone that is 3000 pixels wide?? WHAT THE HELL are you going to do with that photo? Aren’t most photos taken thrown up on Facebook anyway? Well regardless of what I think people SHOULD do, they don’t. The problem was that each image was like 4 megs each. We were uploading photos that were like 200k each. The server had a built in limiter, and the image resizing script did as well. When they uploaded their images, server said nooooo way, and crashed. That got fixed and everyone was happy.
Now, I calmed them down, but I learned another very valuable lesson. I already know to expect things like that to happen at the last minute. The client that doesn’t know that though, will panic and start freaking out all the while calling you unprofessional.
I am now smarter for doing this project
Why? Well for one, this project was easily worth $15-$20k. I bid substantially lower because none of us knew what was going to be involved. A contract would have equaled this all out for us. This would have helped us more than them.
I really understand what project management is all about now because of Closet Fish, and I found that I really liked doing it. I found I was good at getting it all together, but learned a lot in the process. I think the biggest thing I learned though was the danger posed by a client who (while having a good idea) doesn’t have everything ironed out.
If a client comes to you and says “I have this great idea for a website. People come and do X,” you had better start asking questions about how they do X. What happens after they do X? Get all the details about how the site is going to function before you do anything. Then give them a quote for that work, and then let them know that anything else besides what you talked about, goes beyond the scope of the project. Which will cost more and set the deadline back. I saw this in action, and it is the one thing I do not want to repeat again in my career.
So what did we learn here? And by we I mean me
It basically comes down to these:
- No client is perfect, but these two were close
- Get ALL the details hammered out BEFORE you start working on a project
- Write up a contract, regardless if you worked with the client(s) before
- Anything beyond what was talked about for the quote will cost more, and push the deadline
- The people working on the site make horrible testers – they won’t use the site like a normal person would
- Explain to the client before hand that SOMETHING will go wrong…just don’t panic
All in all, I had a really good time working on this project. I think what made it so awesome to do was the fact that I got really lucky in who the clients were. They were open to suggestions, trusted my advice, and were extremely friendly and nice. I wish them all the luck with Closet Fish, and I really hope to work with them again sometime. It is rare to see the amount of drive these women have, and I hope you go check out their new website.
Tags: Web Development