The RIA Puzzle: Shaping the Future of the Internet with Adobe Platform Technologies

Recently I did an interview with Anthony Franco, President of EffectiveUI, about Flex, Adobe AIR, and Rich Internet Applications. Check it out and let me know what you think.

Article & Videos on Integrating Flex and Java

This week I’m in Europe speaking at various Java User Groups about integrating Flex and Java. I tend to move quickly through code demos so many people have asked me how they can continue learning. Here are a few resources to get you started:

InfoQ Article: Building Web and Desktop Applications with BlazeDS and AMF

Adobe TV Video: Flex Messaging Service

Adobe TV Video: The Data Management Service in LiveCycle Data Services

Email List: JavaFlexCoders Yahoo! Group

BlazeDS

LiveCycle Data Services 2.6 Beta

Hopefully that is enough to get you started. Have fun and let me know how it goes!

My Adobe MAX 2008 Talk

It’s hard to believe that Adobe MAX 2008 in the US is only 4 months away! It’s going to be another great MAX and I really hope that you can make it. This year I have one session:

Working with Data in Flex
Explore various methods for accessing data in applications built with Flex 3. We’ll discuss how to connect with back ends such as ColdFusion, PHP, .NET, and Java using REST and XML, Web Services, Remoting, Messaging, and the LiveCycle Data Management Service. We’ll also discuss underlying formats such as XML and how to manipulate it using E4X, AMF3, and JSON.

The session list is now online. So check it out and go register today!

This Week: Europe JUG Tour and SAP / Adobe Nanoconference

The last few weeks my wife and I have been tromping around the Alps (and we climbed Mont Blanc!) Now it’s time to get back to work. This week I’m visiting a few Java User Groups to talk about the usual topics: Adobe AIR and Flex

Here is the schedule:
July 7 - Zurich Java User Group
July 8 - Paris Java User Group
July 9 - Amsterdam NLJUG
July 10 - Warsaw JUG
July 11 - London Java Meetup Group

Also on July 11 I will be at the Adobe RedMonk SAP Enterprisey Nanoconference with James Governor of RedMonk.

Hope to see you somewhere along the way!

Thinking in Flex Presentation from JavaPolis 2007 is Online

The Thinking in Flex keynote which Bruce Eckel, Christoph Rooms, and I did at JavaPolis 2007 has been posted! Check it out!

Let me know what you think.

BTW: Don’t you love that Parleys.com is a Flex app?!? And they also have an Adobe AIR version of their app which works pretty well on Linux. (To install the Parleys AIR app on Linux install Adobe AIR for Linux and then get the Parleys .air file.)

Need a QuickFix? Try Google App Engine, Adobe AIR, and Flex

Last week I spent a few hours with Dick Wall of the Java Posse working on an application which combines Google App Engine, Adobe AIR, and Flex. This was a fun experiment that turned into a pretty cool application. The application, named QuickFix, sends an image to Google App Engine which does an “I’m Feeling Lucky” transformation on the image and sends it back. Here’s a screenshot of it fixing one of the photos I took at the Java Posse Roundup this past winter:

You can get the application by going to:
http://airquickfix.appspot.com/

All of the source code can be found in the air-quick-fix project on Google Code.

The division of work between Dick and I worked really well. Dick worked on the back-end code in Python while I worked in Flex on the front-end. We used PyAMF to connect the back-end to the front-end. PyAMF made the whole process very easy. The only challenge was in figuring out how to transform the data types correctly. The first version of the application came together in a couple of hours.

The back-end Python code is really simple. Here is the method that is called from the client (trimmed down a bit):

def fiximage(data):
 
  image_in = Image(str(data))
  image_in.im_feeling_lucky()
 
  image_out = ByteArray()
  image_out.write(image_in.execute_transforms())
 
  return image_out

In this code, the data which is passed to the method is just a ByteArray containing the image. The data is turned into an Image, the im_feeling_lucky transform is specified, then run - taking the bytes and sending them back to the client.

The front-end Flex code that sends the image to the back-end is also really simple:

The RemoteObject (AMF networking API in Flex) is defined as:

<mx:RemoteObject id="ro" destination="image" endpoint="http://airquickfix.appspot.com/image/">

The function which actually makes the request to the back-end is:

var stream:FileStream = new FileStream();
stream.open(startFile, FileMode.READ);
var imageData:ByteArray = new ByteArray();
stream.readBytes(imageData);
ro.fiximage(imageData);

In this Flex code the image file is opened, read into a ByteArray, then sent to the fiximage method on the back-end.

There is a bunch of other Flex code that creates the UI, handles selecting, saving, and dragging and dropping images but is all pretty straightforward.

Dick and I really enjoyed creating this application together. It shows off some of the strengths of each technology well and shows how easy it is to use the technologies together. Let us know what you think about the application.

Two Great Flex / Adobe AIR Articles

Just a quick note about two great articles which were recently published:

ActionScript Collections and Functional Programming by Bruce Eckel
In this article Bruce provides examples and insights into the functional pieces of ActionScript. He also covers some of the lesser known things about Collections. I learned quite a bit from this one!

InfoQ Case Study: NASDAQ Market Replay
Jon Rose worked with NASDAQ to create a great case study about using Adobe AIR, Flex, and Amazon S3.

James Ward is a Sell-Out

I’ve gone commercial. Kinda. I just bought jamesward.com and it is now my primary domain name instead of jamesward.org. I liked the .org URL but it’s a less familiar URL to non-geeks. You say .com and everyone knows what you mean. The .org will still work - redirects right to here.

So I’m a sell-out. Gone .com. Good news is that you still won’t see any ads on my site.

Let me know if you have any problems with the new domain.

MAX 2008 - Full of Flex Goodness

Adobe MAX is a special time of year. Kind-of like getting together the family for Christmas… Lots of drinking, carousing, and the gift of inspiring Flex talks by people like Ely Greenfield and Christophe Coenraets.

This year festivities take place November 16 - 19 at Moscone in San Francisco. Moscone has become like my second home so I’m glad to yet again visit that little village by the sea. Best thing about Moscone is the number of Starbucks within a block of the place.

Last year sold out fast, so go register today!