Category Archives: Fotb

It’s been two weeks now since Flash on the Beach so I thought I’d collect all the links, slides, source code and videos from the various talks and demonstrations here in one place for ease of reference for whoever might need them.

I’ll try and keep this updated as and when I see more appear online, likewise if you see something I’ve missed – give me a shout!

I also thought I’d show off Artillery‘s excellent FOTB titles:

Day 0: Sunday 20th Sep 2009 (Workshops day)

Day 1: Monday 21st Sep 2009

  • Hillman Curtis (site) – Telling Stories
  • Joel Gethin Lewis (site) – Epiphany
    Lights On! in action

Day 2: Tuesday 22nd Sep 2009

  • Jeremy Thorp (site) – Hacking the Newsroom
  • Jennifer Shiman (site) – Using Flash for Your Cartoon and Comic Projects
  • Richard Lord (site) – Frameworks: The good, the bad, and the ugly
    View slides
  • Joel Baumann (site) – Numbers in Art
  • Paul Burnett (site) – More than Bending Pixels
    Source code and examples
  • Karsten Schmidt (site) – We make our own tools, and then they shape us.

Day 3: Wednesday 23rd Sep 2009

  • Andre Michelle (site) – Kling Klang
  • Serge Jespers (site) – The Flash Platform in a multi-screen world
  • Mark Doherty (site) – Contextual Application Development
  • Koen de Weggheleire (site) – PLAY with Vectors!
  • James Jarvis (site) – Live Drawing with James Jarvis
  • Jared Ficklin (Twitter) – Seeing Sound: Visualization in Nature & Code
    Source files
  • Ralph Hauwert (site) – Research Realtime graphics with Flash 10

Note: this post is a continuation of my previous two articles on FOTB: The Beach and Day Two.

Here it is – the third and final day of Flash on the Beach!

Contextual Application Development

Mark Doherty

Mark Doherty started the day filling in for the absent Serge Jespers, who would have been presenting ‘The Flash Platform in a multi-screen world‘.

Mark, known at Adobe as ‘the mobile guy’ gave what sounded to be a very similar talk, focusing on the contextual practices of cross-platform application deployment, rather than (I think) the development of those applications and the devices now available to us.

He outlined Adobe’s three vectors of innovation; Rich Internet Applications, the Cloud and Devices – exploring for each the opportunity to create Flash applications and introduced their newly adopted paradigm and tag line, ‘Single experience, multiple devices’. It’s their wish to enable full engagement of RIA experiences across any device and platform.

He talked about Flash Lite and improvements gained over the previous six years of development. Flash Lite is fast becoming a very powerful tool and it’s Adobe’s intention that it should take leadership of mobile application development over the likes of Java.

But the talk covered more than just mobile devices, for example Mark spoke about Flash for the television. On that he made an interesting point that would run the length of the talk, about the importance of being aware of platform context.

He pointed out that devices like the television are never intended to be turned off, so, similar to Grant Skinner’s note on applications behaving as good system citizens yesterday, these kind of applications need to be aware of memory usage and simply cannot have any memory leaks.

We need to redefine our notion of ‘Flash applications’ and readdress our habits formed as a result of only developing browser-based and non-persistent applications.

Another assumption that cannot continue is that we can get away with deploying an application that can simply dynamically resize for different screen resolutions. This is Mark’s idea of ‘contextual applications’ comes in.

Applications should be platform-aware, true – detect it’s screen resolution, but also be aware of it’s computational capabilities, graphics and data support, it’s interface mechanic and tailor our applications specifically to those.

We saw Gamesplaza.mobi, which detected Mark’s touch-screen phone and served touch-screen games accordingly.

The New York Times have a collection of applications that think along the right kind of lines.

For the NYTimes, there’s the popular AIR desktop application, the Kindle version that serves the paper in PDF form, iPhone and Smart phones can browse the mobile website and there’s a version for the Chumby. Each platform offers a tailored experience and each has its own business model (some have paid subscriptions, some serve ads), but each is powered by the same service.

We saw UVLayer, a cloud-based virtual desktop and media sharing service funded by the Open Screen Project. UVLayer comes in two forms, visited in the browser or on a mobile device and the pair demonstrate this idea of contextual applications very well. The desktop is a place to administrate, manage an organise your media, but on the mobile the interface is remodelled and prioritise for the tasks you’d most likely want to carry out on a mobile – like watching and sharing those videos, photos and messages. It’s a different view of the same service.

The bottom line from Mark and Adobe now; don’t just scale or appropriate your application, recognise that platform, choose and serve content specifically for that platform and that context.

Connecting the Dots

Mario Klingemann

Mario Klingemann is a self-confessed ‘maths groupie’, likening his attraction to not being able to play the music, but loving the band.

His talk intended to reignite all of our lost love for maths, expelling all our bad feelings of the dry and boring maths taught in schools by delving into the beauty of geometry, the intricate patterns of computational design and the universal truth that only mathematics can behold.

