Announcing the Force.com Toolkit for Adobe AIR and Flex

Almost a year ago I began working with Ron Hess and Dave Carroll from Salesforce on the Flex Toolkit for Apex - a port of the JavaScript libraries for Salesforce.com’s web services. Since that time the toolkit has matured and been used in numerous production applications. Today I am pleased to announce the new Force.com Toolkit for Adobe AIR and Flex. This new toolkit build on the Flex Toolkit for Apex and adds additional functionality for the new Adobe AIR runtime for desktop RIAs.

For more information on the new toolkit check out a tutorial I wrote on how to use it. Also visit the new Salesforce page on the Adobe Developer Connection.

It was very impressive seeing all of the amazing applications that were built with the original toolkit. I can’t wait to see what you build with this new toolkit. Let us know how it goes!

Adobe AIR on Linux: Pre-Beta Testers Needed

Adobe AIR is a cross-operating system runtime for deliverying rich Internet applications on the desktop. Developers using Flex, Flash, HTML, JavaScript, and Ajax can easily build applications for the desktop using Adobe AIR. As of today there have only been releases of Adobe AIR for Windows and Mac but Adobe is committed to also delivering a version for Linux. This is great news for developers like me who use Linux as their primary desktop operating system. The Adobe AIR team is now in the phase of development where they need a handful of additional testers to begin testing initial builds of AIR on Linux. If you are interested please answer the questions below in an email to helptesterairlinux at adobe dot com.

1. Are you comfortable working with prerelease software that is not yet feature complete?

2. Will you be able to submit bug reports on issues that you find back to our development team?

3. How many hours a week can you spend testing on Linux?

4. What is the primary distribution of Linux that you’re using? If you are using more than one distribution, please list.

5. Will you be developing applications on your Linux machine (as opposed to writing on Windows and testing the applications on Linux)?

6. What other operating system are you using, if any (Mac, Windows)? Can you compare the behavior of AIR for Linux with AIR for Windows and AIR for Mac OS?

7. Are you working on an AIR application today? If so, please describe.

8. Are you primarily a Flash, Flex or JavaScript developer?

9. What is your name, company name and email address?

Unfortunately at this point not everyone will be accepted into this pre-beta program however there will be public betas when the pre-beta has been sufficiently tested. And at that point maybe we will finally know whether penguins can fly when given AIR.

Upcoming Events: CodeMash, RIA Jam, Flex-TurboGears Jam

It’s hard to believe that 2007 is almost over. It’s been an amazing year! Thanks for reading and contributing. I’m looking forward to another great year in 2008. And it all begins when I hit the road the second week of January for CodeMash 2008. I went to CodeMash last year and really enjoyed the conference, especially the water slides. :) I’ll be speaking again at CodeMash 2008 about Adobe AIR and Flex.

The week following CodeMash there will be a RIA Jam in Ann Arbor. The RIA Jam will be hosted by SRT Solutions and Bruce Eckel. My friend and co-RIA-conspirator, Josh Holmes, will also be there helping people learn Silverlight while I help people learn Flex and AIR. In February Bruce will also be hosting another Flex Jam in Crested Butte, Colorado. The Jam in February will cover Flex, TurboGears, integrating the two and hopefully some exploratory work into integrating Flex with Lift, the new Scala based web framework. I will be there helping people learn Flex and undoubtedly learning some new things myself.

The Jam and Open Spaces style events that Bruce hosts are my favorite events of the year. The events in Crested Butte are always so refreshing. While most conferences keep me indoors for days at a time, Bruce’s event encourage attendees to get outside, into open spaces. For me this helps to relax my mind which makes it much easier to learn and focus. At the Crested Butte events in the summer we hike for a few hours every day and in the winter we ski / snowshoe. These events are also incredibly affordable since there isn’t a high cost associated with putting them on. And as a bonus attendees to the Jams will receive a free copy of Flex Builder 2. If you are learning Flex, no matter what level, you will learn more in these few days than you will at any other conference. They are hands-on events so you actually learn through experimentation and peer interaction.

I’ll be at many other events in 2008 and hope to see many of you somewhere along the way. Until then have a happy and safe holiday season.

Online Video Series: Salesforce.com & Adobe

A few weeks ago I was able to participate in a Chalk Talk with Salesforce.com and StakeWare. The session focused on how Rich Internet Applications, Flex, and Adobe AIR relate to the Force.com platform. With this combination of technologies companies like StakeWare can quickly build business applications that have rich user interfaces that work the same across browsers and operating systems.

PodTech recorded the session and have split it into three parts [part1, part2, part3]. I spoke in part 2. You can watch the video below or on the PodTech site.

Speaking at CodeMash 2008: “RIAs - Beyond the Buzz”

I just received notification that I was accepted as a speaker for CodeMash 2008! This will be my second year speaking about Flex at CodeMash. Last year was a ton of fun! Between sessions we would head down to the indoor water park for an Open Spaces session on the Lazy River or for some great conversations while waiting in line to try surfing the standing wave. There were a ton of fun people at the conference and we even had some time to do an Open Spaces session on using Flex and TurboGears together. This year I’ll be speaking about Flex and Adobe AIR in a session named “RIAs - Beyond the Buzz”. With lots of great people and an indoor water park, CodeMash 2008 is a conference you definitely don’t want to miss!

To see a list of all of the sessions that have been approved so far check out:
http://www.jeffblankenburg.com/index.html

My Dreamforce Keynote Demos

