Adobe MAX Europe – Day 4

Much less to say about today. First because it was a full-day lab session, second because the whole thing was just fantastic. The content, the pedagogy, the examples, the trainer, everything was perfect. It allowed me to discover all the features specific to AIR runtime and API’s and we didn’t spend to much time on Flex details. AIR is definitely an interesting technology. The integration with the desktop offers all the features that I need most and I sincerely think about migrating You And The World administration to the desktop since it will remove so many barriers that we have right now like HTML rendering, client-side image cropping and big data synchronization.

Now that the event is over, it’s time for global feedback:

  • The organization was just great: it’s easy to understand why the entrance fee is so high, given the quality of the food, the number of computers for labs, the number of teacher’s assistants and staff people, the Wii’s, etc. One thing though: I really missed drinks in fridges where you don’t have to wait in line for a glass of water.
  • The venue was just awesome, with enough room for everyone, plenty of electric plugs to reload our small iPhone batteries, Wii’s everywhere, couches, toilets (not just one spot where you have to wait in a long line if you don’t choose your time like Metropolis). Two negative aspects though: mere chairs hurt when you got used to theatre seats, and Fiera Congressi Milano is a little bit lost in the middle of nowhere: not a lot of restaurants nearby.
  • The wireless network was good enough most of the time, except inbetween sessions where I managed to get an IP address, but impossible to get any bandwidth. It was good enough for email checking and a few commits on Subversion though.
  • The content covered was great and gave me a sense of cohesion and innovation on the whole Adobe product line-up. And feedback forms for each session were definitely a good idea.
  • The hotel I stayed in was just awesome. I still don’t understand why it’s called a mini-hotel as the service was really great and the room was very cool. I missed some more French-speaking  channels but I had some content on my laptop to compensate. And 8€ for 24 hours of Internet connection is not too expensive.
  • I didn’t see much of Milan but the taxis you can’t stop in the street outside of a taxi station, the plane that doesn’t come and pick you up directly at the terminal, the old-school trams, gave me the impression of a not-so-modern city.

Overall, this first Adobe MAX Europe was really a wonderful experience for me and I’ll really thank my manager for sending me there. Now, one day of roadmap design on You And The World, and next week, on to Devoxx. I just love technology!

Adobe MAX Europe – Day 3

Today was « learning day ». No « wow », no « aha », just « hmmm » and « slap! » (don’t fall asleep, you idiot!). Originally I had planned a couple of sessions related to LiveCycle Data Services but I’ve been so disappointed by the one of Tuesday that I decided to enjoy myself a little bit. So the first session was about Soundbooth CS4.

I’ve played piano and organ some years back, and I’m an amateur DJ on my spare time, so I tend to love everything related to sound and music. However, I kind of put all of that aside in the past few years so this session was really refreshing for me. And when I said that there were no « aha » moments today, it is not entirely true: you should see the speech transcription engine they added to Soundbooth CS4 and that integrates with many tools in the suite. It’s really amazing. Now I need to see how it works with real-world samples with background sounds and strange French accents. But the demo was definitely interesting. So much so that I couldn’t help thinking how much money could Adobe make if they sold this engine as a standalone service for podcast owners and such. Apart from that, the sound clean-up features are very interesting, especially with the spectral view. I don’t know if it was already there in previous versions of Soundbooth, but it’s really amazing what you can see in there that is just impossible to spot in the infamous waveform view. And if you think that Soundbooth is not useful if you don’t do movie soundtracks or music mixing… well, think twice and give it a try.

