conference

My Flash On The Beach Experience

Thursday, October 2nd, 2008

We just returned from Flash on the Beach in Brighton and had a great time. There were some fantastic sessions that were really inspiring both in the messages given to the community and in the actual skill displayed. Here’s a quick rundown of the sessions I attended and what I thought of each one.

Flash Now and in the Future
The conference started out with Richard Galvan and Serge Jesper giving an overview of Flash, AIR, CS4 and that sort of stuff. Looks like CS4 is going to be a huge upgrade over CS3 with some much needed features being added to Flash; being able to filter the library will be very useful and being able to stretch and squash timeline animations (e.g. a 100 frame animation can be extended to be 200 frames while keeping the same keyframe ratio to preserve the animation) is pretty awesome after working in 3DS Max (which has had that feature for ages).

The best way to predict the future is to invent it
After the keynote there was a choice of sessions to go to and I decided to check out Carlos Ulloa’s talk, mostly because I’m interested in Papervision3D and anything related to 3D. The session was interesting and highlighted some important performance issues when developing in 3D for Flash (although I knew a lot of it already, coming from a 3D background).
There were also some good ideas for developing 3D worlds, although I was a bit disappointed in how simple the end result (a reconstruction of Monaco) looked (though to be fair, the car model was pretty detailed). Hardware is only getting more powerful, however, so we’ll have to wait and see what Papervision3D is capable of in a year or two! GPU capabilities in the Flash Player should also help a lot here.

Brilliant Ideas that I’ve Blatantly Stolen
Branden Hall’s talk had some good ideas and concepts in it, both in the ideas presented and actual techniques shown. Overriding x/y to turn them into tweens is a good idea and something I’ll likely use. The whole concept of stealing ideas and using and improving them is a good one and kind of follows the idea behind open source. Why reinvent the wheel?

Exploitable acts of playfulness
This talk opened up with a few technical issues and a reboot (this was actually the only speaker I saw using Vista; not very encouraging!) but once that was sorted Andries Odendaal showed off some of his work, which was very impressive.
The most technically impressive thing was an infinite image mosaic, where an image was displayed that was made up of smaller images, with those images made up of smaller images, with those made up of smaller images, and so on. The calculations were being done in real-time as he zoomed in, with newly appearing images dissolving into their component images.

Creating particle effects with Flint
Not much to say about Richard Lord’s Flint session except that Flint looks really cool. I was impressed to see that it can do flocking operations and the snow effect looked very realistic. The fire looked a bit weird to me but fire is just one of those things that no one will ever really get right (especially with the processing limitations of Flash).

Beyond the Knowledge: The Art of Play
Some really impressive stuff was shown in Erik Natzke’s session. He basically wrote a bunch of applications to paint onto a canvas with various effects taking place, like inverse-kinematics ribbons following the mouse around and painting a trail behind them onto the canvas. Some of the stuff he created looks really nice and as a developer I can appreciate the complexity of the process behind it.

Modulating a Lot
This was definitely the funniest session of the conference. James Paterson gave a rundown of his life and the work he has done across the years, some of it hilarious, all of it weird. Most of it involved animations of Gilliam-esque objects appearing and disappearing and doing actions, but there were other things thrown in there like a bunch of adverts for a Canadian sandwich chain (Mr. Sub) and collaboration with a dance artist.

Grab the Low-Hanging Fruit (or 5 Rules for Hedonistic Creatives)
Grab the low-hanging fruit, create, share, profit, play make up the five rules in Aral Balkan’s talk and the general message was to go and create what you want and share it with the world, but make sure you can pay the bills as being skint doesn’t help much when trying to keep a creative environment. Grabbing the low-hanging fruit refers to doing whatever provides the most reward for the least effort, because if you don’t, someone else will and will be all the better for it.
Another important message given in this talk is that frameworks and standards can be very bad in that they can create a situation where you are so concerned with coding in the correct way and following all the various standards that you don’t focus enough on the creative aspect of coding and your creative works may suffer as a result from procrastination stopping you from actually taking advantage of the ideas floating around in your head.

Emergence
The blurb on the FOTB website says that “Emergence refers to the way that complex systems and patterns arise out of relatively simple interactions” and Jeremy Thorp gives some demonstrations of this in his session, covering a number of topics.
One thing I especially liked was the demonstration of the variance application, which helps you create logos using a complex system of generating a number of random ideas based on a number of parameters and then picking which of them you like and then hybridizing them to generate new logos. This essentially creates an artificial evolutionary process of selecting logos that is really fun to play with.

Things Every ActionScript Developer Should Know
This talk by Grant Skinner gave a brief overview of various standards that should be followed when coding in ActionScript, including variable naming and package structures. Also covered are frameworks and design patterns that can be used when developing projects.

