Web development truths

Anyone can be a web developer, right? Wrong. During the dot.com boom of the late 90s, any old jack-the-lad was claiming that he was a web developer, ranging from 14 year old nephews (known in the industry as Nephew Technology – used by company directors to produce their website in acts of blind faith in untrained schoolboys) to pensioners with way too much spare time on their hands. The dot.com crash of 2000 sorted the men from the boys as those who really didn’t have any genuine skills at all lost their jobs or customers, whilst those who did know what they were doing were more likely to retain theirs.

“Red Herring” websites that cost an incredible amount of money but at the end of the day proved to be little use to anyone became a thing of the past. The Emperor had finally seen the true nature of his new clothes and was no longer willing to pay over the odds for poor results.

I survived the dot.com crash by not getting involved with any of the silly companies that sprang up at the time, instead choosing to make reasonable money and consistently getting better at what I do. People can now easily see the value in my skillset and experience when they brief me for projects. But along the way I’ve learnt a few home truths, which I am not afraid to tell customer both new and existing when I need to:

“How much is a website?”

Never EVER ask a web developer this question. Imagine yourself walking in to a car showroom and asking the dealer – “How much is a car?”. Ludicrous isn’t it? The dealer can’t possibly tell you how much a car is because the price of cars ranges from £5,000 to £500,000 depending on what sort of specification you require and how much you’re willing to spend.

It’s exactly the same with a website. Before a web developer can even give you a ballpark price for developing a new website project, he/she needs to have a reasonably detailed description of what you want it to do.

If you don’t know what a website can be capable of, then they will be more than happy to present options to you, in much the same way as a car salesman will explain the meaning of the obscure acronyms you read on a car’s option list. You may not know what a car can be capable of, so ask the salesman, he’ll tell you. The same applies to web developers, although obviously not on the subject of cars.

You have to tell them what you want, only then can they tell you what it’s going to cost. Not all websites are alike. They don’t come in a set range of flavours. Almost every single website in the world is unique. You’re basically specifying a customised product, with a customised cost.

Fast, Good, Cheap – Pick Any Two

This is golden rule number 1 when constructing a brief for a new project or an extension to an existing project, and it’s by no means specific to website software. Think about it carefully: If you want a good quality product in a hurry, it’s not going to be cheap. Alternatively, if you’re still in a hurry but don’t want to spend a lot of money, the product isn’t going to be particularly good. Lastly, if quality and low costs really are paramount, then you’re not going to have it finished in a hurry. Personally I recommend option 1 followed by option 3 as I’m a perfectionist and actually find it quite difficult to produce something that’s not “good”.

Few companies, at least of the size that most web development agencies operate at, can offer all three, and those companies who claim to be able to do so often just try to sell you a pre-packaged website solution that probably won’t be directly suitable for your purposes, which then of course brings the “quality” factor back into question – are they really offering all three after all?

“I want to be able to update it myself”

This is, has always been, and always will be the biggest double edged sword in the whole website arena. It sounds like a marvellous idea doesn’t it – a website that the owner can control and update themselves with no programming knowledge or dependence on the web developer required. Cynics may well claim that web developers don’t like to produce such products because it subtracts from maintenance contracts, and to be honest there is an element of that, but it is by no means as extensive as you might think.

Principally, the simpler something becomes, the less flexible it also becomes. Again, this is not specific to web development projects, it applies to pretty much all software and hardware products that require some sort of human interaction, from Microsoft Word to your washing machine.

Let’s change the brief here to “I want it to just wash my clothes by pressing a button”, when you’re buying a washing machine. Imagine a washing machine with just one button – “Wash”. Sure, it would wash your clothes, at a fixed temperature and with a fixed programme, and for a lot of people this would be fine. It’s simple to use and virtually foolproof. But woe betide it ruins your Club Monaco wool-knit t-shirt because the programme was unsuitable, because then you would need to change how the machine operates when washing such garments. You need another button. Suddenly the machine has become twice as complicated as it was before.

The same applies to “update yourself” websites (the proper name for which is Content Management System, or CMS). I can provide you with a form with one single text box that allows you to change the content of a paragraph on your website. No problem, you just type the text and the paragraph is updated. But now you want to change another paragraph, and not only that, the paragraph is on another page, and furthermore you want to add an image and change the text colour and add a few links. But at the same time, you don’t want to have to know anything about HTML. Herein lies the problem.

Now you have two options. If you want your content management system to become more complex to satisfy your growing needs, you either need to start learning HTML (the markup language that’s used to define the layout and content of web pages), or you need to invest more money into the CMS in order that you don’t have to. One route is obviously more expensive than the other, and each have their disadvantages.

With the first option, many people fall into a common trap known as Microsoft Word, but the trap also applies to other HTML-producing software. Microsoft Word, a popular item of software on most peoples’ computers, claims to be able to export normal Word documents as HTML files. This, for the most part, is untrue. It may well be able to product HTML files, but the HTML it produces is the most god-awful excuse for markup code that’s ever been seen, and this is not just a personal opinion, this is one of those Internet-wide truths that everyone (bar perhaps Microsoft) accepts. Yet it’s all too tempting for website owners just to simply cut and paste Word HTML into the CMS and expect it not to completely screw up their website.

