MAAP Player

It's been a while in the making, but I can finally publish the v1.0 of the MAAP player that I've been working on for a while.

The Multiple Artist Ambient Project is something I came across a few months ago and immediately fell in love with, partially because the community based aspect of it was right up my street, but mostly because the music was truly beautiful. I found myself sitting on the page for long periods of time, randomly moving sliders around. The presentation layer annoyed me a little though - just a bunch of inline media players, and I felt it needed something more experiential.

This has gone through a number of iterations and still has work to do on it. Features to be added include:

  • "autoplay" feature where the orbs move around themselves
  • real time visualisation of the sound
  • dynamic playlisting of all the MAAP tracks
  • potentially a change of physics engine for ease of optimisation

I'm indebted to a couple of things in this build - designer Leigh Furby who helped me conceptualise the interface (and didn't complain when I reduced all his beautiful work to a basic circle, fisixengine for the, er, physics engine (which is amazing and easy to implement but sadly seems to have ceased development - even the docs are only half written), and the MAAP project for being such a great inspiration.

http://www.andrewdobson.co.uk/maap/

Tablets, Interfaces and more

Gizmodo have published a really very good article on the eve of the supposed announcement of the Apple Tablet (or iSlate if you prefer). Having spent most of my career considering interfaces of one sort or another, it's given me much to think about. I'm currently midway through a pitch at work which is considering all things future in the way it presents it's interfaces. It's been fascinating seeing a massive organisation try to realign itself as the paradigms literally shapeshift in front of their eyes.

It's hard to explain to elements of an organisation that still think portals are a pretty neat idea, the importance of these paradigm shifts - And yet what Sky have always done so well is to bring complex systems to a consumer audience. Sky+ is a miracle of user design and it achieves this by abstracting the task into a really simple choice: "That one!" - let the technology do all the heavy lifting. All the user wants to do is tape the program they want to watch. By giving them a list of what's showing and let them select "That one!", they need not be concerned with the mechanism by which it tapes it. This abstraction is at the heart of every good interface, from gaming to cash machines.

At Flash on the Beach last year, I heard a quite amazing lecture given by Contrast about unconventionality and the importance of innovating within user interface design and technology. It's really stuck with me, and I've used a lot of their material in my own talks since. Of particular interest was the section on Web forms, and why we collect data the way we do, with long, tedious forms. Compare and contrast to Hufduffer for instance, and you'll see a much more user-friendly example. Brief, to the point, fun and engaging.

There were, of course, those that scoffed at Apple's entry into a well established market with the iPhone, and yet that device laid the foundations not only for the popularity of multi touch, gestural devices, but also to whole new business models (barely a week goes by that I don't hear the phrase "app-store style" - it's up there with "minority report interface"). I strongly suspect that, whatever Apple's announcement tomorrow, these kind of devices will be part of the fabric of our lives in the very near future.

Merry Christmas!

Snow

For my departmental Christmas card this year, I built this Snowflake generator. It goes off to the Adobe Kuler API, searches for 60 color palettes tagged with the word "Christmas" and then generates a little snowflake, based on some patterns that designer Leigh Furby created for me. There's a function to lock the palette, and one to download a JPG of the image, once you've found one you like.

You can play with it live here: http://www.skycreative.tv/Christmas/card/

Preventing server caching for .swf files

I've been having a nightmare with server caching issues today which seems to only be affecting swf files - problematic to say the least since I've been working on something that needs to deploy off a server and not being able to see changes as I dev has caused headaches.

I've found this workaround has worked nicely. Just add a random number as a token in your swfobject embed code:


<script type="text/javascript">
var ranNum = Math.floor(Math.random()*100000);
var flashvars = {
};
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
bgcolor: "#888888"
};
var attributes = {
id:"NewProject"
};
swfobject.embedSWF("xmascard.swf?"+ranNum, "altContent", "500", "700", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>

The basics of setting up a website

I'm writing this for the benefit of a couple of friends that have asked me about websites lately (and who have also been given unnessesarily bloated quotes for simple site builds). While googling for a link for them that might explain things a little better for the uninitiated, I found lots of sales sites but little actual info. I'm publishing this in case it's useful for others.

This is really a very basic guide to getting a site up and running and not meant to be an in-depth technical guide. Most people, at the end of the day, just want their stuff up on the web, looking professional and nice and easy to use. In the article below, I've outlined the basics of what you need and what you should be asking of your developers. I hope you find it useful.

Read more »

A Generative Starfield

I've been thinking a lot about space recently, partially because of the awesome competition my mate at the Science Museum is running, and partially cause I've been thinking about visualisation ideas for next year and this infographic has been of immediate inspiration.

So I was messing around with some graphics libraries last night, sitting up as my son went to sleep, and I made this. It's a fully generative starfield, with nebula clouds. Click on it to generate a new layout.

You need flash for this content to be viewable

There are a couple of notable things about this (not that it's that notable really, but I was quite excited about it). Firstly is the randomise function which I found on Snipplr. This is really just a simple extension of the Math.random() function, but giving it two numbers to randomise between. It's a really useful thing to have actually and I use it not only to choose a random number of stars to create (between 300 and 500 in this example), but also for their relative size (this is a radius between 1 and 10, which I then /10 to get a value between 0-1 (this also then sets the alpha so smaller ones are dimmer) and I also use it for position (this is dead easy, a random number between 0 and the width of the stage!).

public function randomInRange(from:int, to:int):int {
return Math.ceil(Math.random() * (to - from + 1)) + from;
}

The second thing of interest is the cloud nebulae which are a bitmap I've generated on the fly. I discovered that the Bitmap Class has an inbuilt Perlin noise generator (this is the same thing that generates "clouds" in photoshop!) so it was quite straightforward to generate some random clouds. Source to follow

Contact. ©2010 by Andrew Dobson. blogging tool / hosting reviews / fp.
Design & icons by N.Design Studio. Skin by Tender Feelings / Evo Factory.