Max Media | Mostly Mobile

Archive for December, 2006

Mobile Entertainment zine

Saturday, December 30th, 2006

Not sure if folks know of this nice source of news related to the mobile industry, Mobile Entertainment, but thought I’d blog about it just in case. I’ve found it a good read, chock full of news from around the globe on trends, new apps, services, etc. Flash Lite was even mentioned in the November (?) issue, it’s kicking around my office somewhere but can’t find it at the moment.

Posted in Flash Lite, Mobile General | No Comments »

Flash Lite and iRiver Clix development

Wednesday, December 27th, 2006

Continuing on my earlier post on Flash Lite and developing for iRiver devices, I thought it would be helpful to share some details from my experience with the Clix over the past several months. I’ve been working for a client on a commercial app, which for the typical legal reasons I can’t elaborate much on, but as the initial platform for the app is the iRiver Clix, I can share the technical obstacles I came up against while trying to get Flash Lite 2.0 to work on this device.

First, it’s worth mentioning that this application was multimedia heavy, in that the media involved included mp3 audio, flash video (flv), bitmap images, all driven by an external xml file that defined the structure and behavior of that media within the application. There have been a couple articles written on developing Flash Lite apps for the u10, which I’ve found to be more focused on a more self-contained “game” style of application, with a single swf running the show. If your focus is along those lines, definitely check these out.

Unfortunately, as I embarked on getting a proof of concept going on the Clix, I quickly found that the Flash Lite 2.0 “support” on this device was severely handicapped. I wouldn’t know just how handicapped until I’d pounded away at it for a while. For this post I’ll mostly hit on the unsupported features of the Clix FL 2.0 implementation, as I ran across them.

XML Support
A wonderful thing of Flash Lite 2.0 versus 1.1 is its support for the XML class. The Clix supports this class, however is does NOT support loading in XML data from an external file. In fact, and this will save you a lot of effort, the Clix essentially does not support loading of ANY external files with the exception of external swf and jpg/png files. And yes, while I’m on the subject, that means no loadVariables via external text files either. So, to use the XML class within your Clix application you will need to form the xml within your main code body. I simply brought it in via an include file that assigned the xml to a string, then formed the XML class object ala XML.parseXML(xmlString).

Video Support
There is no support of the Video Object in the Clix implementation of Flash Lite. Besides this, there is no support for playing flv video of any kind, loaded externally, embedded within your main swf application, embedded within an swf loaded externally, etc. This is somewhat surprising seeing as how the Clix is foremost an audio/video player, more so than its Symbian counterparts who have video playing quite happily via Flash Lite 2.1 these days.

Because of the client’s interest in trying to make video work, I briefly fell back on trying to do “keyframe” video based on a series of bitmap images, with a streaming audio track to keep sync, but the poor frame rate possible with this technique eventually proved unacceptable. The poor frame rate is due, by the way, both to the demands it puts on the processor to chug on all those images, and the memory limit of the Clix. Anything more than 1MB will definitely have you playing russian roulette with whether your media will play or fail on the Clix. The memory available is easily obtained via one of the fscommand2 calls: FSCommand2 (“GetFreePlayerMemory”). So while I was able to produce a few all-keyframe videos, the file size grew quickly above 1MB and the available memory of the Clix.

If your application absolutely called for video, it would be possible to produce pseudo-video clips as swfs, using still images, pan and zoom techniques, and streaming audio, that probably would yield acceptable results. But obviously the content would dictate how effective that solution would be.

MP3 Audio
It should be expected by now if you’ve been reading along what will be the case with trying to load up and play external mp3 audio files on the Clix. It won’t work is the short answer. The solution again is to simply wrap the audio in swf files and load them in as external swfs instead of mp3′s. As far as I can tell, the Sound Object is not supported on the Clix either, so forget controlling your audio with attachSound, setVolume, or the rest of that class’s methods.

Images
Happily, loading in of external jpgs and pngs seems to be supported, either through the old loadMovie or with the MovieClipLoader class. So, it’s not all doom and gloom. :)

Persistent Data
I saved the most interesting Clix conundrum for last. First, neither the u10 nor the Clix supports Shared Objects. That was to be expected for the u10, as it’s a FL 1.1 device. The iRiver folks were nice enough to make up for it on the u10 by adding a fscommand2 that went something like this, for setting persistent data:

status = fscommand2("SetPersistentData", "myData=" add myData);

and for retrieving that data:

status = fscommand2("GetPersistentData", "myData");

It actually works quite well on the u10. So much so that it didn’t even cross my mind that it might NOT work on the Clix.