He drew colourful metaphors of maths versus art, likewise of famous mathematicians and artists, before diving into number theory; his investigations into prime numbers with the Ulam spiral and Sacks spiral, before returning to geometric art with the tessellating and tiled designs of Islamic culture.

He offered some recommended reading on the various subjects, for example Daud Sutton’s Islamic Design: A Genius for Geometry, Robert Dixon’s Mathographics and Jay Kappraff’s Connections: The Geometric Bridge Between Art and Science.

Mario reunited us with cellular automata and algorithmic based systems to create some impressive visualisations. Making a connection with Flash, he plugged in Pixel Bender and created controls to alter system rules and introduced randomised variables to look for reoccurring natural visual phenomena, analogues of cellular or organic formations.

Another book recommendation – Stephen Wolfram’s A New Kind of Science.

Then he went on to talk about a bit of a game he had with Ralph Hauwert (UnitZeroOne) on Twitter, when he saw that he had sent out a Base64 encoded image message (explanation), where he tried to find if there were any other techniques he could employ to compress more complex images.

He applied a number of algorithms, encoding and compression techniques, then went on to exploit Twitter’s UTF-8 encoding and use Chinese characters, so it eventually ended up looking like this:

Mario Klingemann's encoded tweet

All very interesting, even though a lot went over most of our heads. He ran out of time eventually, but finished off the talk later in the day at the Jam Throwdown.

My colleague Adam Cousins joined me on this third day, he has written about Mario’s talk on his blog. He plans to write about rest in the coming week.

Union and MegaPhone

Colin Moock

Colin Moock‘s session looked at multi-user interactive activities and how he believes that multi-user activity is the future of all applications.

He questions how many of us would still be using computers if it were not for the Web, or an Internet connection. He thinks in the same way that the Internet adds value to computers, multi-user activity will add value to applications in the future, if not be the main use for those applications. In fact, that they’ll be pretty rubbish without it.

It’s something he’s felt for a while, he pointed to his Unified computing lecture of five years ago as an example as to how long he’s been thinking about it.

So Colin has developed the Union Platform. Currently in an alpha state, Union is a development platform, server architecture and protocol for creating such multi-user applications.

The Union platform breaks the complexity of multi-user application development down into a small group of digestible, familiar concepts; clients, the server, messages, rooms and attributes. It enables rapidly produced systems and supports Actionscript 3.0. Read more on the Platform Overview page.

We saw a demo created by Clockmaker, a 3D multi-user Tenori-on, deployed and ready to play with right now, and then he quickly coded a simple chat application which could send and receive real-time chat messages.

Writing it live, at one point Colin’s code had an error – of course with everyone watching there were plenty shouts from the crowd as to what was wrong. He said we just proved his point as to the value of introducing multiple users :) .

Then he talked about MegaPhone, a product that enables multi-player games and activities in public spaces by turning your mobile phone into a ‘universal controller’.

The idea comes from the assumption that pretty much everyone has a mobile phone nowadays (in the Western world, I guess), that we’re all ‘connected’ in the sense that we all have a device of this kind in our pocket – so why not enable us to converge with them and interact with each other, or with an interface in a public space.

MegaPhone enables any phone to work on any screen because it doesn’t require any kind of installation on the hardware, it uses the features that all phones share – dialling, voice and the keypad. It;s just a facilitator service, it’s not app that’s pushed onto the user – thus, it is the universal, and universally compatible, controller.

We saw the concept demos, a big screen Whack-a-mole that required lots of synchronised shouting and ‘Grabber’, likewise a relatively straightforward volume-controlled game where the user shouts in an attempt to get their character to grab various objects displayed on a big screen.

Colin is the core technologist at MegaPhone, so aptly he showed us some code. It is intentionally very straightforward, six or so listeners that refer to calling, hanging up, key presses and volume detection, all with custom event handling.

There’s contact details on the MegaPhone site to apply for a developer key now!

Jam Throwdown

Grant Skinner, Mario Klingemann, Julian Dolce, Andre Michelle, Jer Thorp, Joa Ebert

The Jam Throwdown premise is simple, six speakers have ten minutes each to do whatever they want – presumably to do the best they can to impress us. We were told to expect demonstrations of some of their best work or greatest failures, previews of as yet unseen apps or experiments, perhaps even some live coding – and undeniably every speaker succeeded in their task.

First up was Grant Skinner who demonstrated some physics and collision detection experiments he had been playing with, eventually combining them with the sound spectrum API to create a pretty cool dynamic audio visualiser.

Mario Klingemann continued showing the results of his image encoding techniques from his earlier Connecting the Dots session.

Julian Dolce demonstrated a handy tool to compile multiple FLA files, using Eclipse, by way of an ANT task.

I was probably the only one excited about this – generally I use a PC and I’ve heard you can write AppleScript to do this on a Mac, and Flex can do this anyway but Flash usually can’t. Good news is, it’s all available on his website and it can handle straightforward publishing, debugging, FLP files, intelligent error handling and is also available from the command line.

