toxi.in.process

Thursday, February 23, 2006

Soundtoys relaunch

Another post, another (re)launch... ;)

With a strange feeling of positive disbelief I'm happy to finally reveal now some of the fruits of one of my most intense labours (of love nonetheless) of the past couple of years: Yesterday Stanza officially re-launched the Soundtoys website which has undergone a complete rebuilt during nightshifts and the wee morning hours over the past 10 months and now hopefully is more present-and-future-proof than any previous iteration. So firstly major thanks to Stanza and Gill (for patience, trust and making it all happen in the first place) and all other people involved...

The brief for the new site was simple enough: Provide a mechanism for commissioned artists to produce alternative ways to navigate, browse and experience the site, which is more suitable and closer to the heart and essence of the Soundtoys collection, yet open to be extended. This was early February of last year. I was starting to really enjoy my High induced by having used del.icio.us for almost half year and having just spent a few months researching and hacking on some Semantic Web related tech. There it was, the chance to work with a unique database of content waiting to be re-utilized. Wild ideas were spinning around my head: Social networks of artists, visualization ideas, interfaces becoming audio visual pieces of art themselves, browsing the current approx. 300 artworks conceptual, or by platform, location, media type, shifting contexts, clean URIs, RSS feeds, tagging, content aggregation & syndication - the full Web2.005 monty!

However, in order to provide maximum flexibility for extending the database in future, a lot of thought went into the structural planning of the new site. My original plan was to employ a RDF storage instead of a classic relational database. RDF keeps on getting a lot of bad mouthing from various people, yet after having followed the discussion for the past 2 years I am more and more feeling comfortable in thinking its simplicity and benefits are widely misunderstood outside the RDF fan club, IMHO wrongly so. RDF is encoding knowledge (data relationships) rather than pure (hierarchical/tree) data as XML does. Yet, like any other technology, in order to successfully work with RDF and flesh out an initial "design" for a data store one also requires a set of swiss-army-knife-like tools and frame of mind, none of which I had quite available when I embarked on this project. On top of that there still is a substantially bigger amount of such tools available for working with XML (plus the format is socially more acceptable, at least amongst non-techie artists). So I soon felt the immediate benefits outweigh RDF's superior longterm flexibility and decided to go with a standard PHP5+MySQL approach using my own framework and XML as pivot point of the entire site by exposing the majority of the database via an XML API, documented here. (One year on the situation might already have looked different)...

Almost all pages on the new site are created by transforming the API data via XSLT into various target formats (currently only XHTML, JavaScript and Atom for feeds). Every artist, every soundtoy, news item, journal entry or tag has its own unique and easy to remember URI which is mapped to its respective record(s) in the database:

soundtoys.net/api/artists/toxi (API) » soundtoys.net/artists/toxi (XHTML) » soundtoys.net/feeds/artists/toxi (Atom)

This API is now open for everyone to use and we encourage you to play around with the available data. If you have special requests for certain types of data you want adding we'll try to accomodate those too (provided it's justified, manageable and not too labour intense). Stanza is even offering hard ca$h for two upcoming commissions, so hurry to get your proposals in pronto! :)

Ever since I started using del.icio.us I've also been addicted to data feeds to at least make an attempt (and give me the illusion) of staying on top of interesting things/sites and people (and their interests), the logical progression to subscribing to endless email newsletters. I think it's still safe to say we all collectively haven't fully understood the potential and use case scenarios of data feeds, but it sure had to be a feature of the new Soundtoys site too (and as that not just for copy-cat purposes!). So currently you can subscribe to all news and artists, with tags and web links coming soon. You can even subscribe to the entire artist section via the blogroll (OPML formatted) of all available artist feeds, careful though, there're quite a few (260+)!

Speaking of tags, these have become the other main improvement and are used as driving force to re-arrange the collection thematically as well as being the required machanism to browse context sensitive or allow us to add new bits of metadata to content in future (e.g. adding geo or exhibition tags). FWIW tags on Soundtoys are NOT a wide folksonomy (just like on Flickr, only the author can set them [so far]). However, tags can be combined in different ways to narrow or broaden the current context (explained on site).

Altogether it was a fantastic project to learn a vast amount of new skills, technologies, metaphors and standards, some of which have directly to do with my previous posts about code re-use and which I'm still continuing to expound on (more quietly this time ;) in the background...

Enjoy the show!

Friday, February 03, 2006

Processinghacks.com launched

Based on yet another superb idea by Mr. Tom Carden, we launched a new community site/wiki into the Processing universe today:

processinghacks.com

We're still in the process of collecting, adding, updating and heavily editing articles, but hoping to turn this wiki - with your help - into something worthwhile, stable and useful, above all! The wiki itself is a customized and extended version of the great DokuWiki platform with added features especially for Processing (syntax colouring, link types, applet support (coming real soon) etc.)

This is just a quick heads up before the weekend starts, everything is much better explained on the site...