They say that your own projects are always the ones that you get around to working on last of all. Well, I can assure you that's true. I've lost count of the number of times I've promised myself "I'll update my own website. I'll stop using the template one that came with the hosting. I'll actually try and rustle up something a little professional."
Four years later, I finally got around to it.
It's been a fun little adventure, though as anyone with half an eye for these things will realise there's still a long way to go before this site is finished. I'm not sure "finished" actually has any meaning here, as I'm bound to tweak and change things along the way, and eventually I'll get bored and want to re-do the whole thing. I think finished in this context means that for the first time I sat down and actually prototyped how I wanted the site to look, and managed to replicate the final design exactly in code without having to compromise. Previous efforts to do this have resulted in gross
Talking about compromise, how far does one reasonably go to enable cross-browser support? It's almost become a running joke that IE is behind the curve and, while I acknowledge that CSS3 is still in a state of flux as a web standard (with a terrifying number of proprietary tag implementations knocking around), its deficiencies in rendering even some of the most basic CSS3 style elements left me quite angry, let alone frustrated.
Obviously IE isn't alone, and every browser has its own little quirks that have to be addressed (though my browser of choice these days, Google Chrome presented almost no problems at all), but the one that took me by surprise was Opera.
IE still commands the lion's share of the browser market, and I must shamefully admit that most of my development until now targeted Microsoft's browser first, with a nod towards Firefox. This time I decided that I'd write to standards, focusing on Firefox and Chrome as my test browsers. I'd always heard great things about Opera's standards support and rendering capabilities, so assumed that it would just "work." Big assumption!
Opera is currently one of the only browsers that scores 100/100 on the Acid3 test, but I've still managed to run into some buggy implementations of the CSS3 transition property, particularly on box-shadows. So if you're viewing this site on Opera, I'm afraid you'll see some slightly strange behaviour. Opera-Dev are aware of the problem, though, and I expect the bug will be gone by the time the next update arrives.
...which brings me back to my earlier question. How far does one reasonably go to enable cross-browser support? I could have written an extended JavaScript plugin using jQuery to address many of these small quirks, but then I'd have had to remove all the "standard" CSS3 styling from my site. Opera's lack of support seems to be a known error, rather than the explicit non-support typical of Microsoft Internet Explorer. The site displays 100% correctly in Chrome and Firefox, and about 90% correctly in Opera. I may come back and tweak it for Internet Explorer, but with IE's market share declining all the time, I'm inclined to leave it and wait for everyone else to catch up for once.