I recently attended WebDevConf 2012 in Bristol. The event had a number of excellent speakers but one talk in particular resonated with me; Syd Lawrence spoke passionately about the need for developers to keep playing in their work, urging those in attendance to "just get out there and make cool stuff".
It reminded me why I, and many others in the industry, choose to develop on the web; how creative a medium it is when we truly appreciate its freedom. After all, without the web it's unimaginable that a video of a cat playing the piano could be watched by over 27 million people (out of choice!).
'Making cool stuff' can seem like a waste of time to some who prefer to concentrate on projects with a clear tangible 'value'. This misses the point somewhat. The best ideas we have come out of our experiences and what we learn from them. It's so much easier to see the potential uses of a technology if you spend some real time getting hands on with it. The best in our industry don't become the best by standing still when they get there.
In his talk, Syd showed one of his best known hacks, instac.at, which simply grabs images from Instagram that are tagged as being cat related. What started as a cat-related hack has now been reskinned for over 15 clients, grabbing and retrieving related images for large-scale image walls. This shows that, irrespective of the initial use case, the main thing is to dive straight in; the true value may come later.
Finding new toys
So where to start? The sheer amount of technology out there at the moment can make it hard to know where to focus our efforts.
For those short on time, you can get hands on with advanced CSS3 within minutes of firing up your text editor of choice. Features such as 2D and 3D transforms, animation and transitions make it relatively simple to put some beautiful effects together quickly. For something more practical, take a look at some of the new layout features such as Flexbox. If you need any help with basic syntax and structure, take a look at Mozilla's excellent MDN online resource, which should be more than enough to get you started.
Not that into front-end technologies? Pick an API you're interested in and think of any basic hook to get you started. Almost all APIs have pretty solid documentation and you'll be surprised at how quickly you can make inroads into them. Just briefly working with a service will give you a good idea of its potential.
Want something completely different? Go and buy yourself an Arduino or Raspberry Pi; the potential uses for such a simple piece of kit are pretty amazing.
If you've got more than a couple of hours going spare, pick something you're really passionate about rather than a technology you think you need to know about. It can be hard to apply yourself if you're doing this in your free time - just ask any creative about redeveloping their blog or portfolio, for example - but if you're interested enough in what you're putting together, chances are, you'll keep coming back to it.
It's always good to remember that to be an expert in all aspects of the web is impossible. If you're really into your CSS, you don't have to put together something in WebGL just because that's what people are talking about right now. Sometimes the best tech demos are simply unique combinations of techniques that, on their own, are fairly ordinary.
Your work could just be to scratch a personal itch to try out something new, but if you do choose to make your demo public remember that the code doesn't have to be perfect. It's a demo, not client work, and the fact you may be spending your own time on it allows you some freedom. Hacking something together is more about you getting 'hands on' with the technology rather than how pretty the code looks.
Ultimately, if you take one thing away from reading this, ensure you never stop playing in what you do; it has a funny way of coming in useful somewhere down the line.