The point here is that allowing people to include their own HTML on their website empowers them to do a wide range of very powerful things. It also allows them to do some very bad things. If you want to manage a complicated website yourself, then you’re going to have to learn how to do some complicated things, including learning at least basic HTML that’s sympathetic to the site’s design and style, rather than how Microsoft Word thinks it should look.

The second option is also not without disadvantage. There is no end to how complicated your CMS can get in order that you don’t have to learn any HTML, and therefore there is no end to how much money you can sink into it just because you don’t want to have to “know about programming and stuff”. This is good for the likes of me, but bad for you. In some cases people spend more money on the CMS so they can then spend their own time updating the site themselves than they would have done paying their web developer to make the changes for them under their maintenance contract. There’s a point at which updating the site yourself simply ceased to be cost-effective.

It is necessary to strike a balance between allowing the CMS to automate and you to provide your own creative input by using HTML. The web, despite its apparently simplicity to the average user, is getting more and more complicated by the month underneath. If you want to be involved with controlling the back end then you too will need to become more complicated and technically literate. If you don’t have the skills for this, are not willing to learn the skills for this, or if it otherwise scares you, then leave it to someone else who does have the skills and isn’t scared to take advantage of it.

Rhydio customers should note that this quasi-rant is not aimed at anyone in particular – I just sometimes get this feeling of tremendous dread whenever I hear the immortal words “I want to be able to update it myself” :)


Student tuition fees

In light of the recent shennanigans concerning university tuition fees, here’s an idea I’ve had which from the outset at least seems very fair. We all know that there are a lot of wasters who go to University and never really work hard, whilst at the same time some people work exceptionally hard and deserve the best degree at the end of it. Yet all students from both ends of the spectrum are subject to the same tuition fees and also the same tuition subsidies (as students don’t pay all the fees, the LEA pays a contribution too). How is that fair? Well, it’s not, really, and it’s set to become more unfair if the tuition fees go up.

So here are the main issues, at least in my view:

  • Too many students are going to University these days, often to do useless, “Mickey Mouse” degrees (media studies, leisure and tourism studies, etc.)
  • Many of these students have no intention of actually doing any work, whether that means they get a degree or not.
  • Whether a student succeeds or fails, they still use the same financial resources to pay for their course, both from the LEA and their own pockets.
  • Many students from poorer backgrounds cannot afford to attend University, even if they are exceptionally bright.

So here’s my idea: How about some sort of “discount” system that’s directly linked to A-Level grades? I believe there’s a system in use at the moment called “UCAS points”, whereas when I went to University it was just A-Level points. I don’t know about the exact system that UCAS points use, but let’s for the sake of argument assume that they are interchangeable with the former A-Level points system, in that for every grade you receive two points, so an “A” grade would get you 10 points, a “E” grade would get you 2 points, and a “U” grade none at all.

30 points therefore equates to three “A” grades at A-Level, or 6 “A” grades at AS-Level (i.e. excellent grades, proof of hard work and commitment). Let’s then say that if you get 30 points (or more), you receive a 100% discount on your contribution to your university tuition fees. If you get 6 points (three “E” grades), you get a 20% discount. If you receive three “U” grades (zero points), you receive no discount at all, assuming of course a university will take you with those grades (stranger things have happened).

This system would bring the following benefits:

  • Students who work hard during their A-Levels are rewarded with a cheaper education, for they deserve it. They are more likely to make the best of the opportunity presented to them.
  • Students who don’t work hard during their A-Levels are not rewarded as much. It will be more difficult for them to got to university, but the incentive is there.
  • Students who don’t work at all at their A-Levels aren’t rewarded at all.
  • I know it’s generalising, but it’s normally safe to assume that people who don’t work hard at their A-Levels aren’t likely to bother to change their ways when they get to university, and so having no discount on their tuition fees may well deter them from going to university at all, it would be a waste of everyone’s time, including their own. They would be better off starting their career at 18.
  • Bright students from poorer backgrounds who would not normally be able to afford a university education would then be able to because of the large discount they would receive from doing well at A-Level.
  • The theory that if you work hard, you will be rewarded will be restored, rather than the current system of rewarding people whether they work hard or not.

Obviously, I can’t have possibly covered all the angles here because I don’t know the education system well enough and I never will, but don’t you think that at least initially it seems like a reasonably sensible idea?

But then, as with everything that’s “reasonably sensible” in this country, those very words mean that it and nothing like it will ever even be tabled, much less implemented. That is, however, a rant for another day. Probably tommorow.

The only disadvantages I can see with this is that it may be necessary to raise the standard tuition fees in order that those with low or no discounts are able to subsidise those with high or complete discounts. At the end of the day, universities still need a certain amount of money in order to operate properly, and if they just take A-grade students then they’re going to be a bit short of dosh. That’s a problem for an accountant though.

Don’t like this idea? Too right wing? Think I’m ill-informed about such matters? Sorry about that, but I’ll write whatever I like here.