Posts Tagged Playbook

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;
            if(!extensionContext)
            {
                extensionContext = ExtensionContext.createExtensionContext("com.android.MultiDisplayInfo", "");
                return extensionContext.call("getInfo","getCount") as int; 
            }

 

Get Started

 

 

 

 

, , , ,

30 Comments

Flash Player versions 10-11

As you have undoubtedly noticed by now, we’ve been updating the Flash Player and AIR runtimes with increased frequency.  In fact, we’re moving to a new (roughly) quarterly update schedule for the runtimes that we hope will deliver huge advances across the web in a very short time.

Why?  I guess there are a number of reasons, the most interesting one is mobile investments bringing new fruit and HTML beginning to take more of the weight.  If you remember, during the 18months when Flash Player 10.1 was launching we received a lot of feedback that we were over-committed to mobile in general.  I think unfortunately the word didn’t get out that these investments were much broader than just mobile devices.   It was a ground up effort to enable the Flash Platform to support sweeping changes in the way media is composed, rendered, protected and analyzed.

Looking at the world through Tomi Ahonen’s eyes, you can see that a growing majority of web access is now on mobile devices.  That is, if you include the numbers of people using mobile only and mobile or desktop devices.  Of course these devices require new tools, new ideas and new content that runs effectively – it’s time for a shift in thinking.

Historically this is actually a pattern of advances on the web if you look at Flash releases, maybe some of you recognized it?

  • Flash 1 – Vector Graphics Support
  • Flash 3 – MovieClips, loadMovie
  • Flash 6 – AS1, XML, Video, Unicode, Drawing API, events, AMF
  • Flash 9 – AS3, H.264, JIT Compiler, E4X, Binary Sockets
  • Flash 11 – Full 3D etc

Note: I’m not attempting to be precise here, it’s just a pattern that describes the general points where the Platform has evolved over time.  There are obviously matching HTML/Jscript/CSS advances to match, all of which make the wheels of the web go round.

So in our efforts to drive web innovation, and take the Flash Platform to new places, let’s look at the current and upcoming Flash Player releases.

Flash Player 10.2

New Features include:

  • StageVideo support, pushing decoding and screen blitting of H.264 video via the GPU.  This is actually a feature that comes from the Digital Home investments, and in fact Flash Lite on Nokia phones rendered video in much the same way.
  • Complete Hardware rendering path on IE9
  • Native Mouse Cursors, enabling richer gaming experiences

StageVideo should now be included in all situations where you are presenting video.  It’s automatically enabled on mobile and Digital Home devices, but on the desktop it’s not always possible to use this method.  Get started with StageVideo today.

Many of you have noticed that Flash Player 10.2 has yet to launch on mobile, for which there are number of reasons.  Those are quite obvious really, it’s just much more complicated to ship on mobile phones and tablets.  In addition, we’re targeting the new Android 3.0.1 release from Google as well, a platform that brings fresh features and challenges.

That said, Flash Player 10.2 is expected to ship on Android in two days time.

Flash Player 10.3

Already fast on the heels of 10.2 is a desktop beta version of the next Flash Player to launch.  This is actually on the most exciting releases for some time because it delivers new features, many of which are driven by the community.

New Features include:

  • Media Measurement
  • Acoustic Echo Cancellation
  • Integration with browser privacy control for local storage
  • Native Control Panel
  • Auto-Update Notification for Mac OS

With these new additions, the community will be able to create incredible VOIP applications in the browser.  One of the missing items for those applications was Echo Cancellation, essentially processing of the Microphone inputs so that you won’t need a headset.  I’m certainly going to use this for my Radar application.

Another nice new feature is the native control panel, this will make Flash feel more integrated into the Desktop or device experience.  Finally we can get rid of the horrible SWF based settings manager on Adobe.com, something that confused even me.  Users will be able to control their own security and experience much more easily, as well as make the best of Browser security.

Media Measurement is going to be great for our Omniture customers, enabling them to analysis content playback much more easily.  Let’s face it, it’s a feature for monetization, but that’s always good.  Last year over 128Billion Megabytes were streamed through Flash Player, that’s 100% growth.  So with this feature our customers will be able to get a much broader view of what’s going on during playback, helping to improve and monetize those experiences.