The next session was the source of a lot of hesitation. Dave Mc Allister had left a comment on my post before MAX and it really motivated me to know more about the Open Source strategy of Adobe. On the other hand, on the same slot, there was a session about Flex 4 and its new syntax, which obviously I’m very interested in, all the more so as there seems to be a lot of new things, like prefixes instead of namespaces. Eventually, I realized that there would be tons of articles about the new features of Flex 4 closer to the release and then closer to what it will really be. On the opposite, Dave Mc Allister presentation was a panel discussion, something you can’t find on the web by yourself. So I went for « Why Open Source, what makes the cut? ». Now, obviously MAX audience is still mainly composed of designers, because there were very attendees in this session, between 15 and 20 I think. But the discussion was very interesting and it was even easier to ask questions and get proper answers. With Dave were Ryan Stewart, platform evangelist, and Dave Story, who will soon be in charge of all the development tools (Flex, Flex Builder, etc.). The discussion reminded me of the comments of a few friends of mine when Adobe announced that they were going to open source the Flex framework: « Adobe… Open Source… that’s just a marketing move! ». It could have been, but let me tell you that a year and a half later, it’s easy to see that it was much more than that. They actually dive very deeply into the strategic and governance questions related to opening up some of your business. And their example is all the more so interesting as they are engaged in a balancing approach: their objective is not to open source everything they do, but just what makes sense. Hence Open Source proponents inside Adobe have to fight very hard to educate both business and operational people about the added value of Open Source, while reassuring them about the fact that it’s not a silver bullet and that they will not do it with everything. A few people in the audience, including myself, took the opportunity to suggest some improvements to the Flash platform and Dave Story took notes. Maybe one day it will be possible to plug a Webkit module into the Flash player and to render proper HTML inside Flash. Time will tell.

I started the afternoon with a demonstration of the new features of Flex Builder 4. I think Heidi Williams and Tim Buntel were a little disappointed to see such a low enthusiasm in the audience. But from what I heard around leaving the room, a lot of people thought like myself: finally, we get the features that should have been there 2 years ago, nothing more. Data management features are certainly a plus though: you will be able to generate client-side data managers that automatically handle CRUD operations and deal with conflicts, whatever the server-side technology you’re using. It will be interesting to see how useful it can be beyond the simple contact manager application.

My last presentation for the day was one that has been added to the planning at the last minute: Flex and PHP with Zend Builder. This could have been the most interesting presentation of the whole event for me in terms of direct interest for the project I’m working on, since I’m really fed up not to have a proper PHP debugging environment and I want to migrate from AMFPHP to Zend AMF. Unfortunately, the presenter was really a messy guy, and at some point I was just totally lost. His English was not very good and he was very hard to understand. So once I saw that he got debugging working in Zend Builder with Zend AMF, I just left the room.

Overall, it was a very interesting day. Oh and it’s always funny to see where geeks are ready to stick their business cards for a few gadgets :oP

Tomorrow will be a full-day lab about AIR and I hope that the content will be less frustrating than yesterday.

Adobe MAX Europe: Day 2

Yesterday was more of a regular feeling of satisfaction and happiness to discover. Today there were more peeks in my humor, from low “boooo” moments to great “aha” times. But overall, I’m starting to see the big picture of where Adobe is heading and it looks really cool. The last thing they miss to become my #1 favourite tech company is a Steve-Jobs-like charismatic presenter… although I gotta say this morning’s keynote was pretty well assembled. But I’m anticipating here. Let’s go back to the beginning of the day.

AIR bootcamp, without boots

…because you don’t need boots to fly over a subject, do you? Some might say that this AIR bootcamp actually missed some AIR as well but… hey! I just did!

OK, I know that when you’re a lab teacher, it is tempting to do everything you can to see this glow of surprise and astonishment in people’s eyes, but come on! Those small Hello World hands-on projects to show off features like the Camera integration or WSDL-based service stub generation! I can’t believe that someone or a company is willing to pay around 2k€ for sending a guy to cover an event such as MAX for that kind of noob content. I mean, I’m motivated by achievement, that’s what makes me get up in the morning and I guess I’m not the only one in Milan right now. So I’m talking to Duane Nichols here: next time, why not a real project that focuses on AIR features and integrates them in a meaningful sample project?

The Keynote

Definitely my favourite moment of the day. It’s hard to describe but Tim Buntel and Ben Forta played it Men-In-Black style to demonstrate some of the upcoming features in CS4, Flash Catalyst, Flex Builder Gumbo and Adobe Alchemy. I can’t remember all of the details but there were definitely a lot of “wow” moments and the feeling of seemless integration that you can get from that is… warming! I can’t wait to see the kind of applications we’ll be able to build with CS4, FC and Gumbo. But wait, I don’t need to wait, because I’ve got trial versions! Woohoo! Okay, FC and Gumbo are still early pre-alpha releases but still, I’m definitely going to play with them.

