I finally got around to putting together a simple personal homepage. I guess it’s something I’ve vaguely been meaning to do for a while, and was recently prompted into action by WordPress notifying me on my blog that this domain was available. To get it up and running quickly, I decided to make it just be a little window onto the blog – the “highlights” if you like. That way I didn’t have to spend time writing any content for now 🙂
Here are a few notes on what was involved. As context, my goal here was to make something very simple with static files only (no server-side software or dynamically generated content). And while the page itself is incredibly trivial, I wanted to approach it as though it was a more serious project and do things as “properly” as I could.
I decided to do the whole thing on Amazon S3 after reading this post by Amazon’s CTO on how he moved his blog to the service (I guess this feature is about a year old now). I’m sure there are other decent options for hosting, although it’s unfortunately one of those poisoned search terms that make it impossible or at least highly frustrating to research through Google searches. So I’m probably unaware of all kinds of good options; this was essentially the first acceptable one I found. When I saw it, I knew immediately to stop looking further:
- It’s extremely simple to use; I already have an Amazon account so it was just a case of clicking to enable the service, clicking to create a ‘bucket’ (their unit of file containment), uploading the files, making them publicly readable, checking the “website enabled” box, and telling it which is the index file. My website was then immediately live at a URL that looks like lukehalliwell.com.blahblahblah.amazonaws.com and I just pointed my DNS settings there.
- It’s cheap. For a small website, the storage is essentially free; bandwidth obviously depends on traffic but would also be essentially free most of the time. If I look at the busiest day my blog has ever had (about 100,000 views right after Realtime Worlds fell apart and I had incoming links from the front page of every major gaming news website on the planet), it would have cost me about $4. I can live with that for such a freak day.
- Amazon have my trust – for reliability, security, performance, being around in the future … no worries.
- This doesn’t apply to my crappy personal homepage, but if I was building a site that I was trying to grow, I love the fact you can turn on their Cloudfront CDN with a single click and have instant worldwide scalable awesomeness 🙂
Finally, the whole thing is very vanilla – you don’t end up using any wacky Amazon-specific features that would tie you in. It just serves up static files in a simple to use interface.
As usual, I reached for my trusty design-for-beginners book:
If you know very little (or like me, even less than very little) about design, it’s well worth a read. I can’t pretend my finished result looks good to a connoisseur but I think it’s a lot better than it would otherwise have been – it’s good enough for my taste 🙂
I also enjoyed using Google web fonts. They’re super fun and very easy to use. Perhaps a little too much fun and I did go a bit over the top with the main header … but then the book repeatedly says “Don’t be a wimp!”
Turning design into CSS was a bit frustrating – specifically, getting the DIVs to behave properly and lay out the boxes of content the way I wanted to seemed hard. Probably 70% of my time making the site was just on this and I sort of gave up a bit and hard-coded some pixel count measurements in there. This is another area where Google searches are poor – not the worst case, but lots of mediocre content at the top of the results. But other than the main structural layout, the CSS was simple and fun.
I love Creative Commons. Without it:
- Do I make no mention of licence terms? That’s fine for a crappy personal home page, but if I start adding content to it … where do I draw the line between ‘this is a crappy page that nobody will ever care about’ and ‘who knows, I might unintentionally create something good or useful one day’. Most likely I will never cross this line but I don’t want to have to waste time thinking about it. If I do cross it, have I just been naive by not spelling out the licence terms? Or have I just pissed off anyone who wants to use it with good intentions and can’t tell what’s allowed?
- Just slapping a copyright notice on it isn’t really any better. It also massively overstates the level of importance I attach to what I’ve created here.
So Creative Commons is awesome because it allows me to give away what I’ve done for non-commercial use, be precise about my intentions, and never have to spend time thinking about it again.
Other miscellaneous bits
I integrated Google analytics just to see what that was like (this falls under the umbrella of doing things as though it were a more serious project!) … apparently trivial. There’s a lot of data there that I’ll never use for this site – but at least I can see the page view count is working.
I also tried out Google’s webmaster tools – again, trivial to use. With my page in its completely-newborn, no-incoming-links state, it wouldn’t show up in Google searches at all. By submitting it there, it appeared within a day. There are a few interesting options in there that aren’t relevant to this simple page but could be useful to controlling how a more complex site appears in Google results.
All in all, the set of tools available for creating a simple website is extremely mature and simple to use. Not that surprising I guess for the year 2012 🙂 My only complaint was using CSS to create the overall structure of the page!