André Michelle extended his ‘Kling Klang’ talk on manipulating sound and run-time audio processing from earlier that day. He devised various algorithmic techniques for sound manipulation, creating delay effects and playing with feedback. There were some incidental sound experiments, a Tenori-on sequencer, more visualisations and a very cool graphical synthesizer tool.

View the slides on his site.

Jer Thorp showed us a piece of his work commissioned to design an accessible playground, but for which he employed very unconventional design techniques, largely by designing using Processing both in 2D and 3D.

Then came Joa Ebert, who had an incredible session on Tuesday which was already the talking point of the conference, anyone who hadn’t seen it had definitely heard about it.

Where everybody else had spent the full time talking and presenting their work, Joa just said “Hello,” queued some thumping dance music and immediately sat down to speed-code for the whole ten minutes, wowing us by creating a fully-realised 3D sound visualiser written in Processing.

Needless to say it was outstanding, not to mention that he afterwards revealed that he uses a keyboard without glyphs.

You can see the whole video on Vimeo:

Seeing Sound – Sound Visualization in Nature & Code

Jared Ficklin

With a DIY mindset, Jared Ficklin explored sound visualisation with and without code in a Maker Faire/Brainiac-style session.

Using smoke, fire, oscillators and costumes he worked through the physics of sound and waveforms and how they can be visualised.

We saw some of his work with the sound and sound spectrum APIs, visualisations he’s created in the past and a few by other artists such as Annika Hamann’s Fowl Owl and Robert Hodgin.

He offered tips and best practices on how to work with sound in Actionscript specifically.

Although the talk was very hands-on, he couldn’t do everything he wanted to do on stage. Especially set fire to things.

He had a enactment of a Rubens’ Tube, with a long hollow PVC tube filled with bean-bag polystyrene balls, passing a sound through the tube to watch the air pressure change the shape and form of the balls as it passed down the length, modelling the balls mimic the sound waves.

Do see the real thing in action, with fire, he showed us one he prepared earlier:

Space

Joshua Davis

Flash on the Beach closed with an exceptional talk from Joshua Davis who explored the notion of Space. Not so much space as Astronomy, although apparently 2009 is the International Year of Astronomy, but of course with regard to design.

He talked about design technology, his approach to computational design and his past pioneering work with Macromedia Flash.

He talked about his work with other artists such as Stefan Sagmeister (as did Hillman Curtis on Monday) and Branden Hall, with whom he created Hype – an Actionscript framework for creating visual and generative art.

To see Hype in action, there’s some nice examples here and you can watch Joshua and Branden’s discussion with Carlo Blatz on Powerflasher’s blog.

Joshua went on to consider the notion of the physical design space, showing some work from various exhibitions, some interactive installations and his work with printed art.

As with every of the inspirational talks of FOTB this year, I’m going to cop out and say you really had to be there. Joshua is a funny guy and had everyone hugely entertained, as I’m sure you can imagine if you’ve ever seen him speak.

His presentation is also online now on his site (in zip format), which shows some of his great work.

See you next year!

And that was the end of Flash on the Beach 2009!

Needless to say again, it was a great conference. Honestly I didn’t know what to expect before going, this being my first year, but if offered so much more than I would have imagined it could. I go to plenty of other conferences, groups and conventions and this beats the lot.

John Davey insists that Flash isn’t a product, it’s a mindset – and Flash on the Beach captures that.

As for the organisation, it was flawless, and there was a huge amount of freebies thrown in too.

Thoroughly recommended, I’ll definitely be going next year!

Note: this post is a continuation of my previous article on FOTB: The Beach and continues with Day Three.

Day two of Flash on the Beach would prove to offer even more Flashy goodness than the first, with great talks throughout the day and wowing us every chance they got.

Elevator Pitch

3 Minute Wonders

The day opened with an hour of elevator pitches, allowing twenty solo attendees to individually take the stage for three minutes at a time to show their best work, idea, code or drawing – whatever they liked really. The idea being to give those brave enough an open audience to show off the coolest thing they’ve got.

And there was some cool stuff.

Mostly we saw people’s new business ideas and apps, lots of games and Actionscript experiments. A lot of them actually were projects that have been declared open source and some creators took this time to call freely for collaborators and testers. There was also a couple of generative artists thrown into the mix too.

All in all, given the talks that we ended with on Monday, what could have been an absolute incoherent shambles (as event runner John Davey did seem to worry about) came across as smoothly planned and well informed.

Probably the most useful project to note, I thought, was presented by Conrad Winchester called ASAXB – a tool that intends to put an end to the endless serialisation of XML to and from objects in order to handle your data with code.

Inspired by Java’s JAXB, it enables you to annotate code for marshalling and unmarshalling from Actionscript to XML. You don’t actually write the code that does the conversion, instead you give instructions to the marshalling system about how to package your object as XML and it does it for you. This is one of the open source projects that I mention.

