Max Media | Mostly Mobile

Archive for the ‘iRiver’ Category

Device Central Clix profile tweak

Wednesday, May 9th, 2007

In using the new Adobe Device Central iRiver Clix profile to test, I noticed it brings up errors with loadMovie, which it informs you in the output are unsupported. This is incorrect, however, as I’ve been happily loading swfs, jpegs for some time. Even MovieClipLoader class is supported!

The fix is to edit the Clix profile xml, which on Mac is at:

/Users/[user]/Library/Application Support/Adobe/Adobe Device Central CS3/Devices/ReignCom_iriver_Clix.xml

At line 90, edit “None” to be “All”

loadmovie value="All"

Now loadMovie should perform correctly.

Also, as a side note, if any of you are using the DC Clix profile to test for the Clix 2, you can also edit the next line

loadvars value="All"

Note that this lets you test using the XML Class, and loadVariables, although I don’t believe the actual LoadVars class is implemented on the Clix 2.

This should help out folks until Adobe releases updates for these.

Posted in Flash Lite, iRiver | No Comments »

Flash Lite and iRiver Clix 2: first impressions

Monday, May 7th, 2007

Clix 2The iRiver Clix 2 just started shipping in the US recently, and having enjoyed my adventures developing for the first generation Clix (and the u10), I was excited to try out the new evolution of the Clix and see what, if anything, was added to the implementation of Flash Lite 2.

Before getting to that, a couple words about the Clix 2. It’s slimmer, with a more rounded “sexier” look. The flat pill-shaped buttons of the Clix 1 are now thin black buttons that in my opinion are definitely a step backward ergonomically. They are harder to press, and due to no longer having iconic labels on the buttons themselves (icons are next to the buttons on the back of the device) harder to identify. Also I’ve noticed the hold button is easier to accidentally switch on or off due to protruding more from the body of the device.

The AMOLED screen is a definite improvement, and all in all I think the biggest plus of the Clix 2. It handles glare better, and renders images (and Flash graphics) beautifully. A nice canvas on which to experiment with all those Flash themes you can create now on the Clix 2…a bit more on that later.

The screen still acts as the “d-pad”, clicking the screen itself to navigate menus, interact with Flash games, etc. Perhaps as a result of the slimmer form factor, however, I find the screen bevel buttons do not feel quite as solid as the Clix 1. Time will tell how well they hold up under repeated use, but for some reason the screen bevel clicks on the more brick-like Clix 1 inspired a bit more confidence.

Flash Lite changes
In my initial tests, it appears that the Clix 2 now supports the XML class, and so loading of external XML files. Definitely a welcome addition. Dave Yang was nice enough to confirm that finding with some tests of his own, as well as confirming that loading of external text files is supported as well. I presume that is through loadVariables, but will correct this entry if otherwise once I’ve had a chance to test myself.

Unfortunately, it doesn’t look like iRiver has added anything beyond that to its Flash Lite 2.x implementation on the Clix 2. So no video support, and no persistent data. The latter one was more surprising to me, just because it seemed that at the very least they’d beef it up to allow the fscommand2(“SetPersistentData”) as the u10 did with its FL 1.1 implementation. But neither that nor local SharedObjects are supported on the Clix 2 as far as I can tell. :( Sound object support is a no-go as well, so no loading those external mp3′s. SWF’s and Jpegs load as before, however, via loadMovie, so at least nothing got lost from the Clix 1 implementation (whew!).

Clix 2 Hijinx
Now for some fun sharing of my “idiot-boy” moment shortly after unwrapping my brand-new Clix 2. Like most honorable techno-geeks, I ignored the manual and fired the device right up (surprise surprise it was fully charged out of the box!). I had heard that the Clix 2 had a UMS mode (instead of the MTP mode that was the only option on the Clix 1), and because I develop primarily on the Mac, my first task was to switch it over to this mode so it would be recognized when I plugged it into my Mac’s USB port. I found the place to change this setting, saw the warning dialog saying the device would be formatted, and happily clicked ok. Why? Not sure, I think some overly confident voice in my head told me that whatever I lost from the preinstalled contents would surely be on the CD-ROM that was surely included in the package of materials. Well, there was a mini CD-ROM included, bad news was it didn’t include any of the preinstalled content! I won’t waste time in this blog ranting about how silly it is NOT to include that content, but I will offer up some links and resources to those who end up in my situation.

First, a few good iRiver sites to warm up to if you want to become one with your Clix:

http://www.misticriver.net/
http://www.clixhere.net/
http://www.gadgetkorea.com/

All three I believe require registration to take part in the forums, but it’s free. GadgetKorea also has some “content” areas for Flash Lite that look promising, but require certain number of posts to gain access (20 I think for the basic content). There’s lots of good info in the regular open-access forums though, included this nice post about saving persistent data on the Clix (via FL 1.1).

If you do what I did and accidentally lose all your preinstalled Clix 2 content, here’s some helpful places to try. To resurrect some of the pictures and theme files, check out this forum entry on clixhere.net.

To download an actual Flash theme template for the Clix 2, check out this link on iriverfans.com. I don’t believe this comes with the Clix 2, but after I nuked everything, who knows? ;)

And for those who speak Korean, or want to learn, here’s a nice pseudo-tutorial on working with the theme template .fla.

If folks see any errors in anything above, please feel free to comment with your own Clix 2 experiences! I will add more as I use the Clix 2.

Posted in Flash Lite, Mobile General, iRiver | 5 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)
  •  

    September 2010
    M T W T F S S
    « Jul    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
  • 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