This site was put together a few months ago, but has been mostly neglected since. There were a few things I just couldn't motivate myself to do, like add pagination anywhere or change titles to links. Even getting Google analytics integrated took a long while. I was reading a random article on HackerNews about how a site had achieved 0.5ms load time, and thought that I had known most of the tricks. I thought, just for fun, I should see how fast was loading - and it turns out that it wasn't fast at all. I was logging about 2.6 seconds for the first page load and 1.4 for the repeated view (after certain things had been cached). Seemed like it was time for an update.

I then found myself on a site (courtesy to HackerNews, again) about typography that was saying that the ideal number of characters per line was about 60. When I checked, I was logging about 200... yeah.

So I spent this morning re-doing the site, adding pagination, compressing my JavaScript, and trying different Wordpress caching/minifying plugins. I got my characters per line down to 75 or so, increased my line-height, and made sure that I wasn't using #000 black anymore (because apparently actual black is uncool), but #333 black. I removed the photos and videos links from the top because they didn't make much sense. (I also tried to keep the header from sticking to the top of the window, since that didn't make sense either, but that didn't work for some reason.) But anyways, pagination was pretty important. I ended up putting only one post on the home page with a pagination link to the next post, instead of 5 with no pagination.

So now, my initial load time is down to 1.871 (for about a 28% decrease) and my repeated view time was down about 21%.

In the future, I'm hoping to:

  • Add a cool sliding effect when you change blog post pages, like what Github does, using a History API
  • Add some sidebar content, for popular/related posts, or biographical info for the David and Suzi pages
  • Maybe use Jekyll to convert all of this to static files, and then serve it all through AWS CloudFront/S3 so I can get my latencies down even more