Another talk was a really quick comparison between Objective-C and Actionscript 3, from Nick Kuh. Previously I’ve been a bit unsure about why Flash developers are either expected to (or keep banging on about) iPhone development – but somehow after seeing this I figured, it probably doesn’t matter. It probably doesn’t matter whether we should or shouldn’t be (or be expect to be) developing for iPhone or with Objective-C, ultimately, as this guy said – it’s just another language. In fact, the plus is that it’s an object-oriented language – so anyone with knowledge of OOP is halfway there already. So why not, eh?

Quick as a Flash

Grant Skinner

Basically, Grant Skinner is the man. You probably already know this, if not you should.

Grant’s talk was on optimisations for Actionscript. He went through a whole ton of techniques, practical examples, demonstrations and supplied code snippets from the most basic alterations to some pretty advanced trickery to provide ways to improve the speed of your code and relieve the CPU operating your applications.

Most people are aware of simple tips and best practices you can assert, declaring a loop length outside of the loop itself, collapsing literal values, using multiplication instead of division – those kinds of things – and Grant often blogs or tweets bits of code (he showed us some nifty bitwise tricks I’ve seen him post somewhere else before). But there was so much here, some stuff I’d not seen before and a lot I would never have even thought would really have any impact on performance – but wrongly so.

For the majority of his optimisations he provided timed tests and metrics for true comparison. Demonstrating the different ways of carrying out the same logic, highlighting areas that are easy improvements and black spots you should always avoid.

The optimisations weren’t only code-based either. He spoke about the other wages on performance, on-screen media (audio, video, webcam) and graphics (renders, filters, composites).

He also discussed the garbage collection of the current Flash Player and how to ensure there is an allocation for it to operate. He also considered the differences in the performance of the Flash player when running within the IDE, or standalone, or as a plug-in for the browser. There’s quite a difference.

This led on to his exploration of how to measure your own optimisations and to the tools that he has to offer to do so. See his PerformanceTest, FramerateThrottler and Janitor classes, to name a few.

There was a great depth to everything he said, he discussed qualitative and quantitative testing and the importance of benchmarking your tests.

Actually he made an interesting comment at the very beginning of the talk, stating the need for our applications to be good system citizens. As Flash matures and AIR becomes an ever-more solid desktop runtime, we can’t expect to hog the CPU anymore or for users to excuse that. It’s relates to my thoughts during Mike Chambers’ session with AIR on Monday, that I wrote about in my last post.

Anyway, the serious value of the talk really was in the code he provided and I’ve barely mentioned that. There was actually one hundred slides in all and I can’t hope to relay everything here. Fortunately his slides are already online, so read them here if you missed out. It’s such a great resource to have all those in one place.

Leaving the Sandbox

Joa Ebert

Grant Skinner is the man, because Joa Ebert cannot be human.

Joa’s talk was also about optimisation and began with some shared components of the last talk, but it soon became clear that his was ridiculously hardcore in comparison.

Joa took us down to machine code-level to analyse optimisations, scrutinising the compiler mechanics and the processes it performed during compilation.

He demonstrated the first of his frameworks, AS3V, a code-validator like no other for Actionscript 3. Born out of unhappiness with the current compiler and other code validators, AS3V will generate warnings and offer optimisation tips upon detecting exactly the kind of code that Grant talked about improving earlier – not just code errors.

For example, he talked about loop invariants, a often-encountered situation where a value is declared inside a loop even though isn’t changed with every iteration. Of course, this code compiles and executes, but needlessly takes longer to process (having to instantiate a new variable each time). His validator, available as an Elipse plug-in, detects those kind of code inadequacies and alerts the user at author time. It points out code that will run slowly, not only code that won’t run at all.

The tool looks for the breaking of coding guidelines and best practices, as well as opportunities for runtime errors – where compilers of course, only look for compilation errors.

Turns out Joa was only getting started at this point. He spoke about another framework he developed during ‘a week off’, called Apparat. This is a monolithic framework behind a number of other tools he then went on to talk about, all concerned with optimisation.

The first was TDSI, TurboDieselSportInjection! an optimisation for Alchemy – you can see some examples here.

Second there was Reducer, which reworks the JPG compression for SWF files to make them an incredible ten times smaller at 100% quality compression, or obviously even smaller at lower percentages.

Then he demonstrated Dump, a disassembler that looks at machine bytecode for the purposes of debugging and can also be used to generate inheritance graphs and UML diagrams from compiled SWF files!

Finally he presented TAAS, ‘Three Address Action Script’, which is an optimiser for the Actionscript compiler rather than the code.

Joa wrote this program to find inefficiencies in the compilations process, for example finding opportunities to rewrite algorithms, perform dead code elimination, some relatively ‘straightforward’ stuff like single static assignment and in-line expansion – and even to make use of functions that Adobe have written into the compiler but don’t actually use!

He showed that when performing calculations on to ints, the compiler converts the values to Numbers (and back again) in order to use the Number calculator even though there is an int calculator available.

Ultimately, he compiled with his optimiser and the performance increase was simply amazing - calculations and transformations faster than anything I’ve seen before, and I’m sure faster than Adobe have ever seen either. I cannot see why he doesn’t work for them. It’s not released yet, but you can follow updates on his blog.

