Archive for category Creative Suite 5

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

$200k – Adobe AIR App Challenge for Sony Tablets


This summer seems like one for Flash and Mobile, so it’s great to be able to tell you that Sony, one of our long term partners in mobile, are joining the Open Screen Project and will be a platinum sponsor of Adobe MAX in LA.

Today we’re announcing an exciting new Adobe AIR App Challenge for two upcoming Sony Tablet devices.  It’s available to those of you in Germany, Italy, Japan, Spain, UK and USA.

There are lots of prizes ($200,000 USD) available for various categories of applications, as well as early access to the devices and Adobe AIR 3, and a paid-up trip to Adobe MAX for finalists.  All that and more for optimizing your applications for Sony’s new devices.

Let’s take a look at the devices..

Sony Tablet

Both tablets come with Sony quality design and hardware, most importantly, with incredible quality screens.  Each of the devices has a Tegra 2 chipset from NVIDIA and will be “PlayStation Certified”, so expect some of the best quality games seen on the 1st-gen PlayStation and Xperia PLAY smartphone.

The tablets will ship with Flash Player pre-installed, but interestingly the Sony Tablet devices will ship with a new Sony Web browser.  With that, we can expect better performance for Flash and browsing the web, compared to the stock browser.

The Sony Tablet S1 (codename) which has a stunning curved body designed to feel lighter in the hand, like when you fold a magazine.  It comes with a 9.4 inch display, so will be great for Entertainment and reading.  As many of you have heard me say, 10″ screens feel too big for my little Irish hands, so it’ll be interesting to see what it’s like.

Sony Tablet S2 (codename also) is quite different as it comes with two screens.  The underlying technical specs are identical between the devices, but this device is going to be great for building applications that long for unique interfaces that make use of the dual-screens.  I’ve got my sights set on a mixing deck idea, but it’s also going to be a nice way to play games; Battleship anyone?

The Challenge

Adobe and Sony are challenging developers and content publishers to build breakthrough mobile apps optimized for the Sony Tablet S1 and Sony Tablet S2.  We have a panel of some amazing judges, both Sony, Adobe and industry experts picking finalists and winners across four key categories.

Each category has a cash prize of $20,000 USD and promotion on the Sony Tablet devices, with a $100,000 USD Grand Prize awarded for the best overall application.

  • Entertainment
  • Lifestyle and Community
  • Gaming
  • Business and Productivity

Our team of judges will be reviewing applications throughout the process, and will look favourably at applications that span across different platforms.  Maybe your application works on Sony Vaio PCs, or Sony Televisions with GoogleTV?

If you get in early enough, before September 16th, you’ll have the chance to be one of the 10 MAX Award Finalists.  So get in early and you can get a free trip to Adobe MAX in LA!

In addition, $10,000 USD will be awarded for the following applications:

  • Most Innovative Application
  • MAX Public Favorite – awarded by community vote

The top 80 finalists in the contest will get pre-release access to the devices for a 4 week period, the Adobe AIR 3 runtime, and access to the very latest tooling to complete your application.  You’ll be on the leading edge of Flash development and innovation.

Adobe AIR 3 Beta

You will use Adobe AIR 3 Desktop Beta, released soon for the desktop to optimize your applications for both devices.  So you can start to consider how your existing or new applications would make use of the dual screen, be as novel as you like!  (cough, mixing desk, cough)

For the Sony Tablet S2 you will use the upcoming Native Extension feature in AIR 3, one of the most exciting features in the upcoming release of the platform.  Native Extensions give us an easy way to optimize applications for dual screens, that’s because we can now access any API on a host Operating System!

All applications should support both the Sony Tablet S1 and S2.

Key Diary Dates

  • Sept 16: Deadline for MAX Showcase App prizes
  • Oct 1-5: MAX Public Favorite Vote & MAX Showcase App winners attend Adobe MAX
  • Oct 10: Deadline for Entries
  • Nov 11: Final App Submission for Finalists to the Android Market
  • Nov 17: Winners Announced

Submit your app or app project now at airappchallenge.com

 

 

 

 

 

, , , , , ,

13 Comments

MAX 2010 – Day 1 Review

This year I’ll be missing Adobe MAX in person, heading to Ireland tomorrow for a family wedding, so it has been an interesting experience to watch from afar.  I guess the most obvious thing to point out is that “I can” – that is, watch it from afar.

