08:00am sitting at the Denny’s down of the Ebay conference center where the 360Flex Conference is starting. There seems to be a already a large coverage in the blog community of the 360flex conference…so I’ll be rather brief and just provide what strikes me at each of the presentation I will attend. I will update this blog entry as the conference moves on.
I am currently making up my mind as to which talk to attend here after is a first pass at my list.
08:10 All right I am at the conference. Pretty well organized the facilities and the conference room is pretty impressive…and they have Starbucks coffee. The room is mostly already full.
08:30am Keynote: The Magic of Flex by Mark Anders
1st Flex specific conference. Mark asks how many are Flash developers in the audience. It’s the minority, about 30 hands raised. Flex is the way to create Flash stuff in a developer friendly way. MXML Mark shows some SVG components and demonstrates how MXML ties in with Actionscript classes. Databinding He demonstrates databinding to change the gradients of an svg components without coding using. His Microsoft ghost is chasing him…his Mac froze and is now rebooting. He blames it on Powerpoint that runs Rosetta. Composition New controls can be build by composing other controls. Mark show several components that different people created such as the fisheye component and an cool RSSReader that smokes. States allowing to build liquid interface declaratively. He demonstrate in FlexBuilder how to create a little Flickr Browser that has two states, the search state that just shows the search box and the result state that also displays the results. It’s Flash! Flex is powerful thanks to the underlying Flash engine. He demonstrates some Flex application that use the full power of Flash: Picnik and Buzzword from Virtual Ubiquity. ActionScript 3 He now starts the new version of the Flash IDE and show a “Ring of Fire” rendering application and compares the AS3 and AS3 application…the crowd claps as it shows off fast AS3 is. An Exciting Future He invites Mike Downey on stage to show Apollo. Mike will show the new things you can do with Flex using Apollo to build cross-operating system applications that can do things like accessing the local files, run online/offlie, full drag-and-drop between the Desktop and the application, clipboard access and more…Mike shows Buzzword as an Apollo application. He shows gTimer, an Apollo time tracking application written by Grant Skinner. He goes on to show Maptacular which overlays a Flex app with Google Maps. The last app shown is Scout, written by Christian Cantrell that is an Html inspector ala Firebug. Flex 3 Mark is now back on stage and is talking about what they are working on with Flex 3. Designer/developer workflow. Make it easier to integrate Flex with existing services and enabling richer data display and manipulation (live data). Building Apollo applications from FlexBuilder and embed Html (real browser) in a Flex application. Increase developer productivity. Timeline: First half 2007 will see the release of public labs release of Apollo and Flex 3 (“Moxie”). In the second half the first version of Apollo and Flex 3 will be release. That’s it!
Icons Apollo handle platform independent icon conversion. The minimum is 128×128. Installation You need to install the Apollo runtime to deploy an application. So an application cannot be deployed without the run time. Future Apollo APIs Menus, Drag&Drop, File extension registration, System notifications. That’s it!. Q&A Q:When will it be available? A: Pretty soon. (Someone in the room mentions before the 16th).
02:05pm Flex loves Flash? Embed and Beyond by Grant Skinner He will show us know where we are and let us make the call if Flex loves Flash. The workflow is not well integrated at the tool level for now. Embed metatag [Embed(source=…)], compiler directive “@Embed”, style directive upSkin:Embed(source=…). The Flex compiler doesn’t do a great job bringing in SVG it also drops annimations and as sizing issues. From a workflow point of view the issue is than when importing images into Flex the images cannot be resized and transformed if needed without going back to the original editing tool and re-exporting it. Grant now goes into the details of embed fonts. Flash bitmaps font cannot be embedded. Raw binary data can also be embedded by using mimeType=‘application/octect-stream’. Grant now goes on prepping why using Flash with Flex is a good thing by exploring 6 challenges. Challenge 1 – Prepping and managing assets isn’t fun in Flex. Embed(source=“mySWF.swf”, symbol=“SymbolName”) to access Flash symbol that are in an Flash library. This allow to centralize all your assets into one Flash file. He now shows an Flash command that allows to generate a Flex class (SimpleAssetLibrary) to provide access to Flex for all the embedded Flash assets. Challenge 2 Flex doesn’t have a lot of love for designers or their tools. But…Flash 9 has really good support to import Photoshop images. And preserves layers, folder names, vector assets, text and allows to map these assets in different ways. So Flash is a really good intermediary between Flex and Photoshop. Challenge 3 Flex ain’t so good with fonts. Flash can help out by embedding all the fonts into Flash then using them from Flex. This does allow to use Flash bitmap fonts. It’s not quite straight forward yet as the Flash Font symbol needs to be referred to by using the system generated class name (i.e. Arial_12pt_st). To find out this font names you can iterate over the embedded font returned by Font.enumeratedFonts(false). Challenge 4 Flex hates Flash ActionScript. It can be done…but I may not quote Grant correctly here. But a swf file can be embedded as an octet-stream, the loaded using a loader and access to the class can then be done using the ApplicationDomain. If we go beyond embed we can get better results by exporting your FlashCS3 application into a .swc file. And Flex can then import and use that .swc file. Challenge 5 Flex is stuck up. Flex doesn’t love the Flash display symbols. Make it a child of UIComponent or wrap it in a class that extends IUIComponent. He wrote a DisplayObjectWrapper that is a generic solution for this issue. A better approach would we that Flash components developers support the IUIComponent or extend something that does (FlashSymbol, name still to be determined). Challenge 6 Run-time loading of Flash content. Load Swf into Loader. ApplicationDomain.getReference to get access to the symbol, then wrap into a DisplayObject. It’s tricky to work with Icons and other aspects as an AssetClass needs to be extended. Flash v3 components will work in Flex. See his blog and talk page for more info.
03:30pm Introduction to Apollo by Mike Chambers. After a brief introduction of what Apollo is, Mike shows some demo applications. Ascension – a sound visualizer that can load your iTunes library and visualize the playing music, load the album art from Amazon and images from Flickr regarding the album and artist. The Apollo run-time target size is between 5 and 10 Mb. Mike provides an overview of the APIs. He demonstrates now using FlexBuilder how to get started with an Apollo application. All applications start with two files, the main.mxml file that is a Flex application with the mx:ApolloApplication as root component file and an .xml application descriptor file providing additional information on how to build the Apollo application such a system icons to use, the main contain (main.mxml).
04:00pm Flex Apps Faster with WebORB – Well it seems that I had some issues with MarsEdit the soft I use writing these entries I lost all the coverage of the WebORB presentation and the last bit of the Apollo presentation. Mark presented the benefits of WebORB over traditional approaches using HttpServices or WebServices by demonstrating some applications which take around 6 seconds to perform 50 remote calls and the sames calls using WebORB take less than 1 seconds. Mark goes on showing the benefits of using WebORB Data Management services that allow to generate much of the plumbing required to interact between Flex and .Net, PHP, and later on Rub y On Rails.