Category: Adobe
Last weekend I had a great time at Madrid (Spain), sponsored by West Icon, the company which I work for. The goal of this trip was to learn more about Adobe Air in, as a follow up action of the Flex Camp seminar at ISCTE which had a great impact in the company perspective about the impact of Rich Internet Applications (RIA’s) on the web. During the last couple of weeks we’ve been starting to work with Adobe Flex and Adobe Air in a new product (still top secret
). onAIR tour event was great to get some tips about nice functionalities of Adobe Air. This was the first event of the European tour and it went pretty well.
We went to Madrid by car. A loooong trip. we arrived on Saturday, and headed to Parque Warner. It was great! I just love Superman, and because of that I just love the fountain bellow. The Superman roller coaster was pretty awesome. I really felt like flying.

The weather was great. And during this season, there isn’t a lot of people in the park. The longest wait we had was about 15 minutes, in Superman roller coaster. I can’t even imagine how crowded this place can be in Summer… We paid 25 € per person. This is the price when entering into the park after 4:00pm (it closes at 10:00pm). During this time of the year, it is plenty of time to visit the park. The place is beautiful, and makes you feel like you’re in a Warner film. You can to the Daily Planet, or visit Bat-cave!
I really liked the Wild West area too. A lot of emotions and excitement can be achieved in the several attractions like the roller coasters. I even saw Batman driving his Bat-car in front of Gotham City city hall! Children were delighted to take photos with him! Jerry was in the streets too. I wonder where was Tom… He wasn’t chasing him.

In the photo bellow you can see Atocha train station. It is pretty big, and really beautiful. It is the central point in public transportation in Madrid (unfortunately you may know it only because of the terrorist attacks at March 11th…).
Right next to Atocha station, there is a great art center, called Museo Nacional Reina Sofia. We were pretty lucky, because the entry was free, and there was a temporary exhibit of Picasso paintings (The collection of the National Museum Picasso of Paris). But those that I really loved were Salvador Dali’s paintings. Madrid is a pretty nice city, but I hate Spanish food, and I prefer Barcelona rather than Madrid. Nevertheless, it is worth to visit, and I really mean it.

onAIR event was pretty nice. Since this was the first event of the European tour, the sessions weren’t recorded yet. But because Portuguese people are awesome, riaPT (Rich Internet Applications Portuguese Community) guys recorded the sessions by their own, and they are available in their blog.
You can take a loot at the agenda in the official website. I only have one complaint: the event was supposed to be in English, but there were some sessions in Spanish… Luckily it was pretty easy to understand.

During the breaks I was able to try Guitar Hero for X-Box 360. It is nice, but I wouldn’t buy it. Maybe a friend of mine will, and then I can enjoy it. I also playing Wii Sports in the Wii that was available in the Gaming area.

I forgot to mention one important upcoming Adobe tool that will help a lot the designing/developing workflow.It is called Adobe Thermo. It is another point of view in MXML files manipulation, that is used in Flex applications. Thermo stand for Flex Builder as Microsoft Expression Blend stands for Visual Studio. It allows designers to create prototypes that fit perfectly the design they made, and then developers can add behavior without screwing up the design.
What is BlazeDS?
It is an open-source Java-based web server technology that allows using Remoting and Messaging services with Flex. A Release Candidate is available for download. It communicates using AMF (Action Message Format) natively supported by Flex (after all it is a format developed by Adobe). AMF serializes and de-serializes data in a binary format. According to what was said during Flex Camp this format has a great performance when compared to SOAP/XML. The messages must be shorter, since it is binary and not text-based.
Some BlazeDS functionalities:
- RPC (Remote Procedure Call) such as Web Services, Remoting, REST
- Messaging (Publish/Subscriber architecture)
- Web proxy (it helps to solve cross-domain security restrictions while working with Flash)
- Support for AJAX clients
- Support for clustering (for scalability)
- Is is a Adapters-based system, which allows to develop custom modules that are coupled to BlazeDS
What is Adobe LiveCycle Data Services?
It is a super-set of BlazeDS. This software is payed and adds some functionality to BrazeDS. It has the capability to deal with data conflicts, can compile source to swf on-the-fly and generate PDF files on the server-side.
What is AMFPHP?
It is a PHP library that allows to use Flash Remoting with PHP as the server-side technology. I’ll just quote a more complete description from the official website.
“(…) AMFPHP allows thin client applications built in languages such as Flash, Flex, and AIR to communicate directly with PHP class objectsPHP developers can leverage their PHP experience in server side code development by connecting to data sources such as web-services, databases, and business applications and return that data to the client. Client applications can also offload cpu intensive methods to PHP services and wait for the result set for presentation to the user. AMF allows for native data types and complex object mapping between the client and the server. (…)”
It is pretty straight forward to use. I really liked the demonstration.
As I have said before this was a great event. I’m looking forward to start playing around with Flex. I’m downloading Flex Builder 3 “as I speak “.