The keynote this year is being approached differently, it’s all about solutions.  You’ll notice that ‘devices’ don’t have a predictable section of their own, instead they are presented together across a set of five innovation vectors, Web Development, Video, Digital Publishing, Enterprise Applications, and Gaming.  The dynamic has shifted from technologies to solutions, as presented by Kevin Lynch and guests Martha Stewart, Mark Goldberg of EPIX, Joe Simon of Condé Nast, Mike Lazaridis of RIM and David Nuescheler of Day Software (soon to be an Adobe company).

The conference this year is powered by Akamai and distributed using Flash Player to desktop computers, mobile phones and tablets and all major browsers.  In addition, this years MAX is also streamed using Peer-2-Peer technology, found in Flash Player 10.1 – which is now available on 74% of desktop computers and just 3 months after launch.

These changes sum up our ongoing strategy to enable the creation of applications that are fit for purpose, expressive and multi-screen.  As part of this we re-organized our teams at Adobe, folding the Flash Platform business unit into the Creative Suite Business Unit.  Together our new group is called CIBU – Creative & Interactive Solutions.

Web Development

Earlier in the year at Google IO we showed a new HTML5 extension for Dreamweaver CS5, created to enable the production of web properties across screens.  Within this new HTML5 pack we have added support for CSS3 and media-queries that allow your web pages to be easily transposed to different screen sizes.  Simply run the Adobe Updater to get started.

Kevin also showed a new prototype, codename “Edge” that is effectively Flash Catalyst for HTML and uses the popular JQuery JavaScript library.  Using Edge you will be able to create HTML5 applications and sites with animations and media, drastically shortening the development time for web properties, widgets, and not to forget, great prototypes that run across screens.  I can’t wait to start creating AIR applications and mobile websites with Edge, it’s going to be huge.

Finally, with our recent acquisition of Omniture we also showed NetAverages, an amazing product that forms part of the suite of applications including analytics, optimizations, conversion and acquisition tools.  With NetAverages you can now gain access to a wealth of data around HTML5 support, devices, platforms and various technologies – all of which is presented in a stunning Flex interface.  Statistic are gleaned anonymously from a large range of the worlds most popular websites.

Digital Publishing

This year we’ve seen the introduction of the Tablet form factor, which is a great leap forward for the publishing industry – enabling a new distribution and monetization model for the publishing industry.  As part of this great work we’re going to ramp up our contributions to webkit, delivering improvement in layout control – including precision text wrapping around shape/images and enhancements for dynamic rendering of content for different form factors.

Today, almost all major publishing houses use Adobe InDesign to create their print pieces and deliver these to consumers at news stands.  So it makes a lot of sense for this workflow to be enhanced to encompass the packaging and delivery of Digital Publications.  We’re calling this solution the Adobe Digital Publishing Suite, a set of tools, deployment and SiteCatalyst reporting services that make it incredibly easy to target these new devices in a sustainable way.

Publishers create “stacks”, which are essentially articles/pages/ads in InDesign CS5 in portrait/landscape/both and publish these individually.  Each stack can include interactive elements, buttons, links, scrollable frames and slideshows to enable rich experiences and drive innovation in their digital pieces.  In addition, you can also use the Interactive Overlay Creator to produce 360° views, panoramas, image pans, audio, video, and web views.  Web view is very similar to StageWebView, described in my previous blog posts :-)

Video and audio are added very easily and use the H.264 format in addition to standard mp3 formats.  You can integrate audio as part of the experience, maybe clicking sounds or swoosh effects – although I hope you can be more imaginative!  Each interactive element has associated parameters to enable you to control the interaction for the user, such as looped slideshows, handling swipe events, fading, hightlights, transition timing and delays.

Finally, you can use the Adobe Digital Content Bundler to take the stacks and create an issue of your publication by simply adding each of the publication content folders and stacks.  Publications can then be viewed in a generic viewer application and later deployed in a custom viewer for each publication.

From a publishers perspective, managing the technologies, deployments and interactions is pivotal to success in this new multi-screen world.  With the Digital Publishing Suite, content creators can spend more time driving their content and brand – instead of worrying about the ever increasing costs of reaching their users across devices.

Enterprise Applications

For the Enterprise we are now focused on “Customer Experience Management”, a new set of solutions that are targeted directly to enhancing the productivity and experiences for our largest customers.

At MAX we announced the availability of Flex 4.5 “Hero”, the latest version of Flex that has been highly optimized to enable the creation of mobile applications for Android, Blackberry and of course desktop computers.  This new framework includes additional mobile components and skins to speed up the production of multi-screen apps and deliver new experiences on devices.

Flash Builder Burrito / Flash Catalyst Panini

