Archive for the ‘Inspiration’ Category

Exploring Canvas – An ode to PS301
Nov

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.

Backbone.js – Time for Something New20
Dec

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

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.

FriendSync – a New Spotify Feature10
Sep

FriendSync is an idea I had for a new Spotify feature that allows you to listen to exactly what your friends are listening to. This kind of functionality accompanied with instant messenger/VOIP would be a great way to share music with friends in real time and discuss the bits of an album that excite you the most. It would be just like you are there in the room, you can skip the tracks that you don’t like and rewind the bits that you think are really special.

How would it work?

The first step needed to enable this kind of feature would be enhancing the friends list to distinguish between friends that are currently online and those that aren’t. This could look something like this…
friendsync-1
The more observant amongst you will have also noticed the addition of a FriendSync icon in the top right, next to your user name, but how would it work?

Spotify already utilises a fair bit of drag and drop functionality, for example, dragging songs into playlists and dragging albums into a friend’s inbox. I thought it would be cool to utilise this existing user behaviour for FriendSync to enable you to drag your friends onto the FriendSync icon. This interaction might look something like this…
friendsync-2
Once you have dragged a friend onto the FriendSync icon, and they have approved your request, the icon will change to an active state. The same icon will also be duplicated next to the friend with whom you are synced.
friendsync-3
Whilst you are synced with a friend you will hear exactly what they hear, they are in control.

If at any point you want to unsync, you can do so by moving the mouse over the FriendSync icon and clicking the cross which appears in the hover state of the icon as shown below…
friendsync-4

HTML5 site of the month22
Jun

This month’s issue of .net magazine has awarded the recently reskinned Yell.com HTML5 site of the month!

HTML5 Site of the Month badge

As a front-end developer on the project I was quoted in the article as saying…

“The front-end dev team at Yell wanted to advance the coding standards, and moving to the HTML5 doctype was the first logical step. We made use of custom data attributes, placeholder attributes and local storage, all of which contributed to an improvement in the quality of our source code and the performance of our JavaScript. We also had the added benefit of being able to simplify our charset, style and script tags.” – Chris Bewick

This was an excellent project to work on and I am delighted with the reponse. Many thanks to @brucel for the great write-up and to @doodlemoonch for being, as always, a delight to work with.

This article can be found on page 57 of issue 204 of .net magazine.

If I could dribbble20
May

All the cool kids are dribbling, why can’t I?

I haven’t felt this left out since my mum refused to buy me proper Nike trainers at school. Dribbbling is a new phenomenom all about sharing what you are working on and getting encouraging, inspiring and constructive feedback from other designers.

I think it is a fantastic idea and I love the execution of it, the site is simply stunning. Unfortunately dribbble is still an invite only proposition which is a bit whack if you are not friends of friends of the creators or an internationally renowned design super hero.

Whilst I am still unable to dribbble in public I thought I would dribbble in private and put out a blog post with the shots I would be dribbbling if I could.

These shots are both from projects I am currently working on and any dribbble-esque feedback on either would be much appreciated.

A current client project

dribbble-1

An ongoing personal project

dribbble-2

PS – If anyone out there has a spare dribbble invite they could send my way I’d be as happy as a kid with proper Nike trainers.

UPDATE: I now have my very own Nike trainers thanks to the lovely Matt Carey!