I have been wanting to redesign the blog for a while now, so I took most of this Sunday to ignore other work and focus on redesigning. There are a handful of reasons why I felt that this was an important thing to do.
More often than not, my blog is the first time that would-be
employers encounter me, and I really felt like the old blog
design was getting a bit cluttered and just wasn't holding up
its side of the bargain (I wrote, it presents, we're a team).
There wasn't enough Georgia).
At least half a dozen people complained about the colors on
the old blog. To mean that means that probably everyone who
ever visited the old blog had problems with the colors, but
only half a dozen actually bothered mentioning it.
They might have been on to something (but I admit nothing).
A year and change ago when I created the first design for
lethain.com, I had been using HTML and CSS seriously for
perhaps three months.
Then I redesigned it for the first time several months later,
and I was pretty happy with how it looked. Compared to the
first version it looked slick and well put together.
A while later, and cracks were beginning to show, and it just
felt like time to give it an overhaul.
This blog is entirely about presenting written content, and
I didn't feel like the previous design was really harmonizing
with that idea.
Essentially I wanted more room for the content to lay across
the page and stretch out a bit.
In particular large images and large blocks of code wanted
more room than the previous design could give them.
I screwed up early on with image sizing in the old design,
and ended up using CSS to scale all images to fit. This was
seductive because it solved my problems, but also really
limited my options as far as using images in different and
Now most of the old images look really bizarre, but I'll
have some flexibility as I move forward.
The sidebar wasn't doing a great job of displaying relevant
content to site visitors. The new bar at the top, on the other
hand displays a small selection of highly relevant content in
a way that people may actually notice.
The top bar will always display three columns, of which the
third column is always the meta column, but the first two
can differ a bit (and I plan to play around with that a bit
If an article is in a series, it displays all the articles
in the series (and the series name, and an RSS feed link).
If an article has tags, then it will fill the remaining slots
with a random selection of five entries from one or two of
the article's tags.
If an article doesn't have enough tags or series, it will
fill any remaining slots with a selecton of either recent
or random entries.
At the moment, non-article pages always show the random and
recent entries, but I intend to change that up a bit once I've
thought about it more.
Perhaps showing a selection of popular tags, popular entries,
or other ideas I haven't considered yet.
After putting together the django-monetize project,
I added a couple of ad slots to lethain.com, but the last design
simply wasn't very friendly to ad placement.
In particular the series box would completely disrupt ad placement
on the top of articles, making it very difficult to create any
sort of consistent presentation.
This new format really opens things up in that regard, so I'm
looking forward to playing with things a bit more.
My agenda for advertisement is primarily promote my own software
and products (like for example this),
rather than simply slapping down Adsense.
There is a still a fair bit of low hanging fruit for improvement in LifeFlow. The archive has improved immensely, but it's still rough. The project pages are... really really rough. The articles page is rough...
Well you get the idea. But with this set of changes I'm pretty happy with the heart and soul of a blog: the entry list and detail pages.
Although the blog looks amazing to me today, I'm sure I'll have found things to pick at in a month or two and the refinement will continue. Until then, I'd be glad to take any criticism or comments about how the new design, or LifeFlow in general might be improved.