Android week: Winner of the Google Nexus One

Wow… 707 comments on my “Win A Google Nexus One” post… Thank you all for your birthday wishes and your thoughts on Flash and AIR coming to Android devices.
Using the SQL statement below, I picked a winner from all entries.

SELECT * FROM wp_comments WHERE comment_post_ID = 2558 ORDER BY RAND() limit 1

The lucky winner is […]

Android week: The Web and TV marriage: Google TV

A few years ago I used to work for Belgians biggest commercial broadcaster. In my last year there (now 7 years ago) I investigated interactive TV. I was pretty disappointed to see what was available at that time. Almost 5 years ago my local cable operator (Telenet) launched interactive digital TV in Belgium and I was […]

AIR 2 for Android Public Beta!

They AIR team did it!! While at Google I/O this week developers are getting blasted with awesome news and new technology, Google and Adobe have worked hard on this and IMO it is a top 5 event of the week. For those of you who don’t know AIR, Adobe AIR for Android enables developers to build standalone applications that run on Android devices, like the Nexus One (my all time favorite smartphone). You can use any text editor and the free SDK to build applications and easily deliver applications that works across Linux, Mac, Android and PC. When developing for Android, you must use the AIR for Android SDK.

By joining this Public Prerelease program, you will have access to a beta version of the AIR SDK with support for Android. Before signing up for this program, there are currently limitations that you should be aware of:

  • In this early stage of development, you should be comfortable with using command line tools.
  • Flash Professional CS5 now has a new extension that allows developers to publish directly to Android-powered devices. The extension adds a new AIR for Android publish setting that works in the shipping and 30-trial versions of Flash Professional CS5.
  • The Flex 4 framework has not yet been optimized for mobile devices; for this prerelease, we recommend building applications using ActionScript only. We’re currently working on creating a highly productive, cross-platform solution for mobile development using Flash Builder and Flex, which we expect to be available in public preview by the end of this year.
  • You will be able to build and test AIR applications on Android devices, but you will not be able to deploy on the Android Market or share them with end users
  • You will be subject to terms of an NDA which allows you to display your application publicly, but you will not be permitted to disclose anything outside of Licensee’s own personal development experiences of a beta Android application(s) using this beta AIR SDK.

If you are interested in joining our Prerelease program, just go here:

I’m going there now!

Android week: Watch the Google I/O keynote online

The Google I/O keynote is only a little over 3 hours away. I am super excited about Google I/O this year. I wish I was there… But if you’re like me and you couldn’t make it out to San Francisco you can still be a part of it.
Both today’s and tomorrow’s keynote will be streamed […]

Flash Player 10.1 preview release for Android at Google I/O

Even though I already have FP10.1 installed on my Nexus One (one of the many perks of working at Adobe ;-)), I’m very happy to see that we will be releasing a public preview of Flash Player 10.1 for Android on my birthday… eh I mean… at Google I/O on May 19th/20th.
Ever since I switched […]

PhysicalFoursquare – A Flash Player 10.1 Demo App Using the Foursquare API

As you’ve seen, we’re getting close to having a version of Flash Player 10.1 that will be available to the broader public. And a lot of the evangelists have been creating some cool demos of how Flash Player 10.1 behaves on the Nexus One.

I wanted to do something slightly different and build more of a functional application.

I come from a Flex background and so I haven’t spent a lot of time creating ActionScript only projects. And while Flex performs pretty well on Flash Player 10.1, doing an AS3 only project gives it a better shot at running, especially as the application gets more complex. So I went with ActionScript only and created an application that uses the Foursquare API as well as the Geonames database to find and let me check into physical features like mountains, streams, lakes, etc when I’m out hiking and want to still be able to check into Foursquare.

Thoughts on Building for Mobile Flash

As you’ve seen, a lot of Flash content will just work. And because of the AIR for Android packager, a lot of people will just end up building applications and not worry about creating in-browser Flash apps for mobile devices. But I wanted to try it. A few thoughts:

One, the Flex mobile framework can’t come soon enough. I have so much more respect for the old-school Flashers because rolling everything by hand is a pain. And I had it easy because I was dealing with a fixed resolution since I was specifically targeting the Nexus One.