How to Develop with Adobe Flex/Air?
The current Flex version in the streets is Adobe Flex 2. Adobe Flex 3 is almost out, though. In Flex Camp they talked about Adobe Flex 3. But the brochure that was given to the audience talked about version 2.
There is a beta version of the Flex SDK on Adobe Labs. Altough you can do a terrific job programming Flex applications using notepad, maybe it is not such a good idea. Al least concerning to productivity.
Flex Buider is the IDE meant to help developers while programming in Flex. It is based in Eclipse, so It is familiar to many developers. I was glad to know that Adobe gives free licenses on Flex Builder to educational purposes. So, students and teachers, go for it!
While working with Flex you will need to program in ActionScript 3.0. From what I’ve heard it is pretty nice, since it is objected-oriented. Now you can develop using your favorite best-practices and design patterns based on this paradigm.
Some of the functionalities are Scaffolding (generating a basic data management application based on a database schema), component theming (eg. text input, radio buttons, buttons, drop-down lists, etc) using some tools like Adobe Photoshop or Fireworks. It has some nice wizards what allow you to easily do things such as connecting to a web service, and generate an wrapper based on the WSDL definition.
Flex Builder has some Profiling functionality that allows you to track down and correct performance issues.
While demonstrating Flex Builder the speaker gave some tips about decreasing the overall size of the swf files generated by Flex. In Flex Builder you can create several modules that correspond to different swf files. This way you can re-use these component and light-weight the main swf file. When you create a Flex application it is compiled including the Flex runtime library. You can choose to load the runtime from an external swf. This way you can use caching of swf to optimize traffic usage.
Flash and Flex are meant to complement each other. Adobe Flash CS3 has the capability to export your Flash animations to the MXML format that is used by Flex. This way you can use Flash elements in your Flex applications, and even access these elements via Action Script to manipulate them. These Flash elements can have a code-behind file. This way you have a class that represents that element, where you can add meta-data and behavior (just like while developing in .NET using Visual Studio).
It is also possible to have embed Flex applications in your Flash animations. This allows you to easily integrate a form in your flash-based website, for instance. In Flex Camp one of the speakers showed some demos to show us that Flex can be used along with different flash movies that are compiled to different versions of Flash Player, and even communicate with those legacy applications/movies.
In the next (and last) post about Flex Camp @ Lisboa I will talk about server side (back-end) technologies working with Flex. Including web services, Flash Remoting and integrating Flex with PHP. Later tonight!