But I should back up for a second, because you may be asking, who cares? The Clix is a FL 2.0 device, so Shared Objects are supported. Right? Unfortunately, the answer is again, no. No Shared Object support. When I found this out I wasn’t too alarmed, as I knew that I could fall back on the less robust but still workable SetPersistentData technique above.

Falling back on that technique sadly meant simply falling back on my a**. The SetPersistentData fscommand was no longer supported apparently, returning the -1 whenever called. I came up with a short-lived workaround that meant loading up an external swf published for FL1.1 (into level0) that successfully set the persistent data, while running within the Clix FL 2.0 player. However, as soon as that external file was unloaded and replaced with my main FL 2.0-authored swf, it would lose any link to that persistent data. So my workaround fell flat. I started to delve into odd combinations of FL1.1 and FL2.0 content to come up with a workaround, for the workaround, for the workaround…but gave up as deadlines loomed.

Summary
Despite all of these headaches, I’m still a fan of Flash on the iRiver u10, Clix, and other devices just because of the excellent design of the interface, quality of the audio/video (not Flash Lite of course) and the speed of the Flash apps that have been authored within the constraints of the device’s capabilities. In fact, if there had been a CDK available which defined these limitations, I would have much less to complain about.

The advantage of authoring Flash applications for the Clix is the availability of using classes, functions, and all the goodies not available to FL 1.1, while also getting things like MovieClipLoader, ButtonListener and such that make life a little easier as well. It is telling, however, that all the Flash Lite apps that ship on the Clix seem to be merely ported over from the u10, and in fact are probably the exact same swf’s.

I hope this post saves other iRiver Flashers some headaches, and some time. If I’ve made mistakes or left out anything glaring above, please comment with corrections or additions.

Posted in Flash Lite, iRiver | 5 Comments »

So you want to develop Flash Lite for iRiver…?

Tuesday, December 26th, 2006

It’s been a while since I added to my blog, so thought I’d use my recent work developing an application for the iRiver Clix as inspiration. iRiver makes some slick, very cool devices which you can read a lot about over at Scott J’s infinitely more prolific blog. And starting with the u10′s FL 1.1 support and moving to the Clix’s FL 2.0 support, it has had a particularly seductive appeal to many Flash Lite hounds, including myself.

I grabbed a u10 off Amazon a while back, eager to play with this device that had such a cool, elegant 4 way “bezel” button as its screen surface, and as soon as I received it I was an instant fan. The 320×240 screen was bright and clear, blowing away the 176×208 experience of most Symbian Flash Lite devices I was used to. The great battery life, audio, and speed of the Flash Lite apps on board just sweetened the deal.

Unfortunately, there was at the time (and still is) zero official documentation on developing for iRiver Flash Lite devices. The blurb on Macromedia’s site in their u10 section read “Available Soon”. The site is now Adobe of course, but the “Available Soon” still stands. The only real support for developers is the fledgling community of Flash Lite folks who have these devices kicking around their office. MisticRiver is a good online community, for example.

I do eventually want to get to my experience developing for the FL 2.0 capable (kind of) Clix, so I’ll shorten my u10 rantings to say that the u10 is a great non-network capable FL 1.1 platform. And because I was so smitten with it, I even spent a bit of time cramming an entire Japanese version of the ONLY iRiver CDK available through Google’s language tools, resulting in a pseudo-English translation available here. It should be immediately obvious once you open this pdf translation that it is not to be used as any kind of official documentation. That said it has been extremely helpful to me several times in delineating what syntax, fscommands, etc is supported by the u10.

Next post I’ll get into more iRiver Flash Lite mayhem with the Clix, where things can get REALLY frustrating :) But now my Tivo calls me with a little catching up with the Colbert Report…

Posted in Flash Lite, iRiver | 1 Comment »

  • Categories

    • Flash Lite (27)
    • Flash Lite Blogs (2)
    • Flex (4)
    • iRiver (4)
    • Mobile General (15)
  •  

    December 2006
    M T W T F S S
    « Jul   Feb »
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
  • Recent Comments

    • Dale on Flash Lite Analytics Stats
    • Maxim Antinori on Adobe MAX 2008/09 Mobile Guide
    • thomas joos on Adobe MAX 2008/09 Mobile Guide
    • Scott Janousek » Blog Archive » What is Singularity? It’s http://singularity08.com on Flash Lite gets a Second Life
    • carolyn on Flash Lite and iRiver Clix 2: first impressions
  • Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org

Copyright © 2010 - Max Media | Mostly Mobile | Entries (RSS) | Comments (RSS)

WordPress theme designed by web design