Low afternoon

After another great lunch (the waiting line is definitely worth it), my afternoon started with 2 rather disappointing labs. The first one was the second part of AIR bootcamp so I won’t go into more details. The second one was about building Collaborative Applications with LiveCycle Data Services. This time, the problem was not about the number of samples, but the fact that we didn’t even created any project. We spent almost 15 minutes copying files from place to place to get the configuration in place, and then we basically filled in the holes. Once again, no achievement whatsoever, and no global understanding of how this all works. But I can’t say I’m surprised: I had the same frustration with the official BlazeDS tutorial, which is why I wrote my “full stack” article. By the way, I think one of the reasons why it’s so hard to start a BlazeDS-based project from scratch is the amount of configuration to write. Maybe a couple of advanced editors in Flex Builder would help…

And last but not least…

The much anticipated and not disappointing at all… Sneak Peeks session. Okay, there were the MAX awards before, but when I saw one of the winner was presented as a Flash Lite application for the iPhone! Flash… iPhone… wait a second! f… t… STACK OVERFLOW, rebooting now!

I won’t go into details into each of the technologies demonstrated, I’ll just list them:

  • Client
    • Application-level multicast, or what you could see as P2P multicasting (sorry, I didn’t find any links about that one)
    • Nitro, a portable widget platform with a seemless integration across devices
    • Durango, a mashup builder for dummies
  • Services
    • Meer Meer, a service to do cross-browser testing with Dreamweaver
    • Integration of LiveCycle DS with CS4 (sorry, no link either)
    • Server-side ActionScript, by far what I was the most interested in (Java, watch out!)
  • Tools
    • Content intelligence toolkit, a very interesting video and sound analysis technology
    • Infinite images (inifinite zoom): at first I thought it was just a port of the Silverlight infinite zoom that created so much buzz last year, but it was much more impressive than that
    • Dreamweaver support for web widgets
    • Next-generation image compositing, impressive stuff, possible future features for Photoshop

Now I’m just exhausted. A good night of sleep and tomorrow is already the last conference day. To be followed…

Adobe MAX Europe: Day 1

This first day was mostly as excited as I anticipated it. I discovered a lot of great stuff today and got to meet a couple of top-notch geeks as I like them. Sometimes it gets frustrating to work every day with people who seem to run away as soon as you pronounce a word they don’t know, instead of getting closer to you and say “what is it you just talked about? I want to know more about it!”. That’s part of why I like attending such conferences: in every guy – and in the case of MAX, in every lady – there is a small innocent and curious kid ready to marvel at everything (s)he sees, and willing to share with you everything (s)he knows. And that’s really a stimulating experience.

But let’s get back to the content covered today.

The day started with an excellent keynote. After the usual marketing stuff, we were blessed with a few very interesting demos showing how the Flash Platform as a whole covers what Adobe sees as the three most important evolutions in our industry: cloud computing, social computing and device portability. The two most interesting demos I’ll remember of are HobNox and Cocomo. HobNox is a virtual synthesizer ala Reason but running within Flash Player 10 that can mix audio loops. Very impressive design. Cocomo is even more useful for what I’m working on: it’s an Adobe framework and API that allows you to integrate social features into your Flex applications in no time. They also covered a few of the new features of Flash Player 10, like Pixel Bender and print-quality text, that were pretty impressive.

Next session was about the future of Thermo – now known as Flash Catalyst, so that there are 2 letters to fit in the logo scheme of Adobe products I guess – and Flex Builder. Flash Catalyst is at least as impressive as what I remember of the last Thermo demo I’ve seen. But as a guy I met later cleverly noticed “it’s already hard to find good designers, it’s going to be even harder if we ask them to design user interactions too”. We’ll see, but this tool definitely bridges a gap. As for Flex Builder 4, Heidi Williams demonstrated 10 new features that are really interesting… if you’ve never worked with anything else than Eclipse. I mean « generate getter/setter » and file templates were two of these features. I mean, come oooon! Start by asking yourself why those features were so hard to add to Flex Builder 2 in the first place. Ah, that’s right, Flex Builder is built on top of Eclipse. And given that Flash Catalyst is built on Eclipse as well, I guess they’re in it for good. At some point, I guess I’m just going to forget about the visual designer and get back to my beloved IntelliJ.