“Flex Camp is a series of conferences designed to help you understand more about Adobe Flex and Adobe AIR.”
And it was a really good conference. I have a whole new perspective at this emerging Adobe technology. This event in Lisbon (ISCTE University) was an initiative of RIApt (Portuguese Community of Rich Internet Applications)
It all starts with a simple question.
What is RIA?
Rich Internet Applications are part of the evolution of the world wide web. It started with Text-based UI and Mainframes, evolved to Integrated Media UI and client/server architectures, and now we are daily dealing with RIA in web applications.
People expect a great user experience while navigating over the web and using distributed applications that are part of a networked and global world.
What is Flex?
Flex is an open-source cross-platform/browser framework brought to the world by Adobe to produce RIA. The output applications donw with Flex are .swf files which can be viewed in any browser with a Flash Player up-to-date plugin. It is based in XML (the format is called MXML. It is pretty similar to XAML used by Microsoft (or the other way around
)
Flex allows you to use SOAP, HTTP/S, REST among other technologies/protocols. A great advantage of this technology when compared, for instance, to Silverlight (to what else could I compare it?…) it is the fact that a lot of people already support flash-based websites in their browsers. And it is already completely cross-platform (I’m still waiting for Moonlight to say the same about Silverlight).
There were a lot of demonstrations of some Flex applications. Some of them pretty great.
http://www.picnik.com - Online Photo editor. Nice, but I prefer Splashup.
http://www.buzzword.com - A reaaaaally amazing online document processor. Are you thinking about Google Docs? Just forget about it. This one has a real interface. RIA style
. Astonishing! You can even save your files as Word 2007 documents (or as an usual .doc file). Give it a try.
http://sliderocket.com - Online slide show presentation composer (an online Powerpoint, lol). It is nice, but I don’t think that is as useful as buzzword. When I create a presentation I often use a lot of images and sometimes large pictures. Uploading them to a web server to use them in the presentation takes a lot of time. The waiting time for uploading and downloading the presentation for editing is not very effective. I think that in text processing this kind of issue is not such a problem. A presentation typically is more visual and occupies much more space.
http://remix.mtv.com - an online video editing tool. Pretty nice, I wasn’t paying that much attention during this demo. Sorry…
What is Air?
Air is a platform for Desktop RIA. This means that you can have an application based on Flex/Flash running as a desktop application. It can give you a great user experience. It is also cross-platform. Since it runs as a local application, it can do much more that an web-based application. A lot of the security issues that can be problematic when talking about a web-browser environment are dropped.
Air has an API that allows you to work with I/O, Networking, Clipboard actions, integrate with other typical operating systems features, etc. All you can do with a regular desktop application can be done with Air (or so they say).
Some sample applications:
Adobe Media Player - just another media player…. It was used to show us the HD support of Flex during this conference.
Google Analytics Suite - Google Analytics shaped in a fancy Air application. It can generate PDF reports!
Twhirl - this one was not presented during Flex Camp, but I use it a lot.
It is a Twitter client.
This post was about what were these technologies and some examples of real life applications.
Next post will be about development with Flex/Air. Stay tuned. 
Adobe has a web-based service in Beta stage that allows you to share documents. It is based on Flex technology. You upload your files, choose with whom you what to share them, and if you want them to be public (to everyone you give the direct URL).

Your files will be available in your library. You can preview your files, download them, share them or delete them.

If you want you can share your public files by adding a link to the URL or by embedding the given code into your webpages (which shows a flash-enabled preview of the shared file).

The preview pane only works with images and PDF documents.

I just love the User Interface. It has the usual Adobe clean look&feel. According to this webpage the maximum space available to each user is 1Gb. A REST-based API is also available.
The current file formats which are supported are:
- Microsoft Office 2003 and 2007 formats, Rich Text Format (RTF), Open Office formats, text, and PDF.
- HTML
- Adobe supported image formats: GIF, JPEG, BMP, PNG
- Creative Suite file formats
- SWF and Captivate formats
- ZIP
Formats which were banned are:
- Media: MP3, AAC, MOV, WMV, OGG, FLV, XVID, DIVX.
- Fonts: TTF, DFONT, OTF
- Archive: TGZ, 7Z, SIT
- Executable files or script code: EXE, DLL, JAR, WAR, CAB, JS, VB