PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

A new seancoates.com

Note: This article was originally published at Planet PHP on 21 July 2010.
Planet PHP

Over the past few weeks, my business partner, Cameron and I have spent evenings, late nights, and weekends (at least partially) working on a much-improved seancoates.com.

If you're reading this via my feed, or through a syncation outlet, you probably hadn't noticed.

The primary goal of this change was to reduce (hopefully even remove) the ugliness of my main presence on the Web, and I'm happy to declare our success in this area.

In addition to making things look nicer, we also wanted to improve the actual functionality of the site. Formerly, seancoates.com was a blog, with a couple haphazard pages thrown in. The new version serves to highlight my blog (which I fully intend to pick up with more frequency), but also contains a little bit of info about me, a place to highlight my code and speaking/writing contributions, and a good place for me to keep my beer recipes.

Cameron came up with simple visual design and great interaction design, so a public aoThank Youa is in order for his many hours of thought and contribution. Clearly, the ugliness reduction was his doing (due to my poorly-functioning right brain).

I'm very happy with how the site turned out as a whole, and thought I'd outline a few of my favourite bits (that might otherwise be missed at first glance).

URL Sentences

The technique of turning URLs into sentences was pioneered by my friend and colleague Chris Shiflett. Cameron (who shares studio space (and significant amounts of beer) with Chris) and I both like this technique, so we decided to implement it for my site.

The main sections of the site are verbs, so this was pretty easy (once we decided on proper nomenclature). Here are a few examples:

  • seancoates.com/blogs - Sean Coates blogsa
  • seancoates.com/blogs/about-php - Sean Coates blogs about PHP (my aoPHPa blog tag)
  • seancoates.com/brews - an index of my published recipes
  • seancoates.com/brews/coatesmeal-stout - the recipe page for Coatesmeal Stout

To complement the URLs, the page title spells out the page you're veiwng in plan language, and the visual site header indicates where you are (while hopefully enticing you to click throuh to the other sections).

Moving my blog from the root aodirectorya on seancoates.com to /blogs caused my URLs to break, so I had to whip up yet another bit of transition code to keep old links functioning. Even links on my original blog (which was hosted on blog.phpdoc.info) should still work. If you find broken links, please let me know.

Vertical Content Integration

My ao/isa page contains feeds from Twitter and Flickr.

The Twitter integration was pretty simple; I use the JSON version of my user feed, but I didn't want to include @replies, so they've been filtered out by my code. If the fetch was successful, the filtered data is cached in APC for a short period of time so I'm not constantly hammering Twitter's API.

Flickr's integration was also very simple. After a run-in with some malformed JSON in their API, I decided to integrate through their Serialized PHP Response Format. The resulting data is also cached in APC, but for a longer period of time, as my beer tasting log changes much less frequently.

Code Listings

Displaying code listings on a blog isn't quite as easy as it sounds. I recently had a discussion with a friend about redesigning his site, and he was considering using Gist from Github's pastebin-like functionality to facilitate his code. Doing so would have given him easy highlighting, but one thing he hadn't considered was that his blog's feed would be miss

Truncated by Planet PHP, read more at the original (another 3213 bytes)