Flash Jam Session
Because of a few scheduling conflicts, GMUNK’s session was changed to a later time, creating a gap that was filled by six speakers spending ten minutes each showing off something they have done. Present was Andre Michelle, Mario Klingemann, Joa Ebert, Ralph Hauwert, Keith Peters and Carlos Ulloa.
The highlight of the session was Joa Ebert’s ten minute live coding session where he wrote a particle emitter whose particles were influenced by what looked like fluid dynamics to move around (At least that’s what it looked like to me; I won’t pretend to understand what was actually happening [as I couldn’t even read the code on the screen!]).

Abstract Narrative
Hoss Gifford gave a very funny talk about abstract narrative and the need for simplicity in applications, as no one will ever read the manual included (or even follow any kind of tutorial). The session was introduced as being two talks in one and Hoss joked that he would get changed into different clothes on stage to help the transition into the second talk. He wasn’t joking.

GMUNKICKDOWN 08.9
GMUNK’s work was really visually impressive and the guy has a lot of talent and ability with what he does. I have no experience with video editing or the kind of graphics used in GMUNK’s work so I can’t fully appreciate the sort of stuff being shown off, but it looked really cool.

The Best 8 to 12 Hours of my Life
I was blown away by Robert Hodgin’s work in audio-visualisations using processing. Some of the stuff was incredible and the mix of impressive graphics and particle effects interacting and visually reacting to the audio sounds looked beautiful.

Finding Away3d
I didn’t really know anything about Away3D before this session and I know a little more now after Rob Bateman’s talk. Some of the effects shown off looked really cool, especially the underwater effect done with texturing.

Papervision3D Simplified
Seb Lee-Delisle gave a very British talk about how to get started with Papervision3D, sprinkled with a lot of humour throughout, including a Father Ted clip, an homage to Joa Ebert’s ten minute live coding in the form of a 20 second live coding in getting Papervision3D set up (to the sound of the countdown jingle) and a lot of cows. Very useful in showing the basics of what Papervision can do and how easy it is to get into the basics.

Steal this code: Decompiling SWFs for fun and profit
I really enjoyed this session by Doug McCune that gave an overview of how to decompile a SWF file and how easy it actually is (very). It highlighted the dangers of leaving things in your code that could potentially be found and ruin things for you later, with an example given of Doug finding a way to instantly log into an application as an admin that worked on the live server for that application. He also explained how users can also potentially manipulate the incoming data being sent to a SWF from the server (or vice versa), which can be used to bypass certain restrictions (like avoid paying for premium game levels). This could also be used to submit fake scores to a game’s high score system.
Methods to potentially protect against decompiling were also covered, but it seems like there is no bulletproof way to protect a SWF and anyone determined enough can eventually break down the protection and get to the code and logic behind the code inside.

“Intentionally left blank”
Rob Chiu did the official FOTB trailer and showed it off in this session along with his other works. Like GMUNK, I couldn’t really appreciate the full value of what I saw as I have no experience with any of the tools involved. All I can say is that they looked very cool.

Here be Pixels
Completely blown away by how awesome Mario Klingemann’s work was. He started off by showing how he could hold up small pieces of patterned paper to his webcam and use them to execute certain actions. He then went into detail about how Flash is used to interpret the original webcam image into the data contained within the pattern. This sort of stuff is fairly new ground in general so to see it in action in Flash is astounding.
Also demonstrated was Mario’s Peacock software (Part of the Aviary suite) which can be used for advanced image processing and, again, works in Flash in a browser environment. Amazing work.

Beyond Flash
A very philosophical talk by Jonathan Harris talking about the various works he has done to quantify human emotions with applications to gather statistics on how people use language. Also covered were experiments in Whale hunting and investigating the happiness of a small Asian country (I forget which one).
At the end of the talk came a somewhat controversial statement that many Flash developers waste their time on projects that have no long-lasting worth. The wording he used was that if Flash is a language, lots of people can speak it but not many people have anything important to say. The first thing that came to my mind when I heard this was the great number of tweening applications available for ActionScript, all of which are ostensibly identical and only differ when used in particularly stressful applications where bleeding edge performance is an issue.

Overall I really enjoyed the experience at FOTB. A lot of what I saw has inspired me and I definitely want to start trying some of the stuff I saw there (and there’s a pretty big list of what I want to try!)

Flash on the beach 2008

Wednesday, September 10th, 2008

In a couple of weeks, Kyle and I will be heading down to Brighton for Flash on the beach. I can’t wait. I went on my own last year and got so much inspiration from it that I thought it would be crazy not to go again this year. I’m hoping that like last year, I’ll get some great ideas to apply to our work. In fact it was last years FOTB that reminded me why I love developing with Flash and led me to decide to expand the business in order to start developing my own apps. I’m also pretty sure Kyle will get a lot out of it too. We’ve been talking recently about what sort of direction we’d like to go in with the work we take on, and what sort of training would be best for increasing Kyle’s knowledge base. This is the perfect opportunity for checking out what is currently possible with the Flash platform, and for getting pointers on where to go next to do something similar.