Archive | Web Design RSS feed for this section

Inhouse vs outsourced web designer – The rise and fall

A long, long time ago, in a galaxy far, far away

Well, OK, maybe not that long ago or far away, but 15 years ago any company wanting to setup their own website would have probably purchased a copy of Frontpage and given it to their IT department. The website would have been largely static, and often designed by someone more used to dealing with spreadsheets.

This was reflected in the general standard of websites at that time, chock full of landing pages, nasty gif animations, and the spinning or flaming logos were all learnt to live with for some time!

Read More…

Colour management for Web Designers

Or in other words – why don’t my page elements match my CSS background colours!

Following on from my recent article exploring the basics of Colour Management, I am going to explain the reasons why getting consistent colour throughout your website design can sometimes seem troublesome. From the previous article, we can see why colour profiles are important. They provide information on how the colours contained within an image file should be rendered – not just on your monitor, but on anyone’s monitor.

Remember the sequence of Target Profile > Conversion > Destination Profile. In terms of the world wide web, this usually means

Target profile – This is usually, but not confined to:

  • Un-tagged (un-managed) RGB – the sort of JPEG output you get from Adobe Fireworks. Also, GIF and PNG files are by nature, un-tagged.
  • sRGB Images – most often the result of working in a colour managed application, such as Photoshop. sRGB is actually the standard for the web, but we will soon see how this can cause problems in Safari.
  • Adobe 1998 RGB – usually confined to situations where photographs have been included which have been tagged with the Adobe 1998 RGB profile.

Conversion – whichever default colour engine is being used by the operating system. The differences between the output from these engines, for the purposes of rendering web content is negligible, so don’t worry too much about which engine is doing the work.

Destination profile – This will be the default monitor profile on the end-user’s machine. Most uncalibrated systems just use a standard monitor profile that ships with the operating system. Often wholly inaccurate, but for the purpose of consistency, this isn’t really important. We are just trying to demonstrate how the colour shifts occur within the end-user’s system. Read More…

Protecting websites from hackers – 9 pillars of wisdom

Sheild yourself from the hacker's toolsIt’s the most awful feeling in the world (I imagine). It’s a new morning, and you settle down at your desk with your favourite drink, fire up your web browser, and before long you have a sinking feeling… Your website – or worse – your clients’ websites have been hacked, and since the wee small hours have been peddling poker, spam, porn and god knows what else to the world via your IP address.

The work involved in recovering the sites, the confidence your customers lose in you and the loss of business really aren’t worth risking, are they? Yet countless millions of websites are run in environments that make it easy for hackers to get a foothold.

In this article, we’re going to look at some of the things you should be doing as a website owner to mitigate as far as is practicable, the risks posed by the hacking community, and avoid being hacked! Read More…

WordPress blogroll link order – Change widget behaviour

Another quickie here. Although people use various blogroll plugins, sometimes the standard widget has it’s place (some themes don’t allow custom code to be used in some areas of your blog, for example). The problem is that the standard widget only displays links in alphabetical order based on the link name. There are two ways you can correct this.

1.) Change the default behaviour of the script that produces the blogroll lists

No problem, just go along to /wp-includes/bookmark-template.php – and find the code around line 198 Read More…

Cubecart Error – Warning: htmlentities() expects parameter 2

Just a quick note for those people who upgraded to Cubecart 4.3.9, and started to experience horrible page titles containing things like:

Warning:  htmlentities() expects parameter 2 to be long, string given in /home/user/public_html/admin/sources/products/ on line 949 etc…

There is a bug fix published by Cubecart but it isn’t terribly helpful. The problem is indeed on line 949 of /admin/sources/products/ which should read (once corrected) as follows:

<td align="left"><input name="prod_metatitle" type="text" size="35" class="textbox" value="<?php if(isset($results[0]['prod_metatitle'])) echo htmlentities($results[0]['prod_metatitle'],ENT_QUOTES,'UTF-8'); ?>" /></td>

Read More…

Search engine friendly URLs using apache mod_rewrite

As promised, here is a brief technical overview of how to get those nice search friendly URLs using Apache mod_rewrite and .htaccess files. I have already discussed why human readable URLs are a good idea, but it really should be obvious to anyone who has a basic understanding of the way Google views page URLs when calculating page rank.

What are we trying to achieve?

We are going to take the example of a fictitious website that has a database driven catalogue. We will assume for a moment, that the page that handles the navigation of the catalogue is /catalog.php and that it accepts a category and a page number parameter. So, for example, a typical URL might be:


This would show page 2 of the results for products in the category with id=34. This is a pretty common situation. Read More…