I unfortunately didn't have the chance to do detailed reviews for each of the sessions I attended at MAX Barcelona (15 minute breaks between sessions just isn't enough) but here is a list of the sessions I attended and a mini-review for each.
The Google Analytics Reporting Suite - Nico Lierman, Wim Vanhenden Flash Lite 3 Development - Bill Perry A Guide to Tamarin - Lee Thomason Building AIR with AJAX and the Aptana IDE - Kevin Hoyt The mobile ecosystem with FL3 on Nokia Platforms - Christian Buchbauer Play with Pixels - Bitmap manipulation with Flash CS3 - Koen de Weggheleire Working with Persistent Data in Adobe Integrated Runtime - Danny Dura Creating new Flex Components - Marco Casario Design Patterns in ActionScript 3.0 - Leo Schuman Flash Player Internals - Lee Thomason
If you attended any of these sessions feel free to comment, I'd love to hear your thoughts!
The Google Analytics Reporting Suite - Nico Lierman, Wim Vanhenden This session was added last minute and not announced anywhere so as such not a lot of people turned up. Regardless this was a really interesting session where Nico and Wim walked us through the features of their Google Analytics Reporting Suite AIR application.
It was interesting to hear how Google returns the data and it gets rendered out by the application. As announced there was a little surprise involving Mariah Carey which I have to say was hilarious.
Flash Lite 3 Development - Bill Perry I'm finally sold on Flash Lite, the S60 platform opens so many opportunities and I wanted to take advantage of the MAX conference to get myself up to speed.
The one thing I was hoping for and haven't seen yet is actually deconstructing a Flash Lite 3 application, running through the code and explain the process from planning to packaging it up as a SIS and distributing. It all got talked about but not in great technical detail.
If anyone has any Flash Lite projects going on and would like to team up, feel free to get in touch!
A Guide to Tamarin - Lee Thomason Lee Thomason is my hero -- he covered the real guts of the Flash Player, the future of ECMAScript 4 and the Tamarin VM -- information you don't see presented anywhere else. Finally one of those seriously technical topic where you need to pay attention or get lost in a sea of acronyms. I loved it!
Yield, let, like, wrap, typed arrays, parameterized types, the ECMAScript self-hosting compiler (ESC), ActionMonkey, IronMonkey, ScreamingMonkey, ...
Building AIR with AJAX and the Aptana IDE - Kevin Hoyt Kevin Hoyt (despite apparently being sick) did the seemingly impossible and made me excited about AJAX again. The Aptana Eclipse plugin is an amazing piece of work and I'll definitely be using it for upcoming projects.
The reason why I largely moved away from the AJAX (or DHTML in those days) world was browser inconsistencies, I didn't want to spend more time tweaking code to make it behave semi-consistently across major browser than writing actual code.
One thing that I am a bit worried about is the convoluted security model where you need to work in different sandboxes and do some (to all intends and purposes) strange hacks to get it working properly. Hope the team can still fine tune that somewhat before the 1.0 release.
The mobile ecosystem with Flash Lite 3 on Nokia Platforms - Christian Buchbauer I was hoping for some Nokia specific technical information on Flash Lite 3 but no such luck. It was more of a corporate presentation running through marketing slides. What I took away from it is that there is a real business opportunity to develop Flash Lite for the Nokia S60 devices but other than that this session was a little disappointing.
One piece of breaking news was that Nokia will be bringing Flash video to their embedded browser on S60 devices by next year. That is a very welcome announcement!
Play with Pixels - Bitmap manipulation with Flash CS3 - Koen de Weggheleire Koen is incredibly passionate about what he does and its definitely contagious. He walked us through the basic maths of matrices and how it applies to transformations in the BitmapData API.
Once we got through the mathematics we started seeing some impressive demo's with color transformations and the displacement map filter. Finally integrating the webcam resulted in some entertaining Flash games, playing a virtual piano or swatting flies.
Looking forward to playing some more with the BitmapData API and hope to see more sessions by Koen in the future.
Working with Persistent Data in Adobe Integrated Runtime - Danny Dura As always Danny does a fantastic job explaining technical topics -- he walked us through the various ways of working with persistent data in AIR and did benchmarks for how fast each of those perform.
I can't say there was a lot of completely new information in that session for me. The topic I was most interested in was the EncryptedLocalStore (uses AES-CBC 128-bit encryption) and works with Keychain on Mac and its equivalent on PC. It basically stores a key and a ByteArray as its value -- so you can easily persist actual ActionScript objects in there.
The API is very easy to use, basically just EncryptedLocalStore.setItem, EncryptedLocalStore.getItem, EncryptedLocalStore.deleteItem. Its not the fastest of the data persistence options for AIR but as Danny rightfully pointed out, its built for security not speed.
A few other things I learned where the app-storage:/ and app-resource:/ URI's that we have available. Also the embedded SQLite database theoretically support up to 2TB of data and you can use SQLConnection.attach to add a database to the active connection and query across all those (useful in some situations because of the way database locking works).
Creating new Flex Components - Marco Casario I'm really glad to finally have had the chance to meet Marco Casario -- he's a true Flex genius and did an excellent job running through some approaches to creating Flex components.
Probably didn't learn a huge amount of new things but a really good refresher course for me. Can't wait to see his "Flex Solutions: Essential Techniques for Flex 2 and Flex 3 Developers" book come out!
Design Patterns in ActionScript 3.0 - Leo Schuman I was looking forward to this session, design patterns are a fantastic thing to learn more about because you always pick up things that you recognize you can apply to your projects. Unfortunately this session was way too basic, he covered Observer and Singleton -- makes sense for absolute beginners (I did the same in my OOP for the Noob talk at Flashforward) but for a session marked as advanced this was a shame.
He did have an interesting presentation style that I quite liked. The Singleton implementation he talked about was a bit flawed though. I know the SingletonEnforcer workaround Joey Lott proposed is quite popular but it has its problems (like Leo also recognized) and is seriously 'hackalicious'.
I've personally long since switched to Grant Skinner's workaround (see here) that involves much less of a workaround and is a cleaner implementation. I guess whichever solution you use to implement the Singleton pattern is up for debate but when doing such a basic introduction to Design Patterns in AS3 I wouldn't have thought twice which method to show to my audience.
For future editions of MAX I think there's room for a beginner and advanced session on design patterns, but please make sure it really is advanced and more than two get covered in an hour.
Flash Player Internals - Lee Thomason Another great session by Lee Thomason of the Flash Player team, I also saw this session at MAX Chicago but its just too good not to see again when you've got the opportunity. It talks about the technical details of retained versus immediate rendering, the JIT compiler, tips for optimizing your code, the GC and things to come in the Moviestar release.
Exciting times ahead for the Flash Player!