Attendees received a DVD with a new version of Flash Builder, with some amazing new features for creating mobile applications.  These include device debugging for Android (inc. USB support), integrated Android SDK tools and simulation for a host of supported devices.  Flash Builder Burrito ships with Flex 4.5 embedded and you can download the trial here.  Among the many new features are improved coding features, performance improvements and much improved support for working with Flash Catalyst Panini.

The Catalyst team have also been hard at work improving the workflows for designers and developers using Flex.  With “Panini”, the team have focused on delivering the first steps towards full round tripping between Photoshop and Illustrator and Burrito.  The results are looking great, enabling resizable applications and components, custom skins, code generation improvements and improvements for animation control and styles.  You can download the trial of Panini here.

Day Software

Earlier this year we announced that we are to acquire Day Software, a Swiss company with offices in Boston.  Day are a global leader in content management with customers like Audi, Nissan, Volkswagen, MTV, Virgin Media and McDonalds.  David Nuescheler was on hand to show CQ5, an amazing solution for managing content in multiple languages and for multiple screens.  Customers can simply drag and drop assets and pages, type content directly into the pages and leverage approval and localization workflows directly from the tooling.  I can’t wait to see more of our new EMEA team :-)

Video

Flash is now enabling the playback of 120 Billion megabytes of video every month, an astounding number that presents huge challenges for the Flash Player team.  Today Flash supports numerous formats, resolutions and audio codecs being mixed together and delivered using DRM, encrypted streams, the open RTMP and it’s variants.  In the latest player we also support playback over HTTP and RTMFP for P2P distribution of large events, thus driving the industry forward.

So what’s so big about video on a TV?  – Well, what we actually showed is DRM protected and encrypted video running across the internet in HD format to a television.  We’ve all sat at home watching video on our computers with 30″+ televisions in front of us, it’s just annoying.  Today we showed that EPIX can leverage the Omniture analytics suite and industry approved Token based DRM (Flash Access) to present high-value content from the studios directly into the home.  This signifies an industry change, for the first time you can deliver video across screens, whilst protecting it, measuring it, and enabling users to gain access to a full web of video currently missing from the living room.

At MAX we announced two things, Flash and AIR for TV and a new way to display video – StageVideoStageVideo enables the use of hardware decoders, much like VLC does today, and this results in huge improvements in the CPU usage – but with limitations.

The API enables video to playback on a graphics plane, delivered straight to hardware, as opposed to being pipelined back into the Flash Player.  Because of this, videos rendered with this API cannot support transparency and objects will not render behind the video.  Flash content, such as overlays for video controls are rendered on top of the video in a separate graphics plane.  In fact, on TV this will be the defacto rendering method and all video objects will render this way.

Moving forward, all devices using the Flash runtime will have access to this new API set.  The Blackberry Playbook is the first tablet to implement this support to deliver an incredible video experience on their hardware, demonstrated for the first time at Adobe MAX.

AIR applications can now be built for TV using AIR2.5, the applications runtime deployed for Android and desktop platforms.  These applications are typically video based, although we do see some great opportunities for gaming and social connectivity moving forward.

Flash Player and AIR on TV are supported on Samsung TVs and Blueray Players, Google TV and BBC Youview hardware.

Gaming

The most exciting piece from the keynote today was probably the advancements in gaming and 3D support planned for an upcoming Flash Player release.  On the top of the tick list is game controller support, the ability to simply plugin your USB joypad or steering wheel and start playing games!  I’m so excited about it :-)

Needless to say, gaming on the web is set for a omplete overhaul, with 3D capabilities that use leverage GPU hardware and rendering millions of triangles per second.  What’s more incredible is that the demo below uses 0% CPU, and if our current stats hold true, we can get this out to 3/4 of the online world in three months after launch.

Check it out…

No Comments

AIR on Android: TweetrApp Video walk-through

This the final video in my EVA series focusing on the widgets that I have created for the App in a week seminars.  As you’ll discover, it’s really very simple to create a Twitter client, and to integrate Twitter services into new or existing content to add a social element.

EVA’s social widget was created using the Tweetr component library from Sandro Ducceschi at Swfjunkie.com.  He has done an incredible job to build out a complete API for Actionscript 3 developers, taking care of the horrors of Open Authentication and connecting to the Twitter API.  It’s really as simple as creating a few objects and an application token, Sandro has also provided great tutorial videos.

Tweetr requires the open source AS3Crypto component library, a package of classes that help with encryption for client/server applications.  In this case Tweetr relies on AS3Crypto for the Open Authentication communication, another great example of how great the community is.

Finally, I spent a very long time trying to find a suitable List component for this application.  There are many great sets of components out there, not least of which is Flex.  Of course Flex on Mobile devices is going to take some time, so I was glad to finally come across FlepStudio.org and the Tipper component.

