OJ's rants

It's not about you, it's about the software

Websites Are Hard to Build - a Case in Point

| Comments

A short time ago I posted some thoughts on issues faced when building websites that most people aren’t aware of when they decide to have one built. I posted from the perspective of someone who has, on many occasions, been asked to build a site for someone who really doesn’t have a clue about what is involved. More importantly, they don’t want to know.

There are people out there who don’t know about the issues faced, but are still in need of a site to fulfil their needs. Should they learn about these issues themselves? Should they put their faith in a developer/designer and let them do their job and just send them a bill at the end? A mixture of the two?

It’s a tough question to answer. Given that I am a developer, I am going to lean towards the “let the developers do it” option. But I also feel that the client has at least a small responsibility to make themselves aware of those problems. This is mainly because they are the ones who are going to be maintaining it when the site has been delivered. I do feel that the winning formula is a mixture of the two.

The inspiration behind this post is the story of a lady who was starting an online business. I will not mention who they are, nor link to their site. This is to protect the innocent :)

This poor lady was in need of a website. Given that her expertise lies outside the realm of computing, her knowledge and understanding of what goes into the development of a website is limited. She needed to have a site built and so enlisted the help of a designer and a developer. The designer was to create the banner image(s) for the site and the developer had the task of making the site functional.

It’s probably obvious to the Geeks out there that there are already a couple of holes in this little set up. First is that nobody was really tasked with the job of creating the design for the entire site. This is a problem because it’ll end up the job of the developer who is generally woeful at web design. The second issue is that no grand “vision” for the site had been established, resulting in no connection between banner design, site design or needs of the client.

See if you can picture the result.

It’s not pretty.

The site’s intent was to be the front for the online business. The client needed a means to post news and updates. They wanted to post blog entries. They required people to “sign up” for various features. They had certain sections of the site that required payment and full membership before access was given. Since it’s a front-end site to the business it needed to feel professional. It needed to work across different browsers and function to a certain level of quality.

The short-list of requirements then become:

  1. A basic CMS
  2. A blog engine
  3. High-quality, cross-browser mark-up
  4. Login/sign-up/payment facilities
  5. A seamless professional look and feel

I’d like to expand on that last point a little bit. It’s hard enough to create an online business when your site is amazing. The issues of marketing, security, recognition, trust, etc. are extremely tough to tackle without making the user feel like they’re dealing with a hodge-podge of technology connected together with a poor design.

The professional look and feel is a must. The site must work. It must inspire confidence. It must make your users comfortable before they even attempt to consume the content therein. This makes that last requirement by far the most important of all. Without nailing it, the rest of the site may as well not exist.

Now let’s get back to our poor client. They ended up with the first requirement, so long as we emphasise the word “basic”. They received a blog engine, which is actually a Blogspot blog hosted in an iframe with a completely different design. They received a website that had a fairly poor design, invalid mark-up and features that are not only useless but aid in making the design even worse in certain scenarios. No doubt the developer thought those features were cool.

Given that the developer had a bit of free reign they had no real restrictions on what to implement and were most likely able to bleed the client dry of as many hard-earned pennies as possible. The client paid a lot of money for something that feels like it was thrown together by inept site creators. It’s not feature-complete. It’s also broken in some ways.

The final interesting point of this case is that the developer never actually discussed the idea of support with the client. They developed the site (which actually runs on an open-source CMS engine which may well have been paid for unnecessarily by the client) and handed it over. When the client came back to talk about other work, they utilised their position of power to charge insanely high rates for small pieces of support work.

So why am I talking about this?

Because it makes me sad and embarrassed to be a developer. It makes me angry that I am in the same boat as the person who created the site. More importantly it helps illustrate that lack of knowledge of what’s involved can really bite you in the behind.

I take my reputation very seriously and having happy clients is more important to me than getting paid as much as humanly possible for a job. I have certain morals and a different work ethic to the developer that is described above. I also wouldn’t want to give the guys in my industry a bad name.

To finish up, the point that I’m trying to make is this: if you’re a developer, it’s just as much your responsibility to make your clients aware of the issues as it is theirs to learn of them. Don’t take the piss and charge huge amounts for simple work. Don’t ruin the reputation of web developers in general. Make sure the clients know what it is they want and make every effort to give it to them if the budget permits.

There’s more at stake than the next invoice.

Comments