Joa Ebert by C4RL05 on Twitpic

Joa Ebert by C4RL05 on Twitpic

“Oh yeah,” he then said, “I’ve got one more thing” (this was after plentiful applause and people were already getting ready to leave).

As if he hadn’t impressed us enough, Joa then showed us, in seconds, that he’d written two more new compilers himself – one that compiled C# directly to a SWF file and another that compiled Java to a SWF file.

I kid you not. Then came a lightning fast fly-through look at how they work (that probably no-one understood), some proof it was live and working and real – and he deserved the standing ovation he got.

Have a look at how many wowed tweets immediately followed his session, including those from some speakers who were present. It really was something.

His slides are also up online now, they’re over on Slideshare here.

More than Bending Pixels

Paul Burnett

After lunch I attended Paul Burnett‘s session on Pixel Bender, a tool I’m still yet to use.

Honestly, I didn’t really know much about it before I turned up, of course I’d heard about it and had seen the getting started demos everyone has seen and I think a lot of people were at the same situation there – keen to see what it can do and hope to see more than just the basics covered. It was packed.

So he started with those basics – the spherize, twirl and tangent flip filters, but quickly ramped it into something interesting. He shared with us the thinking behind the tool, how some of the mechanics work.

Pixel Bender actually runs as a different thread to Flash (now I think about it, they mentioned this at Monday’s Town Hall meeting when asked about threading), so any processing it performs, regardless of the task, does not impact on the speed to which Flash performs. This can be leveraged in interesting ways (more later).

We looked at the anatomy of a Pixel Bender plug-in – the PBK kernel file, the code of which you can edit and how to run this file in Photoshop. Later, the PBJ file which is the compiled extension used within Flash.

Pixel Bender plug-ins are developed within the Pixel Bender Toolkit, essentially another IDE which comes with Flash CS4. Apparently though, it’s hidden away somewhere (in a utilities folder?), perform a search and find it for yourself.

Within the toolkit we dissected a filter script, discerning the role of parameters and how to manipulate images on a pixel-level with the evaluatePixel() method. Ultimately we threw a plug-in into Flash and got something running – basic shades and blends, how to duplicate an image, return two versions, how to use multiple input images and how to write straight from Pixel Bender without supplying any source at all.

This is all very cool anyway, but Paul mentioned that it’s not only image manipulations that Pixel Bender can perform, essentially it’s any kind of data.

He showed us how to send a sound file through a filter, with a simple plug-in that looked an instance of a Sound class (sent as a ByteArray) and performed a similar function to the duplication of an image, by returning itself and the sound at a position slightly earlier, creating a delay effect.

In the same way that a Pixel Bender filter looks at an image pixel-by-pixel and returns a stream of modified data back out, the sound byte array is considered the same. He basically listened for a data change event on the instance of the filter, passed that into a new Sound object (with a bit of a buffer) and played it in real-time. Very cool.

There’s far more simple stuff you can do – he demonstrated a six channel mixer that received six sound files, contained six parameters – a value to determine the volume of each channel – and passed them straight back out after a simple transformation on the amplitude, easy and very responsive.

Persisting that ‘data is just data’ and Pixel Bender doesn’t care what it receives, he then sent some pure numbers to a filter to perform simple trigonometry calculations.

At first this might seem a little needless, seeing how Flash can perform these calculations after all, but then you recall that these processes are running as a different thread.

He provided us with an example that called for some heavy calculations to be processed whilst simultaneously playing a video clip on the stage. With normal Actionscript the calculations caused the video to hang and the framerate to drop, but by utilising Pixel Bender’s own thread and mathematical processing power, by sending the calculations there instead, Flash is left free to play the video as in any normal instance whilst Pixel Bender does it’s own thing – it just reports back when it’s done.

Then David Lenaerts of Away3D joined Paul on stage to show some impressive demos of Away3D which has adopted Pixel Bender for lighting effects and texture mapping. Some very nice reflections, lighting effects with fire and ambience and an example with a human face that renders sweat, scars and frowns all with the tool. The examples are here on David’s blog and here on the Away3D blog.

Paul has now put this slides and source online on his blog.

Unconventional Web applications

Contrast

For the first of the two inspirational talks of the evening, Dublin-based Contrast, in the form of Des Traynor and Eoghan McCabe, spoke about creating unconventional applications. They explored the notion of conventions – on the Web, in design, in life – praising the importance of following them and the ramifications of those who do not.

They discussed the problems of only following conventions; the restriction they put upon innovation, the idea of being lazy by essentially following suit as a rule of thumb, and the decreased marketability of products that can only follow a trend.

They were well versed in product design and consumer technology and pointed to some of the champions of unconventional design, the success stories of those that broke the rules. Apple with the iPhone, for example, who launched a radical mobile device in one of the hardest markets to penetrate; the Dyson vacuum, a product in a saturated market which is bottoming-out and the lowest price wins (which is the worst way to win); and the Nintendo Wii, which swam against the ever-rising tide of hyper-real graphics and enhanced performance and instead reinvented interactivity, engagement and had some fun.

