Welcome, to the future

So It’s been a while…

So, it’s been 8 months of development in the making but it’s finally here. A brand spanking new version of my portfolio site. It’s not quite finished yet, but that should improve over the next few weeks.

I’m sure that the first thing you’re asking is “why did this take eight months?!”. Well mainly I’ve been short of time due to the demands of my work and other areas of my life, but I’ve been learning two new things along the way while making this site: WordPress, and HTML5.

WordPress Rocks

I thought I’d get right to the point. WordPress. Is. Awesome. When I wrote my original portfolio in 2009, I opted to use WordPress, but I only used it to create the blog area of the site, the rest was done in plain XHTML using the odd Dreamweaver HTML template system.

When it came to rewriting, I decided that it would be wise to see what tools would make life easier. While I was holidaying in Centre Parcs in February with my girlfriend, I bought a copy of .net magazine, which featured a big article on using WordPress. I must admit that it was quite the eye-opener. On the back of that Magazine article (which I’d recommend trying to get a copy of if you can find/order it, Issue 199) I decided to write this whole site using WordPress templates, and I never looked back.

Admittedly, WordPress isn’t a full-blown CMS compared to other alternatives, but for small sites, it can’t be beaten. Almost everything you’ll ever need to do is already set up for you and running. All that you need to do to get a basic site up and running is to just install WordPress, and then modify a set of specially crafted PHP files to create your theme (or do nothing if you just want the default WordPress theme). Even writing search queries is as simple as calling a function and running through The loop.

HTML5 Rocks

When I was deciding on a design for my website, HTML5 discussion was all over the place. The promise of a final draft in 2012, its implementation in (almost) all major browsers, and so on, has put HTML5 very much to the front of almost all web developer’s minds, mine included. So when it came around to choosing the markup for this site, I made HTML5 an option.

This proved to be somewhat controversial, since when I asked around about using HTML5, some people were cautiously for using it, and others were almost aggressively against using it because it wasn’t yet mature. In the end though, I opted to use HTML5 as an experiment, in an effort to see whether or not it can be used.

Obviously there were some limits as to what could be done using HTML5, specific functionalities such as video and audio are a no-go, since browsers like Internet Explorer have no implementation for them. But what I did opt to use were the new Semantic tags, which HTML5 introduces, such as the tag for holding content articles and the tag for holding “tangentially relevant” information (i.e. content that isn’t core to anything, but can provide further explanation to things in the content).

One of the main things I noticed with HTML5 is how good support actually is. Even in Internet Explorer, certain things such as the DOCTYPE and the new Charset meta tag are supported without hacks or workarounds. But a few minor bugs in Firefox aside, support is already quite mature.

However…

The only warning I’ll give for people considering using HTML5 semantic tags is that Microsoft Internet Explorer 8 and below requires a JavaScript shim to support the semantic tags (which can be found at: http://code.google.com/p/html5shim/), and if your visitors have JavaScript disabled, then your CSS has to either compensate for this, or provide an error message.

Internet Explorer 6 Sucks

One of the most pain-free decisions I made when writing my new portfolio site was the choice to drop Internet Explorer 6 support. Internet Explorer CSS hacks are a fact of life, even in IE8. However hacks for IE7 and IE8 hacks were quite minimal in this site. Internet Explorer 6 however tripled the required hacks, and required that I not use things such as the “child” selector, which complicated the CSS immensely. In the end, things got so bad that IE6 support got dropped (except for a message at the top of the page telling IE6 users that they aren’t supported) and I never looked back.

Well, that’s my bi-annual random rambling done for now. I am aiming to increase my post rate as my new years resolution, so hopefully there will be more random rambles in the near future!

Peace,

– Karl Nicoll