Two, while I didn’t do much in the way of performance tuning, that’s going to be important. These are pretty beefy devices and we’ve done some great optimizations, but for complex Flash content, tuning your code will be central to a good experience.

Three, as Mike Chambers showed, hover content works, but I found it kind of annoying. The way it’s currently set up, the hover event fires after the down event fires. So using SimpleButton the way I normally use it didn’t quite work because the effect was off. I ended up just making the hover state the same as the down state.

Lastly, I was surprised how much just worked. I pulled a LOT of third party content into this application. Keith Peter’s Minimalcomps, the Foursquare AS3 API by Tim Walling, my own AS3 library for Geonames, the Google Maps API, TweenLite, Shannon Hicks OAuthAS3 library – and it all worked just fine. Part of what I wanted to test was how much I could throw at the device and I was pleasantly surprised by how well it all worked even on the beta bits of Flash Player 10.1. So when you target these devices, you’ll be able to use a very similar workflow which I think is important.

To see the application in action, you can check out the video above or test the application in your browser here. You’ll need to have a browser like Firefox 3.6 that supports geolocation and if you check in you’ll be checking in this poor guy. All of the code is available on GitHub and you’re free to do with it what you will. Unfortunately my OAuth implementation was half-assed, so the Foursquare checkin didn’t work, but it works in the browser.

Flash Player and Chrome Sitting in a Tree

TechCruch just posted about the news that Adobe and Google are going to be collaborating a bit around Chrome and the Flash Player. The basic gist is that Chrome will start integrating the Flash Player directly into the browser so that users will always have the most up to date versions and anyone who downloads Chrome won’t need to also install the Flash Player. I think that’s good, but the much bigger news in my opinion, is that we’re working with Chrome and Mozilla to revamp the plugin architecture. This has huge implications.

We’ve been using an old-school plugin model for a long time. In fact NPAPI, the plugin interface, stands for Netscape Plugin Application Programming Interface. And as the Wikipedia entry states, it’s so sucessful because it’s so simple. The API basically lets plugins associate themselves with a content type (like a SWF file) and then puts that plugin in charge of all the rendering. There’s not a lot of integration between the plugin and the content in the browser which means the plugin lives in its own little world and it’s tough to break out. You can do things like ExternalInterface but it’s still pretty hacky.

But under this new plug-in, we’ll have much closer integration at the browser level. There’s a great summary of what this means at the Chromium blog:

Improving the traditional browser plug-in model will make it possible for plug-ins to be just as fast, stable, and secure as the browser’s HTML and JavaScript engines. Over time this will enable HTML, Flash, and other plug-ins to be used together more seamlessly in rendering and scripting.

Think better access to the hardware APIs via this new plug-in model, better access to the DOM, and a generally much better, more stable experience. The Flash Player in the browser has always felt a little like a black box largely because ofthe constraints in the plugin model. Certain things didn’t work quite as you’d expect in a regular HTML site. Hopefully this changes that. In theory this could make it possible to use the save-password feature with your Flex/Flash apps, or make Flash SEO a lot easier, and it allows us to innovate around HTML-Flash integration. If you’ve used AIR, you’ve seen what’s possible when you have complete control over both technologies. This new plugin work makes that easier to do across all browsers that support it. I don’t know when/if we’ll see it, but it’s easier now.

Another benefit is that the API is going to be OS and Browser neutral so you won’t see such wildly different performance on different platforms. The hooks that we can use to make the browsing experience better will work across all of the browsers that support the new plugin across all of the operating systems.

Google and Adobe bringing improved Flash Player support in Chrome

There’s been lot of buzz in the blogs about this over the last 24 hours. Now, the news is official: Google and Adobe are bringing improved Flash Player support in Chrome.
Paul Betlem: Today, Google is releasing the initial integration of Flash Player with Chrome in their developer channel (behind a command line flag). Moving forward, […]

Android catching up fast!

Google is selling 60.000 Android devices every day. According to MobileCrunch, that works out to about 5.4 million handsets per quarter, or 21.9 million per year. And the rate is growing rapidly, according to Eric Schmidt who kicked off the Mobile World Live Keynote initiative yesterday.
Android is also not just about handsets anymore. I’ve seen […]