If you want to learn more about mobile optimization then drop by the mobile pages at the Developer Connection.  Also coming up in June are some great e-seminars where you’ll learn more about going multi-screen.

Download TwitterApp

, , , ,

14 Comments

EVA on Android – App in a Week

I have just completed my App in a Week session on targeting Mobile and Devices, as promised, here are the source files for EVA on Android.  So that you don’t get lost in the huge swathe of code let’s run through some of the features to get you started.

If you missed todays session you can catch it here and view the running application here.

Setup:

Get Flash Pro CS5

Get Flash Builder 4

Get AIR on Android extension

Target Multiple Screens:

The goal of this application was to target Android devices running AIR, or indeed the Flash Player running in mobile browsers.  So it was important to include some pointers on how to dynamically layout the application.

I chose to implement two pretty simple examples of how to do this using the widgetComponent and the footerMenu.  In the Application class I listen to the “Event.RESIZE” event through the doLayout function.  As you stretch the SWF (use the standalone player) you can see the widgetComponent always displays in the middle, the footerMenu will always be at the bottom.

Of course the menu, widgets and background should all change dynamically.  This won’t require a huge set of changes and as you can see it’s quite simple to control the layout.  In a later build I will investigate a more dynamic approach to laying out the UI.

PHP+MySQL Backend

To demonstrate the data-centric features of Flash Builder, Mihai and Piotr created a database with PHP services that describe common Evangelist activities as well as data about us.  In the mobile demo I have coded as few of these database interactions in the UsersService class:

  • “UsersService.getByUsername” – Is used to login and returns an object with user details including their name, photo url etc
  • “UsersService.setLocation” – Is used to store the lastest location after login, this is then synchronized with other Evangelists.

I have created a User object to represent the user of the service, this class also manages the loading of the user image using ContentLoader.  The primary function of ContentLoader is to abstract the loading of SWF/image files, handling the various possible error cases.

User Location

An interesting new feature of Adobe AIR on Android is the ability to use the GPS hardware to get an accurate location fix.  Although EVA was designed to run inside, or outside of the browser and as such I have built a few fallbacks.

When the application is running in the browser (Capabilities.playerType==”PlugIn”) I have used an HTML5 feature to get the location.  This is achieved by using the ExternalInterface class, a bridge that Flash uses to communicate with Javascript.

In addition to these two approaches I have also deployed the MaxMind GeoIP service on my blog.  This is a huge database of IP addresses that can be used to determine an approximate location, usually your nearest city.  This is used when the application is running in standalone mode for debugging purposes, or as a failure fallback.

Using each of these methods I can reverse geocode the latitude and longitude to discover the users current location.  The UI displays the current city and country.  The open geonames database is an incredible free webservices that cover all manner of data, I couldn’t have wished for more.

Local Weather

One of the more interesting features of the application is the local weather service.  There are only two services that can produce weather data for a give latitude and longitude, and those are Geonames and Google Weather.

I chose Google because it comes with the added bonus of providing a weather icon to display.  Unfortunately this icon isn’t up to the quality of Serge’s design and so I ultimately swap it out, but at least I can easily change the URL.

The most fun part was easily finding a piece of code that calculates the Sunset (SunriseSunset.as).  I was able to find and port a piece of JavaScript code that does the trick, although annoyingly I cannot find the author to thank them.  Using this I can swap in the night icons for weather, nice :-)

Flash Settings:

  • The stage is running in low quality mode – perfect for use with device fonts
  • Layers have been minimized and flattened as much as possible
  • The Frame rate of the application is 15FPS – as low as possible

Asset Optimizations:

  • The EVA background is an 8KB PNG-8 128
  • All other images are mobile optimized PNG-8 128 Dithered and under 4KB
  • Bitmap caching is not used, the application is relatively static
  • Special care has been taken to ensure that all assets are snapped to pixels (not 23.43 etc)
  • No assets are loaded off stage and nothing is invisible, ever – if they are unused, then they are unloaded
  • All assets use “Sprite” as their base class, as set in the properties panel in Flash Professional

Text Optimizations:

  • TLF is not used anywhere due to performance and size issues
  • Only device fonts are used, they perform and render much better

Flex:

  • Flex is not used due to the overhead of the framework on devices.

In later blog posts I will discuss the Widgets in more depth, including the Social and Radar widgets.  It’s also worth noting that Tom did a great job to deliver his P2P widget ready for integration, amazingly within 12kb!

DOWNLOAD

, ,

1 Comment