Well another FITC Amsterdam has come and gone and left its indelible mark of energy and inspiration.
Thought I’d share a bit of what went on, however I’m writing this from a teensy laptop that came with the flat I’m staying in. It was a much appreciated gesture, but is not very conducive to typing, so this will probably be shorter and less detailed than intended. Besides I’m in Amsterdam another 3 days and got stuff to do…
Started the day with the Adobe Keynote presentation given by Richard Galvan and Mark Anders. This had its good and bad points. Nothing really new was presented here – it was all the stuff we’ve seen blogged from AdobeMax and MWC. Still it was interesting to see some of this in action: how Flash performs on Android devices for example or how Device Central CS5 will allow you to test the accelerometer of mobile devices (that is a great feature. My hat’s off to Adobe for that one). Very exciting stuff in the world of mobile development.
Next up for me was James Eberhardt’s presentation on Building iPhone Apps in Flash CS5. Unfortunately, I came in late to a standing room only auditorium so didn’t stay for the whole thing. The one thing I picked up here was that the work flow for developing for the iPhone will be very similar to developing AIR applications. There is an .xml file that describes the app and when publishing a certification is necessary. Of course this one can’t be self generated as with AIR apps – it must be an Apple developer cert. There’s no way around that fact. The final file is a .ipa which can then be uploaded to the Apple app store. Learned more about iPhone development on day 2.
Then came Bartek Drozdz’s From Flash to Unity3D (And Back) talk. Having already taken the plunge into the world of Unity3D development, there wasn’t a lot of new material here, but it was really great to see how quickly a ‘game’ can be put together on the Unity platform and to hear some thoughts about it from another Flash developer’s perspective. Also got a quick tip after the talk about adding particle renderers when exiting collisions (such as when a car goes off roading, e.g.).
After lunch came Ralph Hauwert’s jaw dropping look at particles and 3d in Flash. This cat does some amazing work and play and it was pleasure to see him show it off. What started off as some innocent enough looking formulas quickly turned into mind bending weirdness of ray casting, adaptive subsampling, and “cheating” with blend modes. One thing I learned here and definitely must look into further is that by using an undocumented “#define()” feature of PixelBender, it’s possible to create basic functions (something that normally can’t be done in PB). Great tip. Some memorable quotes – “Failure is an option” and, “If an experiment doesn’t work, it was a good experiment. If it does work, it was a better experiment.”
Next up was Claus Wahlers’ Hacking SWF presentation. It was a shame that I saw quite a few people walk out of this one. Personally I love listening to nerds who are so excited by what they do that they find it difficult to communicate with the outside world (cf. Joa Ebert). Here Claus demonstrated his new project which allows you to explore the bytecode of the currently running swf file and actually output Objective C for transfering swf graphics to an iPhone project. Wonderful stuff and I highly recommend checking out as3swf on github.
To end the day, I went to check out Erik Natzke’s Art of Play. Not much to say here other than it was very inspirational to watch a flash developer’s journey from banner ads to full blown art. What I like about Natzke’s stuff is that rather than being completely generative, there is a human element mixed up with random generation. The perfect combination of man and machine producing some truly beautiful compositions.
Missed the first block of presentations this day and jumped right into Building High Performance iPhone Apps with AS3 with Mike Chambers. There was a lot of great information presented here about how the whole Flash to iPhone process actually works. Apparently the open source LLVM (low level virtual machine – the same thing that allows alchemy to compile c code to .swf/.swc) is used to translate .swf ABC to ARM which will run on the iPhone. This process also makes it possible to create iPhone apps with Flash on Windows machines as well as Macs. Brilliant! The biggest thing to remember though is that you will not have nearly the processing power on a mobile device as on a desktop. cacheAsBitmap and the new cacheAsBitmapMatrix will allow GPU graphics acceleration and greatly improve performance. Some other tips for iPhone/mobile development: keep the display list as shallow as possible, limit instantiation and use object pools for reuse (including sounds), enterframes are actually better than timers, callbacks are better than events (perhaps signals would be a good thing for mobile development – something to check into), event propagation should be stopped when events are used, and never ever use a mousemove event. “Mouse” positions are better tracked during an enterframe. Check out the presentation slides here.
Next up was Seb Lee-Delisle’s Work/Play talk. Not much to say here. This being the third time I’ve seen Seb speak there wasn’t much new material. It’s a pleasure every time though. From parking tickets to ‘simple’ hand made 3d engines to anaglyphic 3d to Big and Small bezier curve 3d camera movements, there’s lots to enjoy and be inspired by. After the talk, I got to briefly meet Seb which was also a nice experience.
After lunch came the obligatory Cool Shit hour. Here we got to see Didier Brun show off some voice recognition in Flash Player 10.1, Chris Allen of Infrared5 show off Brass Monkey, a great looking framework which will allow developers to connect iPhones to Unity3D web apps (and soon other mobile platforms with Flash based web apps as well). Peter Nitsch showed, well, some just plain cool shit including ACIImeo, the Vimeo to ASCII app. Danny Merck of KGB Amsterdam showed off a nice portfolio of design work, and Samuel Agesilas showed of Orchid, a way of writing some MXML style xml to produce Flash apps at run time rather than compile time (may be useful for a great Flash based CMS – have to look into that further).
Then came Stacey Mulcahy’s Can Play Well with Others. A nice and often humorous (though always relevant) look at communication between designers and developers.
Finally came David Eriksson giving us an Inside View of North Kingdom. This was mainly an hour long look at the making of Teamgeist. It’s always interesting to see how other agencies and production companies go about business and this was no exception. Weather aside, North Kingdom looks like a really great place to work and of course their work speaks for itself.
To finish off the FITC experience came the wrap party. This was held at the Supperclub – a great unmarked venue with big brass door – the type of place where you need to knock and give a password to get inside. The highlight of the evening was the smoking room – i.e. the mens room packed with both guys and gals, a metric ton of smoke, and one attention starved attendee who decided to loudly make use of a nearby urinal. And outside in the alley, even caught a glimpse of some big names in the community (no, I won’t mention who) passing a joint around (when in Rome, or Amsterdam as the case may be). Check out some cool pictures from Influxis here (I’ll post some of my own when I have a better connection and bigger computer). Some crazy good fun.
A big thanks to all who made it possible.