Then they took these ideas to the Web, prompting a challenge to conventional wisdom on layouts, the sign-up process, the home screen and even copy.

All their points were valid, but I couldn’t help but feel that their information was a bit outdated. Especially with regard to the current state of the Web – especially, unfortunately, toward rich media, Flash sites and RIAs.

Their critique of Web design for example, seem to dissect the kind of HTML sites that were popular four or five years ago, where people weren’t daring to break a two- or three-column layout, with an inverted ‘L’ navigation and probably Times New Roman. Back then of course their ability to do so was somewhat limited too. But we’re at a cutting-edge Flash conference, where everyone knows what you can do with websites now and we’ve been treated to amazing demonstrations throughout the whole day, so it felt like these guys were equally a bit behind with the current state of play.

They showed a site as an example of the kind of rule-breaking they want to see, but it was very basic – an almost entirely static one-page Flash website actually with the kind if obfuscating highly-convoluted navigation mechanism that we look back and frown upon. One that overuses Flash for the wrong reasons.

At one point Des actually said ‘the Web is moving toward multimedia now’ and there were a few suppressed sniggers in the crowd, but then earlier in the talk they had openly admitted to not really knowing much at all about Flash, it’s not their field, so no-one held it against them – especially since the rest of the presentation up to this point extremely insightful.

Choose Your Own Adventure

Craig Swann

Craig Swann‘s session was like no other. What started as a journey through his childhood from early coding days and finding his way onto the Internet, turned into a profound and existential exploration of life, success and creativity.

I honestly can’t relay his talk, how he took us from his college years to the Grateful Dead, via a trip on liquid acid and praying with Santana, to exploring cymatics, to founding his agency, and what happens when you run polygraph tests on plants or get Buddha monks to talking to rice and water.

(All of this happened).

Bottom line from Craig: you choose your own adventure – “We are what we think”, inspiration drives opportunity.

End of day two!

Update: I’ve now written up my thoughts on Day Two and Day Three.

Now in its fourth year, Flash on the Beach has quickly grown in to one of the most popular Web conferences in Europe. This week hundreds of developers, designers, gamers and animators (you name it) have arrived in Brighton to see and hear the latest news and innovations in the Flash world. I’m here and until Wednesday, trying to get to the best of the packed schedule.

Flash on the Beach 2009

Keynote

Richard Galvan and Mark Anders

The conference opened with a keynote from Adobe’s Richard Galvan (product manager for Flash Professional) and Marc Anders (Senior Principal Scientist).

They started with the usual kind of Flash Player boasting, statistics, looking at the penetration and speedy uptake of the past versions for the last view years and looked over some of the feature successes of 2009 before outlining what we can expect in the near future.

Of those success stories they particularly highlighted the prevalence of 3D, the perspective API in particular and the new drawing API. With both, celebrating the growing power of the Flash platform in their ability to handle these developments as they’ve promised years previously.

They talked about the forthcoming release of Adobe AIR 2.0, demonstrating some of the popular applications that have surfaced this year in TweetDeck and Fanbase.

Elsewhere on the Flash player, the new text rendering engine looks impressive. The forthcoming update easily renders ‘print quality’ text in any reading direction – not only bi-directional right to left, but supporting languages such as Thai, Hebrew, Arabic and Asian languages horizontally and vertically.

We had a sneak preview of what else is to come in the CS4 update. Inclusive of the above text advances; authors will have a far greater amount of control over editable properties, more toward the likes you would find in Photoshop (kerning, ligatures, etc) as well as the TLF (Text Layout Framework) improvements which can link multiple text fields like columns, as to what we’re more familiar with in Adobe Illustrator.

There’s a keen initiative to make life easier for newcomers to Flash – and designers ;) .

For example, there are now a number of code snippets bundled with the Flash IDE which, whilst not being anything brand new at all for most workflows, has been lacking in Flash for some time. These will beparticularly beneficial for those experiencing migrations problems from Actionscript 2.0.

Alongside those, the code IDE also has both auto-completion and code introspection for custom classes.

As has always been Adobe’s intention, there’s a continuation of tightening the integration of programs across the Creative Suite.

Flash Professional and Flash Builder (the renamed Flex Builder) have a partnered workflow between coding and design environments. Documents can be created within the Flash IDE and a document class be generated and automatically be launched within Flash Builder. Flash Builder in turn has compile and debug shortcuts via the toolbar to switch back and forth with Flash thereafter.

The keynote concluded with Mark Doherty joining Richard and Mark on stage to demonstrate some of their developments with mobile devices. Showing Flash running (almost) natively on a few mobile devices and even promised their first television platform support – though poor cabling let down the demonstration.

Advanced Desktop Development with Adobe AIR

Mike Chambers

The first talk proper I attended was with Mike Chambers exploring some advanced techniques with Adobe AIR. Since it’s release 18-odd months ago, there’s been plenty of entry-level talks and tutorials at conferences I’ve attended, so I was looking forward to a more advanced demonstration.