You can download the beta today.

Flash Player Inclubator

As you read above, this is part of our ongoing efforts to seed the community with bleeding edge technology.  I like to think of it this way, HTML will be taking care of some of those slideshow and simpler web experiences, micro-sites, product data and maybe some basic video playback.  This isn’t something that scares me, in fact it’s completely the opposite.  Lets face it, the more HTML can take on, the more new innovations we can deliver with Flash.

I find the whole HTML5 and Flash argument quite amusing, anyone that’s old enough to remember how the web evolved will recognise that Flash was successful because it solved problems for our customers.  So it makes sense (and it’s exciting) that it will evolve to solve new problems as HTML catches up, and we’re helping those technologies catch up.

New Features:

  • All of Flash Player 10.3
  • 3D Rendering Pipeline “Molehill”
  • more to come :-)

Interestingly, the StageVideo api enables play back video on a hardware surface using an OpenGL (ES2.0)/Direct3D shader API to convert from YUV to RGB.  It shouldn’t take you long to realise that Molehill uses the same apis for 3D rendering, thus enabled by Stagevideo.

Flash is so widely distributed now that we don’t have the option to simply cut off those users without GPUs or the correct drivers.  So for these users we have a seamless fallback to a new component called SwiftShader, a Transgaming product of which Adobe is a licensee.

You can see some of the incredible work underway below:

 

Developer and/or Browser War

(Personal Opinion)

Finally, in case some of you didn’t notice, we’re in the middle of a browser war.  Each of the major players (including Adobe) are working incredibly hard to drive innovation on the web, adding new features, increasing performance and fighting for territory.

This has unfortunately led to some adverse press attention being poured on Flash, one of the most talked about technologies of the past year.  What’s important here is that we all keep a level head, listen to customers concerns, but always consider someones motivation for targeting Flash to gain press attention.

Example One

Example Two

Net is, Flash is a product made successful by those who use it – that’s probably you.  It’s not just a pile of 1′s and 0′s, it’s a complete ecosystem that is largely, and most successfully, presented within HTML  It’s success has been driven by the Flash community creating incredible millions of pieces of content over the past decade, enabling online business and entertainment to thrive.

I have no doubt that HTML5 is going to be great for all of us, that includes Flash developers who will be free to create even more advanced forms of content on even more screens.  That’s why I believe that Flash is the innovation engine for the web and digital experiences, the use cases may well change – but the reason for Flash existing won’t.

, , , , ,

15 Comments

QNX Car – Playbook integration

In November last year I presented at a QNX customer event in Stuttgart, attended by the top Automotive OEMs and suppliers. The event was great and it was clear that automotive is going to become yet another frontier for connected web technologies – what an exciting industy.

The QNX Neutrino OS is of course the underlying platform used by the Playbook as well as huge range of server, industrial and automotive products, all with “space-grade reliability”. QNX has of course shipped Neutrino in a huge array of different products in various configurations, making it one of the best choices for industrial, automotive, transport and consumer devices.

Interestingly, with the QNX Car, automotive OEMs can leverage Flash in a very unique way.  Merging highly available OpenGL rendering with Flash components, and blended together using some special sauce.  So with QNX Car, it’s possible to produce dashboards that are highly available and safe, yet dynamic and easy to produce in Flash.  To enable this, the Neutrino OS employs a number of distributed processing techniques that ensure the safe running of key components – all while offering amazing multimedia and connectivity features.

Throughout 2010 we’ve all been thinking about the huge range of new devices, tablets, televisions and mobile phones that have begun to change the digital landscape.  As part of my investigation into the automotive space, I started to think about the interactions between these devices.  Do passengers want their tablet to be the control hub for their car of the future?  What can we learn about our driving “expertise”, or green credentials using applications?

Imagine all of the opportunities for great integrated applications, think of all of the information at your disposal! We could have personalized and theme’d dashboards, mood sensors, and with 4G connectivity options on the horizon, we could see vast amounts of telemetry data help with the ever increasing congestion on our roads.

Well the good news is that the folks at QNX are already putting these concepts together. Let’s take a look at this demo shown at CES, integrating the RIM Playbook directly with the QNX car control systems…

, , ,

1 Comment