At Salesforce.com’s 2007 developer conference, called Dreamforce, I did a few minutes of demos during the day two keynote with Marc Benioff and Bruce Chizen. I showed three real applications built with Flex, Adobe AIR, and Salesforce.com. It was a fun experience and I only had a few minor demo glitches. Thanks to PodTech the video is below. My demos are about four minutes in.

FREE RIA Developer Camp - Nov 5 in San Francisco - Sign up now!

I’ll be presenting at the RIA Developer Camp on Nov 5th in San Francisco with Christophe Coenraets. Go sign up now before it’s full!

Building an Adobe AIR application on salesforce.com with Flex 3

One of my old blogs has been turned into a full article on the Adobe Developer Connection and updated for Flex 3 Beta 2 & Adobe AIR Beta 2:
Building an Adobe AIR application on salesforce.com with Flex 3

Also a recording of the session that I hosted at Dreamforce has been posted on the Apex Developer Network:
Make Your App *Bling*: Build Amazing Salesforce Apps Using Adobe Tech. (click on “Apex & Beyond” then scroll down to the session)

Lastly, in the next few weeks we will be releasing an update to the Flex Toolkit for Apex which adds simple local caching for AIR applications. More information as soon as we finishing implementing the basic CRUD functions.

What is a Rich Internet Application?

The more software experiences become like the natural world the more users are pleased with those experiences. One of the most powerful, understandable, and universal concepts in computing is the idea of a desktop containing files and folders. Users embraced this metaphor in their software because it modeled their natural world experience.

There is a paradigm shift underway. In this shift, developers are creating user interfaces which more closely model the natural world. Since 2002, the term used to describe these types of software applications is “Rich Internet Applications”, or RIAs. Technologies like Ajax, Flex, Silverlight, Adobe AIR, and JavaFX are growing in popularity as this shift to RIAs gains momentum.

But what is an RIA? Answering that question is like trying to answer “What is a tree?” You may be able to identify an RIA or a tree with certainty when you see one, but coming up with an exact definition can be very difficult. In cases like this, the best one can do is to identify some of the fundamental characteristics that the term encompasses.

When you break down the phrase “Rich Internet Applications”, you find that “Internet” and “Applications” are well understood. It’s the “Rich” aspect that makes RIAs interesting, and it’s the “Rich” aspect that requires a fuller explanation. Essentially, a Rich Internet Application is capable of delivering a rich experience to the user. It is the richness of the experience that is often enhanced by making software that is more natural – more connected, more alive, more interactive, and more responsive.

Connected

We are all connected. On this relatively small planet we all have many things in common. We communicate with one another via many different methods, in many different languages, sometimes easily and sometimes with difficulty. Likewise RIAs are built on a network that connects us all - the Internet. RIAs use this network of billions of connected pieces to help us communicate - between each other and between systems, sometimes easily and sometimes with difficulty. And like each of us, in some scenarios RIAs need to be able to work when disconnected from the Internet.

Alive

Movement and the passing of time are critical to our experience of beauty and the emotional reaction we have to it. Watching waves continuously crash on a beach is an experience which fills us with life. Similarly, we would not sit and watch a beautiful sunset for very long if it never changed. In RIAs, we create rich experiences by modeling the movement and beauty we find in the natural world. Smooth sliding transitions, zoom effects, soft blurs, drop shadows, and rounded corners are elements of RIAs which help make software feel more like the natural world. Beauty is often simple and never overdone. Software that feels more alive evokes an emotional response from us. That emotional response can help to improve our overall satisfaction with the software. RIAs should feel alive.

Interactive

When people communicate they interact — sometimes physically, sometimes audibly, and sometimes visually. Interaction is how we transmit and receive information. The richness of an experience is heavily dependent on this interaction made possible by our senses. RIAs facilitate physical, audible, and visual interaction. Many new devices are allowing for more natural methods of physical interaction. Multi-touch interfaces like tablet PCs and media players are becoming more common because users want to interact with software like they interact with objects in the natural world. Many more software applications are also adding video and audio capabilities, and some of these applications support bi-directional multimedia interaction. This allows users to interact visually and audibly in the context of an application. Imagine filling out a form online and, if needed, being able to interact via webcams with someone who can help you complete the form. Applications which embrace interactivity to that level are helping to bring natural world interactivity to software experiences.

Responsive

In the real world when people interact with each other or with objects like rocks and trees, those things typically respond quickly. If I kick a rock it immediately moves, unless it’s a big rock in which case my foot immediately hurts. If someone speaks to another person they expect a timely response. At a baseball game, you can see scores whenever you want, just by looking in the right place. Too often in the world of software people are forced to wait for their computers to respond. Whether due to network connectivity issues, processing limitations, or other problems, software too often makes us wait. Most web applications leave users waiting for at least four seconds every time the user clicks on something. With many applications the wait times can be significantly longer, even on a broadband connection. Imagine what an everyday conversation would be like with that latency. Real-time streaming, high performance client side virtual machines, and local caching mechanisms are becoming in integral part of RIAs because these technologies reduce latency, increase responsiveness, and make software feel more like the natural world.

Natural Software Experiences

All kinds of software applications — from ERP business applications to word processing applications — are embracing the characteristics of what we now call Rich Internet Applications. This move is happening because users intuitively want to experience software like they experience the natural world.

Rich Internet Applications are proliferating because they are more connected, alive, interactive, and responsive than yesterday’s software. In ten years nearly all software will be what today is called a Rich Internet Application. But in ten years it will be only natural to just call it “software”.