(Sorry I’m a little late with posting this)
360|Flex San Jose 2008 was my second 360|Flex conference and my third Flex event (my others were 360|Flex Atlanta in February, 2008 and Flex Camp Wall Street in April, 2008). This time I attended with my summer intern, who has been doing a fair amount of Flex development since he joined our team in early June, and another co-worker who is just starting to learn Flex programming for other projects.
I have to say that the biggest difference for me at this conference versus the one in February (and even April) is that this time I understood a lot more of the issues related to Flex development. Back then I had just cut my teeth in flex development, and while I got a lot out of the conference I’ve since spent some time pouring over the slides to get a deeper understanding of what’s going on. This time I could understand what the issues were, where I had suffered with problems, and how things worked. I also have spent a fair amount of time listening to The Flex Show in preparation for the conference, so I had a few talks in mind that I wanted to go to.
BTW, Adobe is putting all the talks online for free. To watch these talks
- Go to http://www.onflex.org/ted/2008/08/recording-360flex-free-full-sessions-on.php
- Click on the link to install the Adobe Media Player (which is an AIR app)
- Once it’s installed you can go and watch the talks (among other content).
Monday
Monday started with a great keynote, led by Mark Anders. The highlight of this (for me) was the demonstration of Flex 4 or “Gumbo”, specifically, Thermo, a new tool for designers to change the look and feel of an application. The focus of Gumbo is to enable designers to be able to do most of the UI design and layout (and cutting down the reliance on developers to implement what they need, freeing the developers to focus on the business logic and other aspects of the application). From what they demoed it looks like they are making great strides in this.
I then attended a session on Item Renderers in Flex. It was good, but I had done a lot of this already.
After lunch, I went to a fantastic talk on Mate (pronounced “Mah-tay”), a framework for event frameworks developed by the folks at AsFusion. I had heard Laura Arguello talk about Mate on The Flex Show, but it wasn’t until this talk that I could appreciate what Mate offers. The coolest part is the infrastructure for event routing and injecting events into classes – a very clean mechanism to provide separation of the model from the UI components. There were a lot of happy faces after this talk – it was easily the talk of the conference that day!
(Here is a link to the Mate episode of the Flex Show).
The other two talks I went to were one on reusable components and another on using Blaze DS (and LiveCycle DS) in your applications.
That evening there was a dinner and several Bird of a Feather, but I was exhausted from flying in the night before from the east coast, so after eating I went back to my hotel room and collapsed.
Tuesday
Tuesday I jumped right into a presentation (by Alex Harui of Adobe and FlexComponents fame) on new API’s that are going to allow for dynamic sub-applications, as opposed to the current Modules. This is useful for building Flex-style mashups, portals that might load sub-applications that come from non-local sources. The advantage over modules is that these sub-apps have their own application domains but can still interact with each other, albeit in a more limited way. Each sub-application will have its own styles and resource bundles (these are not shared), and while the Sprite class is shared between them, the UIComponent class is not. Actions such as Drag and Drop require data to be marshaled (similar to what you would see in a classic remote procedure call implementation) so that it can be shared between sub-apps (in fact, there is a new mouse event, MarshalMouseEvent, to support this and other operations).
This capability will first appear in version 3.2 of Flex; I believe it also requires version 10 of the Flash player (but I could be wrong about this). Future versions of Flex will be able to load and run sub-apps from previous versions that have this support (so Flex 5 could load a sub-app created with Flex 3.2).
The next talk I went to was on promoting your Flex and AIR applications, which was about how to market your app, including avenues that Adobe makes available to help grow the community. What I took from this was that Adobe understands how important it is to help grow its developer community, be your focus technology and development or trying to get visibility for your product.
After lunch, the next two talks were both given by Michael Labriola. Mike is a fantastic speaker, and he is the kind of person who loves to dig deep into a technology and try to understand every last little thing he can about how it works. In Atlanta he gave a talk entitled “Dense and Hot” which was about the start-up activities of the Flash player (specifically, about the first 200 milliseconds of its start-up).
The first talk he gave was about AIR drag and drop support (Jeff Tapper was supposed to give the talk, but he wasn’t able to attend the conference). It highlighted the differences between the internal drag and drop support in Flex and the ability to drag and drop between an AIR application and other applications running in the OS. He presented the different mechanisms in a straightforward manner. He also presented a link to a blog entry by Andrew Westberg who implemented a new DragManager that handles both (it’s on Andrew’s blog at http://www.flexjunk.com).
The second talk I went to was on data binding. Flex has mechanisms that enable you to tie a data source (such as an XML object or an array) directly to a UI component like a List or DataGrid. What I didn’t realize was that these were Flex shorthand for a lot of code that is generated to actually make this magic happen. I have done the very basic data binding in our apps (we have a view where we map tags to user-changeable color codes that we can use to color items, for example). He described most of the components that are involved in data binding and the various ways you can hook in to them. One of the reasons you might do this is to optimize the performance of an application. This is going to be very useful for us when we start processing large amounts of data in our prototypes.
The final talk I went to that day was on building real-time and collaborative applications using Flex. This was actually focused more on the back-end systems (Blaze DS/LiveCycle DS) and how to use these to share information, interact, and collaborate with others. The highlight was the demo of Scrumtastic, an app being developed as part of the Charity Code Jam that’s a part of this conference (the Charity Code Jam is building an online food bank locator for Second Harvest). Scrumtastic is like Jazz-lite in that it gives developers some means to coordinate what they are working on. Very interesting tool.
After dinner I attended the BOF given by the Adobe team. It was useful to put names to faces of people whom I have read postings or articles by. What’s really cool is how accessible the team is – another good example of how Adobe is really trying to reach out to the Flex community.
Wednesday
The last day started with the type of keynote I expect from these guys. My mind still reels at how open that Tom and John are about the financials – let alone how effective they are at running a conference of this size pretty much alone.
They also gave some time to the sponsors to present what they’re up to in the Flex world (My favorite was the demo at http://runpee.com – I won’t spoil it by telling you what the web site is about). I also was interested in Workday’s demo as well.
I next went to a talk called “Filthy Rich Clients”, which covered some of the real cool visual flourishes you can add to your application to hook your users. This was one of the talks I was really looking forward to, because I’m currently starting to play with how I could use animation effects in my apps and had started to play with tweening and effects. It answered just about all of my questions.
The last talk I went to was on reflective programming in Flex. One of the really cool things about scripting languages like ActionScript and JavaScript is that you can extend objects on the fly; the cost is that you either have to know in advance what the data globs are that you added, or you need some way to inspect an object and find the things that you need. I hadn’t really used the Flex reflection API all that much and I hoped that this talk would give me more insights. This was very high-level, and I had done most of the stuff he had presented. Still it was a good talk.
Overall Impression
Another great conference from Tom Ortega and John Wilker. I’m looking forward to the next 360|Flex conference very much.