Avalonstar, version 25, is quite a departure on many scales. Starting from the back-end, it is the first version run by a fully functional, mostly self-coded, Django back-end; more details on that will be provided below. Presentation-wise, this version is by far one of the most complex designs I have created, taking full advantage of many techniques and CSS technologies that have gone unused in previous versions. Following the demise and utter disappointment with the overall experience of the last version, I vowed that every future version would reflect a style that is a departure from the one prior.
Unlike many of my prior designs, in which I stop the Photoshop process after establishing a shell, a complete view of each page type (with copy) was created to make sure no decisions would need to be made in the CSS stage. It’s definitely something I hope transcends this design, because not doing it is a really bad habit of mine.
The site is obviously coded using XHTML; validation not strictly enforced. I’ve taken full advantage of the opacity, rounded box corners and text-shadow properties from CSS3 as well as transparent PNGs, so you will get the best result when viewing this through a browser that supports them. Like Safari.
With that said, this version does not support IE6. It is obvious to me that the average Avalonstar visitor is at least somewhat standards savvy therefore won’t use IE6, so I’m catering to them. Don’t blame the game, blame the browser. Any hate mails on this subject will be ignored, all others are still welcome.
The Javascript is a mixture of a few things, actually the fact that I have JS here is a first. If you haven’t spied on my source yet, I use JQuery for most of the effects as well as FancyZoom by Cabel Sasser.
Although the previous version was run by Django, it was one of the first apps I had written and it was obviously… quite noobish. I’ve written a fair number of apps since then and have taken that knowledge to build a backend I’m more pleased with. Django is well known for its pluggable apps and Avalonstar employs the following: django-template-utils and django-tagging. The media, comments, status and geolocation features of this version could not have been possible without the help of Jeff Croft. Only the one above knows how badly I could have mucked up APIs without help.
Taking care of all the heavy lifting this time around is Slicehost. At the moment I’m running a 256Slice running Ubuntu Hardy (8.04) Beta 1. An nginx instance is taking care of the media and proxying the appropriate requests to an Apache mod_python instance behind it.
You might be wondering why I’m not using Media Temple this time. Their Django containers are great but a bit too restrictive and too small the behemoth that is Distortion; trying to launch the application would send emails flowing into my mailbox about how the processes would be terminated only minutes after being launched. I really would love to see the program come out of beta, as I’m always out to support my favorite hosting company.