-
Hmm, definitely a lot of
-
I was surprise when looking
-
This looks awesome.
-
Nice work! Glad to see more
-
I have been working on some
The Campaign for a Bradley Renaissance: Flash Lite, J2ME, SMS or MMS?
This is the third in a series of posts chronicling the Campaign for a Bradley Renaissance kickoff gala, a mediated event in which I used Drupal to gather alumni memories, run a quiz show, and display photography both on the small iPhone screen and on some giant screens via Flash.
As you'll recall from the last post, my students and I were tasked with building an interactive quiz and a method to collect memories from alumni and donors. We planned to buy a large quantity of AT&T Nokia 6085 GoPhones that we could preload with Flash Lite or J2ME apps.
My first practical step was to check reception in the space. Armed with my refurbished Nokia and my trusty T-Mobile Dash, I visited the giant ballroom in which this event would be held. Both my Dash and the Nokia got at least 3 of 4 bars throughout the entire room with connectivity to the EDGE network. (Verizon is the only 3G carrier in Peoria at the moment, sadly.)
I began building a simple Flash Lite prototype as my class worked in groups on Flash Lite games. I'd like to talk for a minute about the unique limitations of developing for mobile phones. The Nokia 6085 phones that we were developing for were extremely low-resolution (128x160) and also had very little processing power.
When developing any Flash project, I perform animation programmatically, usually with the ActionScript 2/3 Tweener library. Tweener is many times faster than Adobe's built-in tweening classes and it comes with a large library of animation types.
Nonethless, I decided to use a new programmatic tweening library for this project called TweenLite. TweenLite is a stripped-down, lean, mean, tweening machine. I originally heard of TweenLite from my former co-worker and Flash guru David Knape. There are two reasons I love TweenLite: it is indeed faster than Tweener, and while it has fewer features, it adds one that I find indispensable.
Let's say that you want to tween an interface element onto stage from off the screen and have it end up at x position 500. With Tweener or any other programmatic method, you would save the starting x position, move the element off screen, and then tween it to x position 500. TweenLite allows to tween to or from a given value. That lets you leave the element where you want it in your Stage in Flash and instead tween it in from x position -200. The author of TweenLite is also working on a more full-feature library called TweenMax, which I look forward to checking out.
As the weeks went on, we found flaws in our initial plans. For one, Flash Lite 2.0 prompts the user before establishing each data connection. (Flash Lite 2.1 allows developers to establish and maintain an XML socket connection to avoid polling a server, but these phones had Flash Lite 2.0 installed with no upgrade path.)
Secondly, after every data session or SMS sent or received, the GoPhone firmware would pop up a modal dialog stating, “You have used .01 USD. Your balance is 9.99 USD.” We weren’t keen on having Bradley’s biggest donors being told that they only had $7 in credit left every time they sent in a memory or voted.
The one remaining option that I investigated was a J2ME app. The Nokia 6085 does support JSR 120 for sending and receiving text messages on a given port (in essence, using SMS for communication and not going straight into a user’s inbox.) I was not sure if this would be an option, or if I’d still experience the modal dialogs. As I was weighing my Java options, I also found a very interesting project called Jarpa which promises to allow distribution of a Flash Lite application as a .jar file, and even allow the two halves to communicate (with the Java app writing to the file system and doing the SMS calls, and the Flash Lite app just polling that file.)
In the end, however, it was AT&T’s restrictive Java policy that would prevent any of our solutions from working well. The only Java applications that can do much of anything on GoPhones are those that are signed by AT&T. I couldn’t even get a Jarpa installer to write files to the phone. I understand the reasoning behind locking down a phone, especially an inexpensive phone like a GoPhone. (Remember, we got our Nokia 6085 refurb with $10 of airtime for just $30.)
At this point, the idea of the Bradley phone was pretty much toast, and we figured that we’d just ask our guests to bring their own phones and participate via SMS and MMS. The next step, of course, was to figure out how we could receive SMS or MMS and get them into Drupal.
Check back tomorrow for the next post in this series!