My phone is not supported by Flash Lite distributable player :(

dohI was so curious to do some tests that I thought all windows mobile and symbian devices was supported… however, as I can see, only a small number of mobile phones are compatible with Flash Lite distributable player (23), the full list is here: http://labs.adobe.com/wiki/index.php/Distributable_Player:Supported_Devices

I was able to compile a .cab file for my Samsung Omnia and then install and launch my test application, however an error message said me “Flash Lite is not available for this device”…. arrrggh!!! I’m going to buy a second hand Nokia N95 on Ebay, I’m too curious! :))

Adobe Flash Lite 3.1 Distributable Player for Windows Mobile and Symbian!

distributableplayer_workflow

Today Adobe has announced its last creature: Flash Lite distributable player for Windows Mobile and Symbian (the platforms I predicted). We can now use Adobe Mobile Packager to create standalone player for applications, without affecting the Flash Lite browser plug-in or pre-installed standalone player, if present into the device… so we can distribute executable swf files that user can open and use on their phone. Flash lite 3.1 now supports Flash player 9 features and security has been improved… however the bad and sad part is that it still doesn’t support Actionscript 3 :(

The software can be download from Adobe labs: http://labs.adobe.com/downloads/distributableplayer.html

The official announce from Adobe is here: http://www.adobe.com/aboutadobe/pressroom/pressreleases/200902/021609FlashLiteDistr.html

Furthermore a big context has been launched today: the Flash Lite Developer Challenge http://www.flashlitedeveloperchallenge.com
with 100.000 $ in prizes!

I’m quite excited although my disappoint about the missing AS3 support and I’m going to learn more about this news and experimenting with my device… and maybe participate to the challenge :)

Detecting display’s orientation change on mobile devices with accelerometer: a platform indipendent approach (n95, i900, iPhone…) with javascript

As I wrote, I bought a Samsung i900 Omnia (which as Nokia n95, iPhone and other modern cool mobile phones, has an accelerometer), as a web developer one of the first things that I had in mind was “how can I detect the orientation change (landscape or portrait mode) with javascript or actionscript?”. The first things I thought was:

  1. If the display changes its orientation mode, then the screen width and height must will updated with the new size
  2. If the screen width is smaller than screen height, the device must be in “portrait” mode
  3. Vice versa, if the screen width is bigger than screen height, the device must be in “landscape” mode
  4. The only thing I need is to check the value of screen size and define the orientation mode according to the point 2 and 3

And, as I can see, my deductions was right! I realized a small javascript script, which by using setInterval() function and controlling screen.width and screen.heigth deduces the device orientation mode. Anyway it works actually only with Opera mobile 9.5 (tested only on Samsung Omnia), Internet Explorer Mobile seems unable to interpreting some javascript functions.

This is a piece of my code (the main logic behind):

if (screen.width != width && screen.height != height) {
    width = screen.width;
    height = screen.height;
    mode = width > height ? "landscape" : "portrait";
}

If you would like to test my script go to http://daveoncode.site90.net

Let me know, thanks ;-)

ps. as soon I will understand about flash capability on my device I will try to implement a custom Actionscript event for the orientation… something like DisplayEvent.DISPLAY_MODE_CHANGE

UPDATE: if you are unable to load  http://daveoncode.site90.net try http://andreacfm.com/dave/ (I have to thanks my friend Andrea Campolonghi for the space)

UPDATE 2: the script works even on Blackberry’s browser (as someone told me) :)

UPDATE 3: it works even on HTC devices (at this point the only problem is internet explorer mobile… I will investigate!)