Zynga Leverages Adobe AIR to Take Ruby Blast Multi-Platform

Rubies – now available on your mobile device! You can now play Zynga’s Ruby Blast not just on Facebook and Zynga.com but also on mobile, marking another successful game for which Adobe Gaming technologies have been used to deliver explosive graphics, action-packed sound effects and gorgeous particle effects on any device. Ruby Blast was Zynga’s first game optimized for hardware acceleration, supported by Flash Player and Adobe AIR, and successfully extended across multiple platforms while preserving the beauty and speed of the original Ruby Blast web game for a seamless experience.

While creating Ruby Blast, Zynga developed performance optimizations that have been integrated back into the open-source Starling framework, benefitting all developers leveraging the same technologies for their own games. By using the Starling framework today, indie developers and studios benefit from the ongoing innovation brought by companies like Zynga and Adobe and the entire community which has grown up around Starling.

Visit www.itunes.com/appstore to find out more about Ruby Blast and start playing today! And check out gaming.adobe.com to learn more about Adobe Gaming technologies, and how we are helping game developers of all levels reach the widest audience on desktop and mobile.

Adobe and NBC Olympics Join Forces to Bring the Olympics to Mobile Devices

Today, Adobe and NBC Olympics announced the official NBC Olympics apps for the iPad, iPhone and select Android tablets and smartphones. For the first time in Olympics history, mobile apps will give you the opportunity to view live broadcasts of all Olympic events in the palm of your hand. This is possible because of the partnership between Adobe and NBC Olympics, and Adobe’s ability to provide leading video technology solutions at scale. We believe the Olympics will be a defining moment for digital video and we are proud to play a role.

The “NBC Olympics Live Extra” and “NBC Olympics” apps will provide a huge variety of content – from live streams of all competitive events to short video highlights, medal ceremonies, interviews, news stories and more. We’re thrilled that both apps are powered by a series of products and technologies from Adobe, which made it possible for NBC Olympics to more easily bring them to a wide range of mobile and tablet platforms and devices.

Adobe creative tools, including Photoshop, Illustrator, Acrobat, Flash Builder, Flex and others, were used to design and build the apps. With Adobe AIR, our runtime for Flash content outside web browsers, NBC Olympics is able to leverage existing code to ensure a consistent content and video playback experience across devices without having to develop the apps natively for each platform. By integrating support for Adobe Pass, NBC Olympics is using the industry’s leading “TV Everywhere” authentication technology used by virtually all operators in the U.S. You simply provide the login and password of your pay-TV subscription to access live broadcast streams of over 3500 hours of Olympic events. To make it as easy as possible, you only need to go through the sign-in once and won’t have to “re-authenticate” every time you want to watch a live event.

NBC Olympics is also taking advantage of Adobe technologies to measure and monetize content in both apps. Advertising onto mobile devices will be served via Adobe Auditude, our video ad management and monetization platform. Auditude will work in conjunction with other existing NBC ad serving systems and is used by major brands worldwide like Comcast, Major League Baseball, Fox News, E! Entertainment, Dailymotion and others. SiteCatalyst, our flagship product for digital analytics, allows NBC Olympics to measure user traffic and engagement across both apps for live video streams, ads and video-on-demand (VOD) content for iOS and Android devices. This enables NBC Olympics to quickly optimize the app experience based on viewer behavior.

A few other great things I wanted to highlight: Each app is interconnected, so you can easily launch one of the apps from within the other to streamline usability. Both apps offer social media integration that lets you share and communicate with friends via Facebook, Twitter and Google Plus as the Games happen in London. You can also set reminders for your favorite sport events, and, pause or rewind.

Check out this video for more information about the apps and how Adobe and NBC Olympics is taking the 2012 Olympics beyond the TV and offering a whole new experience across mobile devices:

Adobe Advances Broadcast Creation to Delivery Workflows at IBC

This week at International Broadcasting Conference (IBC) in Amsterdam, Europe’s largest show for broadcasters, Adobe’s video solutions team is showing off new versions of Flash Media Server and Flash Access, continuing to innovate on new, streamlined solutions for businesses to stream and protect premium video content. A highlight of both new products is enhanced support for mobile platforms.

With Flash Media Server (FMS) 4.5, media publishers can extend their already broad mobile reach via Flash-enabled devices, with the new ability to deliver video content to Apple’s iPad and iPhone devices, enabling them to reach the widest audience possible. Adobe’s Kevin Towes writes more about what’s new in FMS 4.5 on his blog.

Adobe Flash Access 3.0, a robust content protection and monetization solution, will enable content owners to deliver on-demand content with massive scale and strict studio-level security across a broad range of devices, following the upcoming release of Flash Player 11 and AIR 3 (release candidate versions are now available for download on Adobe Labs). More info about the latest enhancements in Flash Access can be found on Florian Pestoni’s blog.

Watch this video from Adobe’s Pritham Shetty where he discusses Adobe’s video solutions news at IBC, including Flash Media Server 4.5, Flash Access 3.0 and momentum for Adobe Pass—a solution for broadcasters, programmers and content portals to seamlessly and securely establish a user’s entitlement to premium content anywhere, anytime and on virtually any device:

If you’re attending IBC, stop by the Adobe booth in Hall 7, Stand 7.G27 and follow the Flash Platform Facebook and Twitter channels for updates on news from the show.

Google Maps: Evangelist Radar

As promised, here is the first of a few blog posts to discuss the creation of Eva for mobile phones from our App in a Week series.  If you missed any of the great sessions from the team you can watch them on-demand here.

