Day 0
On Sunday (the day before the conference would start), I wandered around San Francisco a bit, because I wouldn't really have much time for that during the conference. On the way back to the hotel, I went through registration in the Moscone Center, because it would be very busy on the conference days, considering the 5000+ attendees.
At six we met the other invited people and went for dinner and a night out at
LuLu's.
Day 1
The first day of the conference I left the hotel at 8:15 to get a light breakfast and have some of the typical very watery/tasteless conference coffee at the Moscone Center; However the coffee that was served was by "Peet's coffee & tea"; and was to my surprise very tasteful! (I later learned that SF is amongst one of the few places in US where they like strong coffee.)
At 9:30 the
"Adobe MAX 2008 Opening Keynote" started and Shantanu Narayen, Adobe's CEO, gave a talk on the higher standards customers are expecting these days and that Adobe delivers the tools to achieve that by using Adobe Flex and Adobe AIR and by developing new tools to bridge the gap between designer and developer: Flex4 (aka
Gumbo) and Flash Catalyst. He then mentioned an AIR project that launched on december 1st:
(RED) Wire a digital music magazine that is created with Flex and AIR and helps save people with HIV in Africa.
Kelvin Lynch, CTO at Adobe, presented three big trends that can be seen in software: "Client & Cloud", "Social Computing" and "Devices and Desktop". A couple of demos are given on the changes in the flash player (client); especially the improvements on video, the
print quality and text layout of text and the
3D rendering and
pixelbender effects. Demos of
HOBNOX Audio Tool displaying some of the audio capabilities and Disney's
Club Penguin that demonstrates multi-language support.
The New York Times demonstrated a to-be-released AIR application that displays the "International Herald Tribune" newspaper interactively on screen like a real paper with enriched content and adapts to different screen formats without any problems. Due to the offline capabilities, the paper will be synced, so it can be used offline when for example traveling.
Besides these desktop Flash and AIR possibilities, Adobe is also working on the integration of AIR in linux handheld mobile devices (MIDs) like the
Aigo.
For the Cloud part, Adobe opened up or helped opening up web back-ends with an API that allows flash and flex to hook into third party cloud services. A lot of these are mentioned in the
Tour-de-Flex AIR application.
For the social Web, Adobe developed a realtime communication platform that uses VOIP, webcams video and a shared workspace and it's called
CoCoMo. A demo was given using the application
Acesis that makes doing medical reviews with other people much easier. Also
Adobe Wave was shown; it's an Adobe service that provides uniform cross-platform (through AIR) desktop notifications on content publishers and social media sites like digg, myspace, qik, seesmic and more.
Kelvin then went on to the third item on the list: "Devices and Desktop". A lot of phones were shown, that can already use Flash Lite, or will be able to shortly: Nokia, HTC and Google Android. As the last phone, the iPhone is shown. They have the full Flash working on it and are waiting for approval of Apple.
After a short break I entered the presentation
"Looking ahead to the next version of Flex" by Ely Greenfield, in which he talks about the changes between Flex 3 and 4, of which one of the most notably is the focus on the Designer/Developer workflow. Flex 4 is completely rewritten, to separate logic and presentation almost entirely, by using the new spark architecture; just adding the bridges that are needed to enable communication between the logical and presentational layer of the application. This enables designers to have full control over the presentational layer, without the need to fallback on developers changing some hardcoded low-level properties. This also enables Flash Catalyst to generate the representational part of the app, while being in full programmatic control from the Flex perspective. Another new feature is the use of more drawing methods that can be used in flex, enabling the use of native (FXP) illustrator objects in flex.
Just before this presentation was over, I had to run to be in time for a
special Adobe meeting with a couple of great Javascript an PHP developers and most of the Adobe Flex and Adobe AIR development team.
During this meeting and the very nice lunch, some of the new features of Adobe Flex (like PHP code inspection, data binding and automatic CRUD generation) were demonstrated. Feedback was given from the PHP developers to the Adobe staff on what way to go or how to enable some of these tasks to the PHP developers and what flexibility is needed to be able to use it successfully in a PHP development process. Another part of the meeting was reserved for Aptana demonstrating their
beta javascript debugger for Adobe AIR running inside Aptana Studio. Again the Developers suggested features and spoke on use-cases and scenarios in which the debugging could possibly be improved. All-in-all it was a very nice meet-up in which the developers got an inside-view of the way Adobe focuses on the professional software/web development and in which Adobe got feedback on their vision and proposed features.
I immediately had to head back from the 'Adobe meets the PHP community' meeting to the Moscone Center to attend the session
"Introduction to Thermo and the Next Generation of Flex", in which we got a demonstration on a typical development process in which a developer and a designer have to work together. The problems that normally arise (i.e.: design change after implementation of the first design) were shown and the solution to these problems: Flash Catalyst. The designer can change as much as he likes in the visual appearance of the application without breaking the application logic the developer built.
The last presentation of the day,
"Hybrid Applications: Where JavaScript and Flash Play Together", dealt with Javascript and Flash communication and interaction and mostly discussed a couple of the YUI components that use flash for interaction and javascript on the developer side. Examples of components working this way are: the
Charts Component and the
Uploader Component.
Day 2
On the second conference day I start off with a simple breakfast, after which I'm attending the session
"Developer Best Practices with Flex" by
James Polanco & Aaron Pedersen. They introduce Agile methods to the attendees and talk on making Contract Agreements, document the project structure up-front and on using coding standards and frameworks to ease development and keeping code readable. A very good talk especially for people who never worked with these techniques before. For me there wasn't anything I didn't know, but it was a nice presentation after all.
The
general keynote started at 10:30 and was 'Men In Black' themed;
Tim Buntel (Sr. product manager Flex Builder) &
Ben Forta (Director of Platform Evangelism) were "Agent B" and "Agent "F" who were on a mission to defeat "lame web experiences". A lot of new features of the Creative Suite 4 and Flash Catalyst were demoed. Some of the new things demonstrated were: Indesign to Flash export trough intermediate XFL file-format, rescaling images in Photoshop without warping or squashing them and several other features of Photoshop and Flash Catalyst are shown,
Alchemy can take C/C++ code and convert it to ActionScript 3 and run it from within the Flash/AIR player; demoed with Ogg Vorbis playback and the game Quake running on AIR.
The afternoon program consisted of an
"Adobe AIR Boot Camp"; a lab session in which
Duane Nickull and
James Ward were trying to let 250 people build some Adobe AIR applications with Flex Builder. Some of the items covered were: Video Capturing, Fullscreen video playing, Using Web Services, Using the built-in SQLite and creating non standard shaped applications.
In the evening there was a
"Customer Appreciation Event" in the Academy of Sciences and De Young Museum. I've spend a very nice evening there chatting, eating and wandering around with Aaron Conran and Larry Ullman. When looking back at the pictures taken there we were definitely in the wrong building.... All of the action was in the other one
Day 3
On the third and last day of the conference I started with a session on
"Working with data in Flex" by John Ward. It mostly comes down to one thing: Use AMF; see also the
Census app that displays the protocol speeds in comparison.
After this nice session, I attended another lab session,
"Using Flex and Adobe AIR to Automate Creative Suite 4 Workflows", in which we are using Adobe Flex to generate AIR applications that can automate CS4 tasks/workflows. It was a nice lab by
Dr. Woohoo, that introduced me to
Adobe PatchPanel and
Adobe Switchboard and how to use the extendscript toolkit to communicate between the apps.
The next session was
"Flex in the city: A single developer diary" by Tim Buntel and Emory Al-Imam (Computer Scientist Flex Builder). This talk mainly covered ways to incorporate flex in your current web-applications; you can use just small components like for example a color-picker or a planner that you put on your current webpage, instead of waiting for a project you can do entirely in flex. This way you can easily learn the capabilities of flex.
The talk
"Building web-to-print Applications using Flex, AIR and Indesign Server" covered 3 projects that were done with Indesign Server and Web2Print services. The presentation itself was interesting but not very useful for PHP developers.
The last talk of Adobe MAX was
"Looking ahead to the next version of Flex Builder". A lot of the things mentioned before on Flex 4(Gumbo) and Flash Catalyst(Thermo) were shown again, but the additional functionality that was presented was really good:
- Improved themes support; even in design-view, so you actually get to see how the app looks during design,
- Automatic getter and setter generation
- Automatic event-handler generation
- Conditional breakpoint debugging: Stop at this breakpoint if a variable is a specified value.
- For CSS, MXML and AS files, templates can be used
- Unit testing is now built-in trough Flex Unit
- ASDoc tooltips: If hovering over a class, method or property, it shows the contextual docs. This works with own code too.
Conclusion
All in all it was a great event! Everything was planned and taken care of and I was impressed to see how smooth things went, considering the more than five-thousand people attending. Most sessions and labs were very good and addressed new features, functionality and best practices. When not attending sessions I've been meeting and teaming up with some very interesting and inspiring people.
For PHP developers a lot of new features are implemented by Adobe to rapidly start developing Flex interfaces for your PHP-backed web-applications. Especially the announced features on inspection of your PHP classes and linking them to the Flex actions are really cool. It's good to see Adobe is reaching out to the PHP community this way and I'm looking forward to what they come up with next.