After some excellent pasta and cheese I attended a session by Matt Chotin about extending Flex components. It was mostly about the Flex component lifecycle but it was very interesting to put it in perspective with some Flex Gumbo preview. Flex 3 component architecture is called Halo, and its main issue is that it pretty much mixes up presentation and behaviour, even though you can apply some superficial styling with CSS. Flex 4 component model is called Spark, and it changes everything. Now UI components focus on behaviour and all the appearance of components is externalized, similar to what Swing does with Look And Feels, but in an easier-to-apprehend fashion. For example you have a Flex component called FxRange, which can look like a spinner, a scroll bar, a tracker, or anything you can imagine. That in combination with Flash Catalyst is going to ease the development of really neat applications.

Then I intended to go see a talk about Flex testing, but I’m definitely not keen on writing tests so when I received an email notification from our issue tracking system at You And The World, it was kind of a relief. It was a problem with the application getting stuck somewhere in an infinite loop or something that made Firefox hang on indefinitely. I tried to figure out what it was, but I didn’t know where to put my breakpoint and how to debug it. But guess what was the topic of the next session on my planning: « debugging and profiling in Flex Builder 3 ». So I went there, learnt a few performance tips and tricks, and got the opportunity to ask Mike Jones how he would deal with my situation. It turned out that the profiler could help me. Well, it could have, but I found a workaround: I refactored my code to use cleaner constructs based on states instead of includeLayout tinkering, and boom! Problem solved. But still, Mike Jones’ talk was very interesting.

Overall, a very interesting first day. I got to talk with a couple of guys about Coldfusion (which I don’t really know, but you know, asking and sharing…). Tonight, I had a hard time finding a place to eat… and I didn’t find one, so tomorrow I’m gonna have a great breakfast ;o)

That being said, I’m going to watch a few more episodes of Sarah Connor and get to sleep. Tomorrow is another geeky day…

Adobe MAX Europe, J-1

I guess many people are going to write or have already written blog posts with a similar title. But hey, this is a big event for me. I’m so happy my company offered me this reward, really. I know it can seem hard to understand how one can be so excited about attending technical conferences all day. But discovering and learning new technologies is so central to why I love software development, and Adobe stuff has become so important in my “artistic” evolution lately, that I really can’t wait.

Amongst others, I hope to learn more about Flex 4, Thermo now known as Catalyst, Flash 10 and its possibilities, Adobe AIR, but more importantly I have a few questions for Adobe guys, especially:

  • Open Source is not just about a license and a Subversion repository, it’s also about community and listening to it. And when I see some of the highest voted bugs in JIRA deferred and deferred again, I would love to understand what is their policy regarding community feedback.
  • Portability is obviously a big argument in favor of Flex, but I still wonder why things like mouse wheel are not natively supported on the Mac. Fortunately there is a workaround but it’s still a pain.
  • How about backward compatibility? A year back, I wanted to propose Flex as an implementation technique for the UI of the operational monitoring application at Thalys, but we argued with a colleague about the governance problem: contrary to Sun Microsystems with Java, Adobe has never clearly committed to maintain backward compatibility. Of course, let’s not forget that some people are still migrating their JDK 1.4 to Java 5 because they had variables called “enum”… Joke aside, I was kind of disappointed to see that the application I’m working on right now worked with Flash 9 but has a bug with Flash 10 because of the changes they made with FileReference API. Hopefully, this will be fixed with Flex 4, but in the meantime we’re still struggling.

Over all, it’s the first technical conference I attend outside of Belgium and Javapolis (now Devoxx), and I hope that the organization will at least match the one of the BeJUG.

The 2 weeks to come are going to be legen… wait for it… DAAAAARRYYYYYY!