One of the requirements for the EVA application was to produce a radar that would enable us to know where our team mates are.  This feature would be presented as a widget in the EVA application, and you can see it running here.  You can login as a guest as your username and then press “Radar”, and the result looks like this..

As you can see from the “powered by Google” logo, I chose to use the Google Maps API for Flash.  In fact I went all out and created a widget that displays the map in 3D and plots our locations using custom markers around the world.  It goes without saying that the Google Map product is amazing and made possible in Flash by a special API created especially for Flash.

Now, when I was creating this I didn’t know that Google planned to open up their Latitude API.  Latitude, in case you don’t know, is part of the Google Maps product on mobile phones that allows you to share your location with your friends and vice versa.  It has a number of great features that help you to create applications that can share sensitive location information – and keep the data under the control of the user.

Google Maps API for Flash

For a few years now Google have provided an API for Flash developers, so that we might integrate Google Maps into our applications in the browser with Flash/Flex or using the AIR runtime.  To get setup all you need to do is to download the SDK and place it within the components panel of Flash and drag the component onto the stage.

Once you have your FLA setup then you can begin coding, and my personal choice is to use Flash Builder as it has much better support for complex applications.

I have an application class called RadarWidget that defines the Google API key, constructs the Map in 3D.  For obvious reasons, drawing the Map in 3D is quite intensive, and to be honest I did feel that I was stretching my idea of “recommended” approaches.  In the end however I decided that the construction and optimization of the Widget was key to this post.  So to be clear, I still do recommend a static image and this is also supported by the API.

When the application starts up I initialize the Map and get it ready to roll, and while that’s happening a request is sent to our PHP backend to retrieve the current locations of the team using the UserService class.  The PHP function pulls this information from the MySQL database and sends back an array containing all of the team.

getAllUsers = new UsersService(handleGetUsersRequest);

Each of these array items becomes a User object and they handle the loading of their avatar images, before calling back into the RadarWidget class to add this avatar to the map.  The CustomMarker class extends the com.google.maps.overlays.Marker provided by the API.  Markers provide an extensibility mechanism for the Google Maps API, one where an Overlay can be anything from a user image, to your local Starbucks, weather and even a completely new terrain map.

var marker:CustomMarker = new CustomMarker(user,
new MarkerOptions({
icon: user.image,
hasShadow: true,
distanceScaling: true,
iconOffset: new Point(-user.image.width / 2, -user.image.height)

In this same class, when a user taps on an Evangelist avatar you’ll notice that a pop-up appears to indicate their current location.  To achieve this I have used the Google ClientGeocoder, which is an API than provides an array of Placemarks close to the Latitude and Longitude provided.

popup = new Popup(currentMarker.user.user_realname, placemarks[0].address);
popup.cacheAsBitmap=true;//The popup is a vector, so let's cache it while it's up

var opts:InfoWindowOptions = new InfoWindowOptions();
opts.pointOffset= new Point(-45, -110);
opts.customContent = popup;

The precision is limited to their street and city, although ultimately this component could easily be extended to include live Tweets etc.

Optimization Challenge!!

After a series of optimizations I managed to get this API to work pretty well on the Nexus One running in AIR and Flash Player 10.1.  The framerate achieved could be considerably improved and that’s my challenge to you!

My optimized version for Eva is here and my challenge to you is to get used to the API such that you can achieve between 13-15FPS from this component running on the Nexus One.

I have deliberately switched on various problematic rendering features and made it a little tricky.  The goal here is for you to practice at bringing desktop code into the mobile environment – and making it ship quality.

All you need is Flash Professional CS5, Flash Builder 4 and a Google Maps API Key.


Android week: On switching to Android

When I first saw the iPhone I immediately fell in love with it. After walking around with an iPod, a PDA and a mobile phone I could finally have all of these things in one device. I was worried that when I switched to Android I would need to go back to using 2 devices […]

Declaring this week “Android week”

February 9th 2010: The last day I used my iPhone. Or: The day I discovered Android. Or: The day I switched to the Google Nexus One. Well… You get the idea.
I was an iPhone user from the moment it came out. Before I continue this post, I want to repeat what I’ve been saying all […]

On Adobe, Flash CS5 and iPhone Applications

A little over a week ago Apple released a new draft of their iPhone developer program license which contained the following clause:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript […]

On sub-standard apps

Steve Jobs (via TechCrunch): Intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.
That’s the first thing I read this morning… I agree with Greg Slepak (CEO of TaoEffect) who wrote:
Crappy developers will make crappy apps regardless of how many layers there are.
That doesn’t mean that […]

Flash Applications Across Multiple Screens

In the video below, Christian Cantrell shows off a single Flash application running on 5 different screens – two mobile platforms (Motorola Droid based on Android and iPhone OS), a browser, 3 desktops (Windows, Mac and Linux), and the iPad. This 5 minute clip shows the value of the Flash Platform – build your application once, and then have it run across various platforms. Flash Player 10.1 brings this vision to life in the browser on mobile devices, and Flash Professional CS 5 allows you to compile these AIR applications for other platforms that don’t support Flash Player natively, like the iPod, iPhone and iPad.

Christian plans on releasing the code for the game in the next couple of weeks. Keep an eye on his blog for the code.

Christian Cantrell shows off one code base running on iPad, iPhone, Android, MacOS, Windows, Linux, Browser

Christian Cantrell shows off one code base running on five difference devices.   Simply fantastic. Full article here

Filed under: ActionScript, Adobe AIR, Adobe Flash Tagged: ActionScript, Adobe AIR, Adobe Flash, AIR, android, droid, ipad, iphone