Exploring Canvas - An ode to PS301
Nov
2012

For me, the most exciting part of downloading a PS3 update is restarting, hearing that sound* and seeing if the shimmering ribbon of glory has been updated. Whether its a new colour, a floatier ribbon or more sparkles, it always seems to get better and better.

4393602

Earlier this week, as often happens, I found myself sitting in a darkened room, half reading email on my iPad, and half mesmerised by the PS3 wallpaper. My mind started wandering and I began to think about who made it and what the technology behind it was. I then decided that it was my destiny to try and recreate it. Not having access to any 3D design/animation software I decided to approach the challenge in a more familiar technology… Javascript, or more specifically Canvas.

Progress to date… (Not master branch)

Preview of PS3 style animation

Source on GitHub | Demo of latest version

Right now it’s a bit of a work in progress, it’s got a reasonable interpretation of the organic waves but it’s missing the sparkly bits. Once it’s finished, and if there is any interest (let me know in the comments), I might break it down into some tutorial posts.

DISCLAIMER: It’s only been tested in chrome so far so don’t be disappointed if you’re in another browser and nowt happens.

* The startup sound of the PS3 (which I believe is the sound of an orchestra’s string section tuning up) always reminds me of the opening to Keep the Car Running - Arcade Fire. Once this connection is made in your brain you will never be able to turn on your PS3 without your inner jukebox bursting into song… pretty annoying huh?… I’m sorry.

PS - I just lost the game.

A New Chapter29
Mar
2012

A little over five years ago I was blessed with the opportunity to join the web design team at Yell. I had no relevant work experience and no formal training in anything web-related. Luckily I had landed on my feet and had the support of some very knowledgeable, and more importantly, very likeable people.

Sharing a well deserved beer with the UI team - October 2010

Over the years this team tamed my naive enthusiasm and guided it in a very positive direction. Fuelled by their experience and encouragement I was able learn more about the web than I ever thought possible. More importantly I found myself in the very rare and very privileged position of looking forward to going to work on a Monday morning.

This month I was very proud to be promoted to Head of User Interface and take on the leadership of the very team which made me. My only hope is that I can give back half as much to the team as the team has given me.

Thanks - Chris, Rob, Rupert, Jill, Mel, Nick, Leigh, Rachel, Adam, Paul, Matt, Magnet, Grant, Franco, Carlo and everyone else.

Remote-Tilt: Designing the brand01
Feb
2012

Backbone.js - Time for Something New20
Dec
2011

Backbone.js logo

Last week I was involved in a discussion which amongst other topics covered working with github and building javascript apps with client-side MVC frameworks such as backbone.js. Whilst I had a vague awareness of both I was unable to contribute very much to the conversation due to a lack of hands-on experience. Feeling rather frustrated by this I decided to grab the bull by the horns and jump straight into building a new backbone app and pushing the source code to github.

Last night, as a result, drinklist was born. The app itself is currently very basic and is neither intended to change the world nor make me famous. What I do however hope is that overtime it will evolve into a respectable code example which will cover some skills that I have not yet found an opportunity to implement in my current job.

The technologies involved in the app are:

The first version of the demo app also includes a to “Still to do…” list which outlines where I hope this learning exercise will take me.

Feedback from any more experienced backbone folk or suggested reading links would be much appreciated.

Node.js – Server-side JavaScript24
May
2011

Last Friday I was lucky enough to attend Remy Sharp’s one day Node.js workshop in London.

nodejs - server side javascript

The course started, rather conveniently, from the very beginning and concisely covered the basic installation of node.js and getting up and running with node package manager.

Next we used express.js, a node web framework, to rapidly build and deploy a data-driven webapp complete with custom url routing, and EJS page templating. As if this wasn’t already enough, we then wrote another line or two of code to add a fully functional JSON API to provide access our site’s data… amazing!

For me this was the highlight of the day. The speed with which new prototypes can be built and deployed is astonishing. Express JS kind of reminded me of the CodeIgniter PHP framework except it was quicker and easier to work with in almost every respect.

After a very impressive two course lunch, complete with a salad bar (all included in the ticket price) we headed back to the classroom to learn how to create a variety of web servers to support:

For the lazier readers amongst you, there is a good summary of all these technologies over at the HTML5Doctor blog.

Unfortunately, due to evolution of the workshop syllabus throughout Remy’s tour, learning about databases (MongoDB) was no longer in scope for the course. However, thanks to the solid foundation I got from the rest of the course, I am now confident that I can work this part out on my own.

WARNING: After a couple of beers it seems Remy has a tendency to get over-excited whilst demoing his pet projects. If there are any full pints on the table, get your laptop and bag out of the way ASAP!

All in all a great day. I left feeling inspired to build new things, eager to learn more and smelling somewhat beery, thanks Remy.

#RDGGEEK - iPhone app approved17
Aug
2010

Today I received notification from Apple that my first iPhone app submission had been approved for the app store.

#RDGGEEK is a native Objective-C app that displays the speakers and talk descriptions for Reading Geek Night events past, present and future. The app is powered by a JSON feed from the main Reading Geek Night website. The event data is stored offline and updated every time the app is launched.

rdggeek iphone app screenshot

The #RDGGEEK app can now be downloaded from the app store.