It was a pleasant evening in Norfolk, VA when I was staying at my brother-in-law's house and we just decided to take our bikes and head out for a quick workout.
Check it out here:
Monday, October 12, 2009
Saturday, October 10, 2009
Adobe MAX 2009
All great things come to an end and so it was for this year’s Adobe MAX Conference in Los Angeles, CA. This year’s conference took place in the Los Angeles Convention Center and the Nokia Theater LA Live.
The first day of the conference was like any other conference, packed with attendees making their way to the registration booths. After registering, and quickly grabbing the complimentary Cinnabon, I started the 10 minute walk to Nokia Theater LA Live. There were long lines of attendees trying to enter the theater through the Security checkpoints. However, the huge LCD displays outside of the theater kept us entertained while we waited to get in. Upon entering the theater each attendee was provided complimentary 3D vision glasses and they kept me wondering what these were for. Anyhow, it turned out the keynote sessions started about a half hour late allowing even the late comers to enjoy the show.
The keynote session was kicked off by Adobe’s CEO, Shantanu Narayan. It was a quick speech on where Adobe’s headed to in the future – nothing too exciting to report here. Same goes for the next speech by Adobe’s CTO, Kevin Lynch – however, Kevin announced the partnership with Omniture and another quick speech from Omniture CEO ensued.
The real excitement started when Kevin announced the release of Adobe Flash Player 10.1 which would run on Smartphones – and the first thought that came to my mind was – iPhone. The new version of the player is not only smartphone enabled, but also includes multitouch, accelerometer and screen orientation capabilities. It is also optimized for memory and power consumption AND supports video streaming. By now, I was almost falling off my seat. It turned out that various phones, including Nokia, Android and Palm Pre were demoed with flash player running, however there was no sign of the iPhone and the keynote moved along.
Next up was the announcement and demos of AIR 2.0. One of the biggest improvements I think is capability of launching native applications. Other enhancements are USB device detection, Socket servers and UDP support. What followed were announcements of the LiveCycle platform and either I was still recovering from the shock of no flash on iPhone OR there really wasn’t anything exciting for me to remember about LiveCycle. Oh yes, thanks to my photography, LiveCycle Mosaic was announced which is a “Flex based composite RIA Framework. Content can be Flash, PDF, HTML. Works in browser and in AIR”. So there you go, sounds exciting and worth a deeper look.
It seemed like Adobe had this keynote planned carefully as the next topic turned out to be the announcement of Flash on iPhone. Oh, but what does that mean? Well, there are really no words to describe how Adobe feels about this other than to look at the following short clip:
Launch Adobe MythHackers on YouTube
So now, we were all kinda confused as to whether Flash on iPhone is real or just some awful joke. Well, it turns out that, some time in November of 2009, Adobe will be releasing Flash Professional CS5 beta that will allow iPhone applications to be created using Flash. The way this works is that you create the application using Actionscript 3.0 and the “Flash Pro CS5 on steroids” takes the Actionscript code and compiles it into an iPhone OS application. Sounds very interesting and only time will tell how practical this will turn out to be. Anyhow, I will cover some more details of this as I go through each of the session contents. It was soon clear to me that Apple does not want developers creating applications in Flash for 2 reasons, as I see it: 1. No one would touch Objective-C with a 10ft pole (as one of my colleagues would say). 2. Less Objective-C developers means less apps developed for OS X. So, watch out for app store denials for apps created in Flash :o)
OK, remember the 3D glasses, yeah, so it was time to use them now. It was announced that the latest and greatest upcoming movie, Avatar, is being produced with the graphics being done entirely using Adobe’s products. Again, no words can describe, at least my first, 3D experience with stunning graphics and some 20+ speaker system. So, mark your calendars for December 12, 2009.
So that brought the end of the first day’s keynotes and only then did I notice that all of us had missed our first session due to the keynote taking a much longer time than anticipated. Oh well. It was lunch time and although they were spectacular, I won’t go into the details of the Community Lounge, Gaming area, Unconference sessions, Vendor booths and the like as the pictures pretty much speak for themselves. So, let’s move on to the sessions:
P2P on the Flash Platform with RTMFP
The Real Time Media Flow Protocol, or as one of the Adobe speaker put it, Real Time Mother F****** Protocol, is a great addition to the protocols already supported by the Flash Player. It allows for a Flash application to communicate directly with a Flash application running in another Flash Player. The only catch is, both applications need to first register with the Flash Media Server, codenamed as Stratus. This approach will require much less Flash Media Servers as each Flash application will serve as a server, just like in any other P2P network topology. As you can see, this would primarily benefit streaming applications.
Using the Spry Framework in Dreamweaver CS4
Since I had never heard of the Spry Framework, I decided to attend this session. However, it turned out to be another AJAX framework and the session pretty much provided a guided tour of using the Spry actions from within Dreamweaver. With numerous AJAX frameworks out there, the session failed (or wasn’t scoped) to explain why Adobe needed an AJAX framework in their labs.
Building Flex Collaboration Components
This session was very exciting in that it explained in detail how to create custom components and deploy them in Adobe’s Flash Collaboration Service (a.k.a Adobe Cloud). For those who are new to this, Flash Collaboration Components are nothing but the different components of Adobe Connect made available for free (well maybe not entirely free as there is a bandwidth usage fee for the Cloud). Application Developers can use these components or create custom ones by extending them and create audio/video collaborating applications. The biggest chunk of applications that will be produced from these, as I see it, are social and gaming applications. The only catch is, these applications can only be deployed in Adobe’s Cloud at this time. I later spoke to one of Adobe’s Evangelists and he mentioned there is a good possibility the restriction of deploying to Adobe Cloud will go away allowing any Flex application hosted anywhere to benefit from the collaboration components. Note, however, to collaborate audio/video without any hiccups, you would some kind of a server technology to act as a streaming server.
That was the last session of the first day and by now, my still Eastern Timezone Biological Clock was starting to send me signals to go and rest – so, that’s what I ended up doing.
The next day started out with a session followed by a keynote session. So, first the general session:
Building Matrix: Scaling Flex for a Large Trading Application
This session was presented by Senior Architects of Morgan Stanley. Just like any other financial institution, building Matrix required an architecture of its own. The presentation was focused entirely on the presentation layer and several technologies, from Cairngorm 3 to Parsley Application Framework as the IoC container, were presented. A big part of the architecture was modularizing the application by using Flex Modules. This included not only loading a module when needed but also unloading it when not in use. Each module had its own assets and deployment was configured such that it was possible to deploy new modules without redeploying the entire application. Also, unit testing was setup such that each module could be unit tested and profiled without requiring the whole application to be loaded. Modules were regularly profiled using Flex Builder’s built-in profiler to make sure no memory leaks were present. Other best practices related to application scalability were mostly straightforward that can be found in the documentation that comes with Flex so I won’t go into them here.
The keynote session of the second day wasn’t as exciting as the first one other than demos of some major market players using Flash. They were:
• MLB: Created MLB TV developed in Flash and other Adobe products for delivering Live, DVR capable, HD quality MLB games.
• FedEx: Created an internal application for tracking the location as well as the condition of the delivery trucks. For example, a fault in the A/C unit of a delivery truck would be “pushed” to the UI using RTMP and operators would find the nearest repair facility and dispatch a message to the driver – all done using the application. Pretty cool.
• EA: A big effort is being made by Electronic Arts of delivering games via Flash on Settop boxes. Hopefully, they will run faster than Cablevision’s program guide.
Let’s move on back to the general sessions:
Tackling Memory and Performance in Flash, Flex and Adobe AIR
This session described the memory allocation and garbage collection strategies of the Flash Player. One of the best practices was to consider that Flash Player allocates memory in 4096-byte chunks. For detailed information, I would highly recomment viewing the recording for this session.
Adobe Wave: Increasing the Use of your Websites and Applications
This session introduced a new service provided by Adobe, which provides desktop notification. The application runs on AIR and allows notifications to be received from many applications. The idea is not a new one, except the fact that only one application, Adobe Wave, needs to be installed. We will have to wait on this one as there are only a handful websites using this technology.
ELIPS 3.0: Mobile Flex Builder Toolkit
This session was another interesting one. This product allows applications to be developed for mobile platforms using Flex. Currently most of the major mobile platforms are supported, except iPhone, but that is targeted for end of 2009. Even without the presence of iPhone application development, this is a unique product allowing your application to be built once and the capability of the same code to be deployed to multiple mobile platforms. As far as iPhone app development is concerned, it is a bit different from the solution offered by Adobe in that it converts the Flex application to C++ source code that can be compiled into the iPhone app bytecode.
It was now time to go back to the Nokia Theater for Sneak Peeks and 2009 MAX Awards. The awards were for 8 categories with 4 finalists in each category. The Sneak Peeks offered some really alpha versions of technologies that may or may not make it to a future version of the product.
Last and definitely not the least, was the MAX Bash which was the greatest event I have experienced at any conference. It was an All you can eat / All you can drink party for 3 hours. What happens in LA, stays in LA, so nothing further to report here :o)
The third and last day consisted only of general sessions and here they are:
Augmented Reality within Flash Player
This session consisted mostly of various Augmented Reality demos. If you don’t know what it is, here is a great article. One of the most practical applications of AR that was shown is the USPS Virtual Box Simulator. I’ll let you try it out yourself without spoiling it for you. Go ahead while I wait…OK, so you see just one of the applications of this technology. For the interested developers, one handy utility is FLAREmulator, which allows you to test your application without requiring a camera.
Optimizing Flash applications for the iPhone platform
This session provided details on the upcoming Flash Pro CS5 technology that would allow for iPhone applications to be developed in Flash, as I mentioned above in the keynote converage. The session first described the internal architecture of the compilation. LLVM, which stands for Low Level Virtual Machine, is the framework that is used which allows for bytecode generation for various CPU chipsets. I wouldn’t dare go into any more details here, so for more curious folks, I suggest looking at the session recording.
Flash Builder 4 Advanced Tips and Tricks
This one was a fast paced session listing, mostly, command-line shortcuts of Eclipse and the Flash Builder IDE. For a complete listing, please refer to the session recording. The 2 that struck me as the most useful are:
Command (Control) + 3: Display ALL available actions that can be performed currently according to the location of the cursor.
Option (Alt) + UP/DOWN: Moves a highlighted piece of code up or down. Seems simple enough, but was new to me.
Skinning JavaScript Framework widgets in Dreamweaver
This was yet another guided tour of using JQuery and Spry in Dreamweaver. There is nothing exciting here and I’m not sure now why I signed up for this session. Oh well.
ColdFusion for Java Developers
I was hoping to find reasons to use ColdFusion as oppose to other application servers. However, what I got was a session that could easily be named as “Java for Coldfusion Developers”. Anyhow, for those who might be looking for ways of interoperability between Coldfusion Script and Java, check out JavaLoader. Another interesting thing I learned was Java 6 now comes with a compiler API allowing for dynamic runtime compilation of Java source.
So there you go, overall, they were an exciting and very long 3 days. If you want to view recordings for any session or keynote, you can go to Adobe TV.
Click here to look at some pictures and videos of the conference.
Lastly, some additional technologies that I think are worth looking into are:
• Adobe Marketplace: A “try and buy” service allowing developers to distribute their AIR applications allowing consumers to try it for a configurable time and/or to buy it using Adobe-provided ecommerce engine.
• Open Source Media Framework (OSMF): Allows developers to create video collaboration applications using open source technology.
• Adobe Multitouch Framework: As the name implies, a framework allowing for capture of input from touch screens.
• Open Screen Project: A conglomeration of several vendors, including Adobe, of building a standard set of audio/video formats that can be viewed on a variety of devices.
• Adobe Flash Catalyst: Lets you design the entire UI for an application and export as a Flex project. Not sure how well it works for iterative exports.
That’s it for now.
Happy Researching!
The first day of the conference was like any other conference, packed with attendees making their way to the registration booths. After registering, and quickly grabbing the complimentary Cinnabon, I started the 10 minute walk to Nokia Theater LA Live. There were long lines of attendees trying to enter the theater through the Security checkpoints. However, the huge LCD displays outside of the theater kept us entertained while we waited to get in. Upon entering the theater each attendee was provided complimentary 3D vision glasses and they kept me wondering what these were for. Anyhow, it turned out the keynote sessions started about a half hour late allowing even the late comers to enjoy the show.
The keynote session was kicked off by Adobe’s CEO, Shantanu Narayan. It was a quick speech on where Adobe’s headed to in the future – nothing too exciting to report here. Same goes for the next speech by Adobe’s CTO, Kevin Lynch – however, Kevin announced the partnership with Omniture and another quick speech from Omniture CEO ensued.
The real excitement started when Kevin announced the release of Adobe Flash Player 10.1 which would run on Smartphones – and the first thought that came to my mind was – iPhone. The new version of the player is not only smartphone enabled, but also includes multitouch, accelerometer and screen orientation capabilities. It is also optimized for memory and power consumption AND supports video streaming. By now, I was almost falling off my seat. It turned out that various phones, including Nokia, Android and Palm Pre were demoed with flash player running, however there was no sign of the iPhone and the keynote moved along.
Next up was the announcement and demos of AIR 2.0. One of the biggest improvements I think is capability of launching native applications. Other enhancements are USB device detection, Socket servers and UDP support. What followed were announcements of the LiveCycle platform and either I was still recovering from the shock of no flash on iPhone OR there really wasn’t anything exciting for me to remember about LiveCycle. Oh yes, thanks to my photography, LiveCycle Mosaic was announced which is a “Flex based composite RIA Framework. Content can be Flash, PDF, HTML. Works in browser and in AIR”. So there you go, sounds exciting and worth a deeper look.
It seemed like Adobe had this keynote planned carefully as the next topic turned out to be the announcement of Flash on iPhone. Oh, but what does that mean? Well, there are really no words to describe how Adobe feels about this other than to look at the following short clip:
So now, we were all kinda confused as to whether Flash on iPhone is real or just some awful joke. Well, it turns out that, some time in November of 2009, Adobe will be releasing Flash Professional CS5 beta that will allow iPhone applications to be created using Flash. The way this works is that you create the application using Actionscript 3.0 and the “Flash Pro CS5 on steroids” takes the Actionscript code and compiles it into an iPhone OS application. Sounds very interesting and only time will tell how practical this will turn out to be. Anyhow, I will cover some more details of this as I go through each of the session contents. It was soon clear to me that Apple does not want developers creating applications in Flash for 2 reasons, as I see it: 1. No one would touch Objective-C with a 10ft pole (as one of my colleagues would say). 2. Less Objective-C developers means less apps developed for OS X. So, watch out for app store denials for apps created in Flash :o)
OK, remember the 3D glasses, yeah, so it was time to use them now. It was announced that the latest and greatest upcoming movie, Avatar, is being produced with the graphics being done entirely using Adobe’s products. Again, no words can describe, at least my first, 3D experience with stunning graphics and some 20+ speaker system. So, mark your calendars for December 12, 2009.
So that brought the end of the first day’s keynotes and only then did I notice that all of us had missed our first session due to the keynote taking a much longer time than anticipated. Oh well. It was lunch time and although they were spectacular, I won’t go into the details of the Community Lounge, Gaming area, Unconference sessions, Vendor booths and the like as the pictures pretty much speak for themselves. So, let’s move on to the sessions:
P2P on the Flash Platform with RTMFP
The Real Time Media Flow Protocol, or as one of the Adobe speaker put it, Real Time Mother F****** Protocol, is a great addition to the protocols already supported by the Flash Player. It allows for a Flash application to communicate directly with a Flash application running in another Flash Player. The only catch is, both applications need to first register with the Flash Media Server, codenamed as Stratus. This approach will require much less Flash Media Servers as each Flash application will serve as a server, just like in any other P2P network topology. As you can see, this would primarily benefit streaming applications.
Using the Spry Framework in Dreamweaver CS4
Since I had never heard of the Spry Framework, I decided to attend this session. However, it turned out to be another AJAX framework and the session pretty much provided a guided tour of using the Spry actions from within Dreamweaver. With numerous AJAX frameworks out there, the session failed (or wasn’t scoped) to explain why Adobe needed an AJAX framework in their labs.
Building Flex Collaboration Components
This session was very exciting in that it explained in detail how to create custom components and deploy them in Adobe’s Flash Collaboration Service (a.k.a Adobe Cloud). For those who are new to this, Flash Collaboration Components are nothing but the different components of Adobe Connect made available for free (well maybe not entirely free as there is a bandwidth usage fee for the Cloud). Application Developers can use these components or create custom ones by extending them and create audio/video collaborating applications. The biggest chunk of applications that will be produced from these, as I see it, are social and gaming applications. The only catch is, these applications can only be deployed in Adobe’s Cloud at this time. I later spoke to one of Adobe’s Evangelists and he mentioned there is a good possibility the restriction of deploying to Adobe Cloud will go away allowing any Flex application hosted anywhere to benefit from the collaboration components. Note, however, to collaborate audio/video without any hiccups, you would some kind of a server technology to act as a streaming server.
That was the last session of the first day and by now, my still Eastern Timezone Biological Clock was starting to send me signals to go and rest – so, that’s what I ended up doing.
The next day started out with a session followed by a keynote session. So, first the general session:
Building Matrix: Scaling Flex for a Large Trading Application
This session was presented by Senior Architects of Morgan Stanley. Just like any other financial institution, building Matrix required an architecture of its own. The presentation was focused entirely on the presentation layer and several technologies, from Cairngorm 3 to Parsley Application Framework as the IoC container, were presented. A big part of the architecture was modularizing the application by using Flex Modules. This included not only loading a module when needed but also unloading it when not in use. Each module had its own assets and deployment was configured such that it was possible to deploy new modules without redeploying the entire application. Also, unit testing was setup such that each module could be unit tested and profiled without requiring the whole application to be loaded. Modules were regularly profiled using Flex Builder’s built-in profiler to make sure no memory leaks were present. Other best practices related to application scalability were mostly straightforward that can be found in the documentation that comes with Flex so I won’t go into them here.
The keynote session of the second day wasn’t as exciting as the first one other than demos of some major market players using Flash. They were:
• MLB: Created MLB TV developed in Flash and other Adobe products for delivering Live, DVR capable, HD quality MLB games.
• FedEx: Created an internal application for tracking the location as well as the condition of the delivery trucks. For example, a fault in the A/C unit of a delivery truck would be “pushed” to the UI using RTMP and operators would find the nearest repair facility and dispatch a message to the driver – all done using the application. Pretty cool.
• EA: A big effort is being made by Electronic Arts of delivering games via Flash on Settop boxes. Hopefully, they will run faster than Cablevision’s program guide.
Let’s move on back to the general sessions:
Tackling Memory and Performance in Flash, Flex and Adobe AIR
This session described the memory allocation and garbage collection strategies of the Flash Player. One of the best practices was to consider that Flash Player allocates memory in 4096-byte chunks. For detailed information, I would highly recomment viewing the recording for this session.
Adobe Wave: Increasing the Use of your Websites and Applications
This session introduced a new service provided by Adobe, which provides desktop notification. The application runs on AIR and allows notifications to be received from many applications. The idea is not a new one, except the fact that only one application, Adobe Wave, needs to be installed. We will have to wait on this one as there are only a handful websites using this technology.
ELIPS 3.0: Mobile Flex Builder Toolkit
This session was another interesting one. This product allows applications to be developed for mobile platforms using Flex. Currently most of the major mobile platforms are supported, except iPhone, but that is targeted for end of 2009. Even without the presence of iPhone application development, this is a unique product allowing your application to be built once and the capability of the same code to be deployed to multiple mobile platforms. As far as iPhone app development is concerned, it is a bit different from the solution offered by Adobe in that it converts the Flex application to C++ source code that can be compiled into the iPhone app bytecode.
It was now time to go back to the Nokia Theater for Sneak Peeks and 2009 MAX Awards. The awards were for 8 categories with 4 finalists in each category. The Sneak Peeks offered some really alpha versions of technologies that may or may not make it to a future version of the product.
Last and definitely not the least, was the MAX Bash which was the greatest event I have experienced at any conference. It was an All you can eat / All you can drink party for 3 hours. What happens in LA, stays in LA, so nothing further to report here :o)
The third and last day consisted only of general sessions and here they are:
Augmented Reality within Flash Player
This session consisted mostly of various Augmented Reality demos. If you don’t know what it is, here is a great article. One of the most practical applications of AR that was shown is the USPS Virtual Box Simulator. I’ll let you try it out yourself without spoiling it for you. Go ahead while I wait…OK, so you see just one of the applications of this technology. For the interested developers, one handy utility is FLAREmulator, which allows you to test your application without requiring a camera.
Optimizing Flash applications for the iPhone platform
This session provided details on the upcoming Flash Pro CS5 technology that would allow for iPhone applications to be developed in Flash, as I mentioned above in the keynote converage. The session first described the internal architecture of the compilation. LLVM, which stands for Low Level Virtual Machine, is the framework that is used which allows for bytecode generation for various CPU chipsets. I wouldn’t dare go into any more details here, so for more curious folks, I suggest looking at the session recording.
Flash Builder 4 Advanced Tips and Tricks
This one was a fast paced session listing, mostly, command-line shortcuts of Eclipse and the Flash Builder IDE. For a complete listing, please refer to the session recording. The 2 that struck me as the most useful are:
Command (Control) + 3: Display ALL available actions that can be performed currently according to the location of the cursor.
Option (Alt) + UP/DOWN: Moves a highlighted piece of code up or down. Seems simple enough, but was new to me.
Skinning JavaScript Framework widgets in Dreamweaver
This was yet another guided tour of using JQuery and Spry in Dreamweaver. There is nothing exciting here and I’m not sure now why I signed up for this session. Oh well.
ColdFusion for Java Developers
I was hoping to find reasons to use ColdFusion as oppose to other application servers. However, what I got was a session that could easily be named as “Java for Coldfusion Developers”. Anyhow, for those who might be looking for ways of interoperability between Coldfusion Script and Java, check out JavaLoader. Another interesting thing I learned was Java 6 now comes with a compiler API allowing for dynamic runtime compilation of Java source.
So there you go, overall, they were an exciting and very long 3 days. If you want to view recordings for any session or keynote, you can go to Adobe TV.
Lastly, some additional technologies that I think are worth looking into are:
• Adobe Marketplace: A “try and buy” service allowing developers to distribute their AIR applications allowing consumers to try it for a configurable time and/or to buy it using Adobe-provided ecommerce engine.
• Open Source Media Framework (OSMF): Allows developers to create video collaboration applications using open source technology.
• Adobe Multitouch Framework: As the name implies, a framework allowing for capture of input from touch screens.
• Open Screen Project: A conglomeration of several vendors, including Adobe, of building a standard set of audio/video formats that can be viewed on a variety of devices.
• Adobe Flash Catalyst: Lets you design the entire UI for an application and export as a Flex project. Not sure how well it works for iterative exports.
That’s it for now.
Happy Researching!
Subscribe to:
Posts (Atom)