Mike went through some of his contributions to the AS3corelib, a must-have library of tools that came around last year.

The first was the FileMonitor, straightforward enough, is a handler class for monitoring changes to a file on the system marked for observation. The class dispatches events on modification and movement (or if it is deleted) by polling the file regularly and, basically, looking for changes to the last modified date. Mike noted that this class and the VolumeMonitor, which he demonstrated next, essentially facilitate what AIR natively ‘cannot’ really do. They’re not particularly hacks, but workarounds until the runtime supports these functions natively.

Mike also talked about the AIR 2.0 release, that as well as having the performance improvements you’d expect, checks off a few of the most popular feature requests, which was one of Adobe’s highest priorities.

He demonstrated the StorageVolume API, which monitors for USB mounted hard drives. He recorded a video with a flip camera and handled the file transfer within an AIR application which detected it’s mounting and read the file contents.

This really made AIR look like it could eventually be a very powerful desktop runtime (and already it’s pretty damn good as it is). But with it’s seamless connection with the hardware devices and by seeing it confidently carry out the kind of tasks you’d expect more traditional proprietary software to perform was really something.

Likewise, Mike showed some examples of storing persistent data for applications by creating custom file types. He also utilised the application cache, by way of the ResouceCache class, to optimise processing. This of course also allows you to access these kinds of assets whilst offline, which after all is half the deal with AIR. It too really made AIR look like a far more serious, or at least a more mature platform than it’s young age may otherwise suggest.

Finally he talked about forthcoming changes to running native processes and applications – and this is a huge deal.

I’m sure this is would have been the most requested feature by far – that AIR should be able to launch files in their native apps and run other applications or processes securely from within it’s own runtime.

Mike was the developer of the CommandProxy, a proof-of-concept bridge between AIR and the OS by way of a secondary application (running in the background), but this development now makes that obsolete. This would be able to talk to other applications the correct way, whether that application is something like Photoshop or a command line process.

Apparently though, if you do use this functionality, you can no longer distribute your applications as an .AIR file. Although your app will still be completely cross-platform (this is important to Adobe, he says) you’ll have to export as the platform-specific executable – so a DMG or EXE file, for example – though handy as it is, the compiler will produce these for you :) .

Mike has now uploaded his notes to his blog here.

HelloEnjoy

Carlos Ulloa

Next up was Carlos Ulloa who discussed a selection of his latest work for his studio HelloEnjoy. Founder of Papervision3D, Carlos (as ever) didn’t fail to impress.

The first project was ‘Flowers’, a very intricate visualiser and editor for forms of artistic models of abstract 3D flowers. Whilst offering a very simple interface to manipulate the characteristics of the flower – shape, size, colours, in real-time – it hid some extremely complex mathematics and transformations behind-the-scenes.

Carlos took us through how the project was conceptualised and ultimately built, referring to some of the libraries he used along the way – Flint particles being one of them, as well as the excellent GouraudMaterials for shading.

Secondly he demonstrated EnergyLab – a relatively straightforward game mechanic, but executed to the highest levels of workmanship and attention to detail that I’ve probably ever seen in such an application.

Having visited the site before and being impressed enough simply by the experience it offered (it deservedly won a FWA, too), I hadn’t truely realised how much work had gone into the development of the project – particularly the 3D work more in the combination of Papervision and Maya, than the video production which is arguably more striking.

Carlos went through an extremely complex and lengthy process to achieve the desired visual results requested by the client, who pretty much came to them with a video full of CGI and asked “Can you do that?”. It’s exemplary of the powerful effects that can be created in Flash as boasted in the keynote.

Working in parallel with Papervision and Maya, for weeks scrutinising every detail of the project it would seem, it’s as much also a remarkable achievement of workflow and process. I don’t think that playing the game really represents this.

Finally we saw walkthroughs of HelloRacer, an iPhone application developed with Unity 3D in just a week (the online version of which can be seen on Carlos’ blog), and the popular HelloEnjoy website – newly improved with extra models and sound. By this point most people were already pretty blown away, Carlos made this look relatively simple - he sets a high bar.

Adobe Town Hall

Adobe Flash Platform team

This session was a face-to-face Q&A between the leaders of the Flash platform and the community at large, an open-mic style meeting allowing anybody to fire any questions they had.

The team was Richard Galvan, Mark Anders, Paul Burnett, Andrew Shorten, Mark Doherty and Lee Brimelow.

Most questions related generally to workflow, feature requests or concerns over software bugs, with the odd teething problem with CS4 thrown in. However a few points are worth nothing outrigh.

For one, the panel were asked about threading and whether there are any plans to support some kind of threading in the Flash Player (ever, at all). I thought this would produce an outright “no”, but it seems it is something that they’re considering. No doubt due to the high amount of requests. They said, whilst threading is very hard to achieve and in no-way present in any form natively for the player right now, they’ve looked at other methods of running concurrent tasks seen elsewhere with the likes of HTML5 or Grand Central Dispatch, to facilitate something similar. So although there is a definite interest, what we might eventually see may not necessarily be ‘threading’, per se.

