Not logged in. Log in.

Blog / Web Development

7 blog entries found. Displaying 1–6.

Colour Profiles, Wide Gamut and Websites

A while back, I searched for some guidance on this subject, and whilst there are plenty of articles discussing colour profiles in general, and a few on their applicability to web design, none of them really answered all of my questions so I had to do some experimentation.

Colour profiles are something which graphic designers are most likely already familiar with (and if not, they should be). Web designers on the other hand, have probably never had much experience with them. They are basically little pieces of information which are attached to image files to tell the monitor (or other device) how to display the colours used in the image. This is necessary to achieve consistency across devices which may display colours differently to each other.

In the past, this was primarily relevant to graphic designers producing print work, as the same colour value often appears significantly differently on a computer screen compared to on paper or other materials.

Web design only deals with scree… continue reading

Spaghetti Code

I've recently gone over a few related topics to do with programming and/or web development. The pejorative term "spaghetti code" gets thrown around a lot, however I think many of the people who use it don't really understand what it means. Some use it to describe where HTML, PHP, SQL, CSS and Javascript are all intermingled; but this isn't (necessarily) spaghetti code. Similarly, others use it to describe the lack of a layered architecture or framework (such as MVC) where particular functionalities are separated; but this isn't (necessarily) spaghetti code either.

Spaghetti code specifically refers to code that is a tangled mess, meaning that it is incredibly difficult to follow and understand. For example, a script might have random includes, functions and objects scattered throughout it which make it extremely difficult to follow the code through in sequence, and nigh on impossible to continue working and building upon. Such an issue is often made worse by weak or non-existent documenta… continue reading

The MVC Pattern

MVC stands for Model-View-Controller and is an architectural pattern used in programming. The intention behind the pattern is to separate presentation from logic, much in the same way that CSS stylesheets separate the visual elements of a webpage from the structural HTML markup. Models represent the data, the view represents how the data is displayed to the user and the controller deals with the interaction between the two.

Before I go any further, please be aware that this blog entry is aimed at MVC in relation to building websites, not MVC in general.

In my previous blog entry I discussed PHP frameworks. Many of these implement the MVC pattern and so it is becoming quite popular amongst web developers. However in general, I remain unconvinced that it is really the best approach to use.

Whilst I am keen on object-oriented programming which separates code into manageable blocks, I find that the MVC pattern needlessly complicates things. For example, the MVC pattern requires one to… continue reading

Occam's Razor

As may be indicated by the title, I'm a big fan of Occam's Razor. For anyone who has never heard of it, it's a philosophical principle which states "entities should not be multiplied unnecessarily". Basically; keep things as simple as possible, because the simplest answer is probably the best answer. Although the principle originally applied to scientific and philosophical hypotheses, I strongly believe it is highly applicable to web design and development.

Over the past few years pre-built frameworks and content management systems (such as WordPress, Drupal and Joomla) have become very popular and widespread. Essentially these are pre-written libraries of code which are intended to make the development of a website much faster and easier by providing a lot of commonly used website elements and functionality. In the case of CMSs, this means that all the developer has to do is set some configuration options and a website can be made live in 10 minutes.

I've experimented with sever… continue reading

Horribly Coded Sites

As a professional web developer, it's my job to make sure all the websites I make are coded nicely to ensure firstly that everything runs efficiently and bug-free, and secondly that future development will be relatively straightforward. Being a massive perfectionist is pretty useful here because it means I've adopted a very strict coding standard which I use for every project.

Over the past month or so I've been tasked to work on some websites that have been built by other developers in order to improve them, but in the end I decided it would be quicker and more beneficial in the long-term to just completely re-do these websites from scratch because the code was absolutely abysmal.

PHP (the language that I primarily use to make functional websites and which is used on over 20 million websites) is quite relaxed, in that it's very easy to write horrible code which still works. Apparently, even supposedly professional web developers have a tendency to write horrible code, and worse they… continue reading


I decided to redesign my site yet again. The previous design was good but I felt it was too blocky. Here's a list of the main changes:

  • The Flash banner has been done away with - even though I really liked the lightning animations - basically because the filesize was too large even when the images were severely compressed.
  • The Flash latest content panel has been replaced with a jQuery one which works very nicely.
  • The site is now a fair bit wider than before, as I don't think there's any point catering to 800x600 anymore.
  • Players have been added to the music page for streaming the songs (something I'd been meaning to do for ages).
  • My logo has been improved. It wasn't quite rotationally symmetrical before, so that's been fixed and the texture has been made less grungy.
  • General aesthetic changes, adding rounded edges and generally enhancing the layout.