An amazing seven years

After what has been an incredible, nearly seven years at Adobe, my number has come up, and so it’s time to move on. This will undoubtedly be the last post on, something that I know hundreds of thousands of you have enjoyed reading for the various insights into Adobe’s Mobile and Devices efforts.

There have been many highlights during my time at the mobile helm, most notably working with my close friend Bill Perry and the growing mobile developer community back in 2007, and of course the incredible Evangelist team led by Ben Forta for the past four years.

Throughout these years together we’ve managed to deliver incredible advances in the Mobile and Devices industry, shipping over a Billion devices with Flash Lite and ultimately bringing Flash Player and AIR to mobile and the Digital Home.  Those achievements, despite having their respective flaws, have enabled some of the most incredible successes ever seen in the mobile content industry.  So while we have seen various people scoff at the cancellation of Flash Player on mobile, at least we tried.

The great news is that Adobe AIR and Flex continue to be wonderful solutions for mobile developers.  It has been incredible to see their transformation into key technologies for the ecosystem and I look forward to seeing them grow in the future.

I’d like to thank you all for being such a great community and supporting my efforts around the world over the years.  I’m really excited to see what the future holds, maybe I’ll have even bigger hair!





Adobe MAX 2011

Adobe MAX 2011 was one of the most amazing events yet, certainly a personal favourite of mine and very well received by the over 5000 attendees.  This year we changed the event “pitch” considerably, from what was a standard product launch and partner expose, to a more focused and customer solution focused vision.

Nowhere was this more clear than in our keynote sessions across the first two days.  I noticed on Twitter that many of you were confused about the change from the norm, “Why is Flash not mentioned every 10 seconds” etc.  There are good reasons, let’s distill the event a little.

Everyone at the event, and to some extent at home, saw one of the most incredible performances on stage on day one.  Arriving at the venue we were all presented with a concrete backdrop, no Adobe or MAX logos – nothing.  We began the show with a Violinist on stage, followed by two amazing dancers who evolved into the backdrop to become part of a stunning display of digital art, animation, lighting and music.  During their performance the stage deconstructed, much to the surprise of everyone, while the dancers appeared to reconnect with one another and ultimately the audience.

A couple of MAX attendees recorded this video of the keynote, “I knew that wall was fake!”.  Of course the wall was a total of five 300 feet tall screens that wrapped around the entire theater, the projectors pushing 300 million pixels per second, that’s why it looked so real. The eagle-eyed among you will note that the spotlights on the walls, and therefore the dancers shadows, were not real either.

The team at Elastic Creative produced the opener, so a huge congratulations to them. They’ve been kind enough to publish the opener video to Vimeo, minus some of the score and of course the live dancers.

The opener demonstrated a new vision for Adobe, one that’s not just about our new product ideas, but an Adobe that’s focused on providing solutions irrespective of the technology, during what is an amazing time of change across digital marketing and media.

So in short, if you feel that you were short-changed because we didn’t talk about Flex or Flash enough, then it’s quite likely that you didn’t realize that Fonts, Digital Publishing, Analytics and Measurement and Web standards are also key to the success of our customers and therefore Adobe.

I hope that goes some way to explaining things.

You can catch the full keynote here.


Steve Jobs

We discovered today that Steve Jobs, one of the most iconic characters in our industry died today.  This is a really sad event that has resonated across the world, on my own Facebook feed I notice that even those of my friends who aren’t “techies” still recognise him and what he stood for.

At Adobe we’re all very saddened to hear this terrible news.  Only yesterday we saw Tim Cook, Apple’s new CEO, deliver the next iPhone and continue the legacy that Steve started and under what we know now to be horrendous difficulty.  This evening Serge, Michael, Piotr and myself were talking about how difficult it would be to present that keynote knowing that their friend was that ill.  Our hats are off to them all.  Their launch of the iPhone 4s was as ever appropriate, “4Steve”.


AIR 3 MapView Native Extension on iOS

For quite some time I’ve had my Radar application out on the Android Market, but one of the major annoyances was that the Google Maps component didn’t work on iOS.  So I could never release the application for that platform, despite many “attempts” to get it working.

With AIR 3 we have new feature called Native Extensions, so I asked one of our great Engineering team called Meet Shah to look at this problem and see if we could expose native UI components within an AIR application.  It turns out that Native Extensions don’t just give us the capability to access APIs like Notifications and Bluetooth, but to actually present native UI within our apps.

The goal is to finish the Native Extension for Android, iOS, Playbook and Desktop platforms and then release the code.  Meet decided to follow the current (deprecated) AS3 API for Flash so that your existing applications will continue to work ongoing, great idea!


, , ,


AIR 3 Native Extensions


Yesterday we pushed out the first Release Candidate of AIR3 and Flash Player 11, and with that, we’ve outed another new feature of AIR – Native Extensions.  This represents a further opening up of the Flash Platform in that you will finally be able to add new features to the runtime.

History of Native Extensions

The origin of Native Extensions actually goes back all the way to Flash Lite in 2005 and were in fact part of my first engineering project at Adobe.  Back then we had the idea to enable a man machine interface (MMI) to the Flash Lite runtime to enable complete device interfaces to be built in Flash, the Samsung D600/D900, LG Prada, LG Cookie etc were the result of that effort .

The feature later evolved to become part of an OEM runtime called Adobe Mobile Client which was integrated into the BREW MP Platform to enable low-end devices to be produced with advanced interfaces and at much lower cost.

More recently we started working on “StageCraft”, the code name for a project to bring AIR/Flash support to the TV ecosystem.  With the first iteration it was apparent that remote controls were all different, it would be impossible to create a completely consistent API for all of the various pieces of consumer electronics out there.  With that, Native Extensions were reborn and redesigned to enable OEMs to build these custom APIs with ease.

Which brings us to today’s announcement, the opening of the Native Extension feature for all to use.

What are Native Extensions for?

From a high level this feature enables you to:

  • Achieve deeper integration with target devices
  • Incorporate legacy native code in your applications
  • Achieve maximum performance for critical code

As I see it, we built the Native Extension feature originally to enable access to platform or device specific features that don’t form part of the platform today.  Just to give you some context here, we always have debates about adding new features in the runtimes, many are community sourced, some OEM focused and some are internal like Flex etc.  Imagine what happens when the Acrobat, Photoshop and Runtime engineers are free to finish their pet projects :-)

Here are some thoughts on deeper API possibilities for devices today:

  • Notifications
  • Gyroscope
  • Bluetooth
  • Advertising
  • NFC / Payments
  • USB Accessories
  • Media FX/Encoding
  • Text to Speech
  • Contacts
  • Calendar
  • Alarms

Of course let’s not ignore the various possibilities that are now open for desktop developers that want to access provide new interfaces for legacy products.

The benefit is that now customers conversations shouldn’t end with “Can you support XX with AIR on XX platform?”, from this point on the answer will always be yes, assuming you have the technically capability to implement it, or can acquire the extension from someone who can.

Using a Native Extension

From Actionscript, the use of an already built Native Extension couldn’t be simpler.  In the example below you can see the first iteration of the Native Extension that I’ve been creating for Android Tablets with multiple displays.

            import flash.external.ExtensionContext;
                extensionContext = ExtensionContext.createExtensionContext("", "");
                return"getInfo","getCount") as int; 


Get Started





, , , ,