Another (perhaps inevitable) question asked for any update on the status of Flash for the iPhone – both for support in the Safari browser as well as potential to run applications natively on the platform. Disappointingly, there is none. This was an outright blank – although of course, it’s still a target. Adobe will demonstrate Flash Player 10 to the best of its ability at Adobe MAX 2009, but other that that, there’s no new plans. It was actually at FOTB last year that the first announcements were made.

Thirdly Flash Media Server got a mention, FMS is something I have a bit of a soft spot for. The question was asked as to whether it will ever support AS3 – currently it’s a cheap version of AS1, which is basically Javascript. Though unfortunately here too, they had no news to offer – more to do with the fact that none of these guys work on the platform personally, so they couldn’t offer anything. But it was said that the platform is still being developed though, and it’s probably just ‘a matter of time’.

Finally there was a quick conversation about the ‘headless’ Flash player, a distribution for search engines to allow indexing of Flash-based content (SWF files). I wrote about this when it was announced, but it sounds as if it might now be released again but for developers to play with – for the same reasons and SEO purposes so we can see how it works inside-out, but also as a tool that could be used for the likes of automated testing, or anything else that we might be able to come up with.

Another note taken from the session actually, it seems that Flash on the Beach is unfortunately ‘too close to MAX’, as I heard on multiple occasions. Adobe are obviously holding back from secrets for MAX, fair enough, but it was disappointing to hear this said a few times to the crowd of eager community members who’ve paid their hundreds of pounds for their tickets.

Cybernetic Art Revisited

Dr. Woohoo!

Flash on the Beach has been noted for a being a conference that despite it’s name isn’t solely concentrated on Flash. Although you’d expect the whole platform to be covered (Flex, AIR, etc), which it is, FOTB also hold sessions on technologies only loosely associated with Flash, other Adobe products and pure Web technologies too. They’ve held talks on the likes of Processing for example, and there are talks about technology in general. This was the first of those kind for me.

Dr. Woohoo! talked about his time working with cybernetics and digital art and his paradigm of Art + Science = Serious Fun. He talked about about the people and places that have influenced his work and shaped his career to date.

He spoke about his time at the Santa Fe complex, showed some great recordings of the Art && Code symposium and other exhibitions he’s attended, spoke about the current state of affairs with reference to projects like Computer Vision and more recently Project Natal.

He then demonstrated his latest work with a ZCam and openFrameworks to drive mini-bots around his podium on stage.

There was a lot of name dropping and references thrown in to books and other institutions, recommended reading and quotes from luminaries of the field (far too many for me to write here). His blog is regularly updated, so hopefully his slides will eventually surface there.

Telling Stories

Hillman Curtis

Telling stories was another such session.

Hillman Curtis was the Art Director at Macromedia when Flash was first born in 1998. In his talk he spoke about his journey from then until now, his work with photography, film and Web design and his influences and muses found along the way.

We saw work from his portfolio and part of his latest film; a feature length documentary on David Byrne.

Despite being another code-free talk, it was attended by all event-goers and met with a compelled atmosphere no less.

I actually though this was very well placed at the end of the day, it seemed to encapsulate everything about why we do the things we do, even if not talking directly about our software product itself.

Epiphany

Joel Gethin Lewis

That was the end of the daytime sessions. After a break we returned for the first of the ‘Inspired’ evening sessions of the week. These talks aimed to be free of code too, if not development entirely, hosted purely for inspiration and the feel-good factor.

Joel Gethin Lewis is an interaction designer and artist who previously worked with United Visual Artists.

We saw some of his work there including the brilliant Regent Street Christmas lights of 2007. The huge light installation claimed to be the first ever ‘interactive’ Christmas lights created, the formations and lights changed based upon the density of shoppers below and other factors such as surrounding weather conditions, captured by cameras and climate sensors hidden around the street.

Since then he has founded two new companies, Hellicar&Lewis and YesYesNo.

From the latter we saw their project Lights On (also currently on the YYN homepage at the time of this writing), a massive audio visual performance created for the opening of the new Ars Electronica museum. With YesYesNo, he spoke about his work with openFrameworks and Computer Vision also.

He also worked on another great project called Contact, a floor-based artwork commissioned by the British Council that tracked the motion of those walking over it and generated physics-simulated shapes and objects below them on a giant LCD surface.

The thing is, this project was developed in about two weeks and made possible only by leveraging open source software. It’s with this possibility and ultimate realisation upon Contact’s success that that Joel reached his ‘epiphany’; that in his opinion, all software not only need not be paid for but should be free and open source.

Enthused, he found a whole host of open sourced software and similar successful projects and became set on being a champion of the open source school of thought. There’s a great article from Creative Review earlier this year in which he and partner Pete Hellicar talk about their experience.

All in all, a great first day from Flash on the Beach – all boxes ticked and more, exceeding expectations already.

I do apologise for the lengthy post, worry not – I’m sure I can’t keep this up. :)

Is a dream a lie if it don’t come true, or is it something worse?