|
Browser Requirements - Technologies Used - Design Philosophy - Cool Stuff - Future Plans
|
validated as having met w3c
standards for html 4.01 and css2 |
|
Browser Requirements I tried to make this site as browser-friendly as I can. It should be viewable in anything from lynx (a text based browser) to the latest fully featured browsers. The site will look it's best when using a browser that understands CSS2 stylesheets and HTML 4.01. but all modern browsers should support these standards by now.
The site uses 'cookies' to store user preferences. See my Cookies Explained article for more details of how cookies work.
This site has been validated as HTML 4.01 (transitional) and CSS2 complient by the w3c's online verification tools at http://validator.w3.org. If your browser does not display something properly get a better browser. :-) The site should resize elegantly on all but the smallest or largest screens but is probably best viewed at between 800x600 and 1280x1024.
Technologies Used
This site is built entirely using open-source software and recognised Internet standards. The site is based on scratch-built PHP scripts which import, process and display standard HTML files. It utilises a mySQL database. Formatting is done using CSS2 stylesheets. I still write code and markup in my favourite text editor - 'kate', which is part of the basic suite of applications for KDE, the desktop running on my main Linux workstations. Kate does automatic contextual highlighting for PHP, HTML, CSS and others and so is great for coding. Graphics work is still mainly done using The Gimp graphics package. The development server on my LAN runs the Apache web server on Debian Linux and roughly simulates the 'live' server which runs Apache on Redhat Linux. This allows me to test my site for all but the most obscure bugs before uploading it. The site has always been tested in a variety of browsers including Lynx, Internet Explorer, Konqueror, Mozilla and Netscape. I made a conscious effort to avoid technologies that cause inter-browser or version problems due to varying browser support but it's a tough job so it's nice to see it needed no tweaks to continue to work with the latest Firefox, Safari and Opera browsers five years after it was first built. Hell, it even works on my Nokia 6300 mobile phone running Opera Mini. There are links to most of the software used to create this site in my links section.
- back to top -
Design Philosophy
When designing this site my priorities were ease of maintenance, cross-browser compatibility, reliability, ease of modification, fast display speed and ease of use. As the site will probably form the foundation of the next version of this site it needed to be designed with expansion in mind. I am now adding advanced features to the site and it's been pretty painless so far.
Visually I wanted a simple, minimal look to aid ease of use and gain faster download speeds. Layout graphics are kept to a minimum, saving bandwidth for page content. Most of the formatting is done with CSS stylesheets so users can choose their own look.
The HTML code in source files and generated by PHP scripts is kept to a minimum to make for faster-loading pages. Browser defaults are used rather than coding exact values to keep the code nice and clean. Coding in raw HTML rather then using a WYSIWYG editor makes for nice, clean, fast pages :-)
The use of an external stylesheet (which will normally be cached by the browser) speeds everything up and takes care of consistant formatting.
The PHP code that drives the site is object oriented and heavily commented to aid future development.
An angel object oversees the creation of each page from inline, included or dynamic data. Each 'page' on the site is simply a few calls to the angel object telling it where to get the data for that page - it could be a file, database, web page, user input or whatever - the angel object collects, checks, organises and serves the page as requested and monitors for errors and security problems. The angel object is essentially an extra layer of processing between the web-server and the browser.
- back to top -
Cool Stuff
Most of the best stuff on this site is under the hood where you can't see it. It is seriously easy to maintain and adding features like the news browser is easy due to the object oriented design. PHP is great to code so adding features to the site is fun rather than a chore.
The content in each page is made up of smaller individual html files (and other data sources). for example this section of this page can be seen here. All I have to do to build a page is get the content in place and create a PHP file like this. This makes it really easy to build and rearrange pages and allows me to share content between pages and only have to update one file to update all the pages that include it.
The PHP part of the site is managed an angel object that has rudimentary emotions and intelligence. If anything goes wrong with the site - like missing content or bad links - it actually gets upset. If all goes well it is happier. So, if you are pissed off at a bad link you can take comfort in the thought that the angel object is pissed off too. Of course if the angel object is annoyed enough she soon e-mails me to let me know why and I get to share the misery with no action required from you.
The pages build their own meta-tags for search engines to catalog. If I don't specify keywords for a page the page notices this, looks at the content, finds the keywords and add the hidden tag for me. Sweet, saves me doing it unless I'm pushing a special page where I may want to fine tune the keywords.
- back to top -
Future Plans
Immediate plans focus on adding more content, themes and sections to the site.
The angel object already has very basic emotions and language functions but these are mostly used during administration, development and maintenance of the site and so are hidden from regular site users for now. The whole object is due a redesign but the site is nice and modular so it's a breeze to modify core behaviour. I plan to add some sort of 'serious' AI in future as I'm intrigued by the idea of intelligent (even sentient?) self-administrating web sites.
There is soooo much more I want to do. Watch the news page.
- back to top -
Hadez Standard Time
Times on this site are displayed as Hadez Standard Time (HST).
This is basically the time on the server that hadez.org runs on and should be the same as Greenwich Mean Time (GMT).
The current time in HST is displayed at the bottom-left of each page.
- back to top -
|