Web Design Technology
Over the past few years the technology available to web designers has been increasing at a phenomenal rate and it is now impossible for one person to master them all.
My own experience covers:
- Web Servers - mainly Apache and IIS though I have experimented with others such as Xitami, Sambar, nginx and even the old MS Personal Web Server that came with Windows 98 and NT 4.0. My personal preference is Apache (though nginx looks like a potential rival) - I have seen Apache servers on Linux systems stay up and running for over a year - I have also known IIS servers running on Windows 2003 falling over or locking up more than once a day for inexplicable reasons! For new sites I always recommend running Apache on a Unix/Linux server as the most reliable combination.
- Use of different Web Hosting services - a good hosting company is a high priority for any web site. I have come to know several hosting companies over the last few years, both good, bad and downright terrible. I have also seen large companies cause havoc for their customers due to inefficiency, stupidity and downright arrogance. Two companies worth avoiding are FastHosts and StreamLine - in my experience both are incompetent beyond words!
- Web Programming Languages - PHP, CSS, (X)HTML(5), JavaScript, XML, ASP. Note that I no longer deal with ASP - mainly because it is, in my opinion, far less reliable and prone to requiring expensive additions that are bundled free with PHP. I use PHP for server-side programming and JavaScript for client-side programming. There can also be a cross-over where PHP is used to generate JavaScript on the fly at the server end for customised handling at the client end.
- Mash-Up Technologies - the most common of these is currently AJAX which is used for such things as Google Map integration. Google Maps have been used on sites such as Poppyland and for local information on the Summer Garden Buildings sites, This is Cromer and Cromer Carnival sites.
- Multi-site Hosting - this is where several related sites are physically hosted together using either the same code and/or the same database. Here are some examples of ways in which this can be implemented:
- The main MathsNet site also provides other sites such as the AP site for students from the USA. Any number of separate sites/domains can be handled.
- The Summer Garden Building group of sites takes the methods used in 2 above and makes them even more flexible. The details about how each site is set up is held in the database itself. When a request to display a page for any site is received by the web server, it checks the domain against the database record and pulls out the correct information. Because of this flexibility, the adding of extra sites does not require any extra coding and can be set up by the site owners themselves via the administration screens.
- The Poppyland site has the ability to create themed sub-sections which are styled differently to the main site content. Check out the following pages: NNTV and Magic Lantern. In this case, the site owner can upload new CSS style sheets, logo images and menu button template images to create the style he requires.
- Simple Site Administration - One of the problems with maintaining a web site is keeping it up to date. If the data is not updated regularly then visitors will not return. Coupled with this, it is essential that non-technical users can feel that they are able to enter and update their sites with ease, and are not put off by scary technologies such as HTML, CSS and JavaScript. To that end I always endeavor to provide a back-end administration system which is as simple and consistent as possible in use whilst allowing the site owner the freedom to customise their site as required.
In most cases the site owner will log into the administration system using a specific user name and password and see an initial main menu of administration options which give the ability to add or edit the various sections of their site. Each administration screen will be a form in which they can enter plain text (though, in most cases, I do not preclude the use of HTML tags if the user so wishes) and can optionally include Help information to guide them in using the more complex screens. Items under the control of the site owner will usually include:- Menus - some sites will have a top menu, a side menu or both. Where there are two sets of menus, they can either be separate or linked (i.e. clicking a top menu item displays a new left-hand menu in linked menus).
- General Pages - any number of pages can be created and attached to the menus as required. Images can be uploaded and resized, and placed anywhere on the pages. Simple built-in commands can help with specific layouts such as tables, lists and image positioning. Longer pages can be split into more manageable chunks with automatic page numbering appearing at the top and bottom of each page.
- Products - the e-commerce sites have the ability to add, edit or delete products and product types as required.
- Specialised data - examples of these can be FAQs, pages of links to external sites, news item pages (where news can be prepared prior to publication and only appear between specified start and end dates), events data (automatically removed once the event date has passed), special document handling, image galleries etc.
- Cross Browser Functionality - Do you remember hating sites that used to say Best Viewed with XYZ Browser? Unfortunately, there are still a fair number of them about and the XYZ browser referred to is usually Internet Explorer (IE). This, of course, can be a problem if you are attempting to view the site from an Apple Mac or a Linux-based PC. One of the things I attempt to do is to test all my web sites using all of the commonly used web browsers, such as IE11, Firefox, Opera, Chrome, and platforms, such as Windows, Apple Mac and Linux (usually Ubuntu) and make adjustments so that they run properly on all of them. In some cases a particular browser (usually IE6) may not be able to run the more complex sites, though, when this happens, I attempt to register a bug with the browser manufacturer concerned, especially if the problem means that the browser is not compliant with Web Standards.