Web Design/Development

What I offer

I can build you a sleek, modern, scalable website using the best industry practices. The websites I build are highly accessible, legible and compatible with all modern browsers and operating systems, and render well regardless of screen resolution.

I can also write server-side scripts, to add functionality to your website. For example a contact form that will not expose your email address (and hence protect you from spam).

If you would like to hire me, please get in touch and we can discuss it.

My background

I've been involved in web development (to varying degrees) for the best part of a decade.

I created my first website in my early teens using a WYSIWYG editor. I soon realised the limitations and problems (ugly, invalid, inaccessible, incompatible, unmaintainable code etc.) when using such an editor, and switched to writing my own raw (x)HTML code `by hand' in a normal text editor. I also started to move towards writing valid (standards compliant) code with accessibility in mind.

I also became interested in server-side scripting using PHP. I started by modifying a popular, free CMS at the time, so that it better suited my needs. I made a great deal of progress but eventually became frustrated with the low quality of the original source code, and also felt that it would be easier to make the more drastic improvements I wanted by writing my own system from scratch. I work on this system in my free time to this day, and this website runs on a version of it.

How does a website work?

In its simplest form, a website is just a collection of files sitting on a computer (known as the server) that is running and connected to the internet 24/7. When a visitor (whose computer is known as the client) types in the website's address or clicks on a link to the site, their browser sends a message to the server asking for a file it needs. Provided the file exists, the server sends it to the client. The process is repeated until the visitor's browser has all the files it needs to show the website.

However there are different types of files involved in the process.

The (x)HTML page
This file contains all the real content (and it's semantic context - what bits are headings, paragraphs, lists etc.) of the page and is written in a code called (x)HTML. If it has been written properly it will contain no information on how to display the content.
Style sheets
These files tell the visitor's browser how to display the content of the page (such as the colours, text size, text alignment, font etc.). They are written in a language called CSS.
Any images that are on the page, including any background images.
Javascript files
These are scripts that may be executed by the visitor's browser. One should not rely on Javascript as not all visitors will support it.

These files are not always static though. They can be generated dynamically by server-side scripts. (A server-side script is simply a program that is executed by the server, and is completely invisible to the client computer.)

Why am I better than most web developers?

I do not use a WYSIWYG editor

Most web designers will simply use a WYSIWYG editor (such as Dreamweaver). Whilst they may be able to produce a website that is visually appealing in your browser on your operating system at your resolution, the use of these editors leads to some serious problems. The HTML code produced by these editors is generally of very low quality, leading to issues with accessibility (how many people can use your website) and maintainability. If code is hard to maintain then it is hard to update and change.

On the other hand I `hand-code' your (x)HTML in a normal text editor. The code I write conforms to W3C standards. I write according to the most modern best-practice and separate content (which belongs in (x)HTML files) from the information on how to display different types of content (which belongs in CSS files); this lowers bandwidth consumption and makes the website easier to change and maintain.

My websites are designed for reading, no gimmicks

An important fact to remember when creating a website is that people use websites in order to draw information from them, in most cases this means to read them. If a person wants to look at a work of art, then the chances are that they will go out and visit an art gallery! That's not to say that websites shouldn't look good, just that looking pretty should not be the number one priority when creating a website.

The websites I create are designed to be easy to read. I avoid useless gimmicks, such as moving text and animated images as they distract the eyes of the visitor attempting to read the page. Many of these gimmicks are based on the use of Flash or Javascript which is not supported on all web browsers and operating systems, also many web surfers turn them off as they find them to be irritating.

I can provide quality server-side scripting to suit your needs

In addition to creating normal static websites I am a competent programmer, and can use these skills to add functionality to your website. A good example is the contact form on this website, which differs from normal contact forms in that it does not expose your email address to the client, thus protecting you from spam, and preventing spammers abusing it to send spam to others in your name!

Why am I better than almost all web developers?

I create websites with accessibility in mind

Why is accessibility important?

The accessibility of a website relates to how well the site works in different environments. (An environment in this sense is composed of things like the web browser being used, the operating system, the screen resolution etc.) Because there are many different web browsers (not all of which output pages visually! eg. Firefox, Internet Explorer, lynx, bots etc.), many different operating systems (GNU/Linux, Windows, Mac OS X, BSD etc.) and many different screen resolutions, there are a huge number of potential environments that your website could be rendered in.

Some people will tell you that accessibility is not important as long as the website works in Internet Explorer on Windows, as this is what most web surfers use. However consider whether you want to alienate potential customers who happen not to use this environment. By not having an accessible website you are effectively losing market share! Another thing to keep in mind is that under UK law (the disability discrimination act) it is illegal for a business' website to be inaccessible. However at the time of writing this law has yet to be enforced and it remains to be seen what constitutes an `accessible website'.

Even if you do decide that you don't care whether disabled people (or anyone not using Internet Explorer on Windows at some fixed screen resolution) can use your website, there is one rather strange visitor that you probably will want to keep happy. This visitor isn't even human and certainly doesn't view your site visually as it has no eyes. This visitor is the search engine robot. A `robot' in this sense means a computer program that travels over the internet gathering information from web pages. It is through these robots that search engines index the internet. If a search engine robot cannot understand your website well, then expect your search engine rankings to suffer!

I write semantic (x)HTML which helps non-visual web browsers (including search engine robots) to understand the web page.

The websites I create are scalable

Most web designers create their websites to have either a fixed (solid) layout or a liquid layout. A fixed layout is great for creating a pretty website as the web designer has a great deal of control. However fixed layouts only work well in one screen resolution. This means that at high resolutions the web page appears very small and is extremely difficult to read. On the other hand, liquid layouts are used by designers wishing to avoid this problem and generally use the entire browser window to display the website. However liquid layouts have a flaw of their own in that they inherently lead to poor type-setting, with either too many or too few words per line, leading to a website that is more difficult to read. So the two most common types of layout used by web designers become difficult to read at screen resolutions which they were not specifically designed for, so neither are truly `scalable'.

The websites I create are scalable. I use what I call a malleable layout, in which widths are set according to the size of the text (which the user can set in their browser). This ensures that the website works at all resolutions and there is an appropriate number of words per line. To see what I mean, try changing the size of the text. (In Internet Explorer go to, `view'->`text size', and in many other browsers just hold down `CTRL' and press `+' or `-'.) At the time of writing this sort of layout is very, very rare! Try this on other websites and you'll find that the vast majority become messy.


If you are interested in hiring me, please get in touch and we can discuss it.

Daniel Martin
November, 2007