I chose to write about deployment before covering actual development because it’s paramount to determine your target phone(s) before building a mobile application (coincidentally, this is also the mobile industry’s greatest weakness). If you don’t believe me you should check out “Designing for Different Screen Sizes” on page 22 of the dotMobi Mobile Web Developer’s Guide. The sheer number of different screen sizes depicted are almost farcical!
A. Choosing a target phone
In my case, I stuck with my trusty Nokia N95 North American 3rd Edition (the black one with 3G). Granted, the average user’s not going to pay $600 – $800 for a mobile phone, but one has to start somewhere
I actually set a fullscreen fscommand2 in ActionScript and used primarily vector graphics–meaning my game could work on other phones. Since I’m not testing on several devices, though, who knows how it would turn out.
B. Installing Flash Lite onto the phone
Flash Lite 2.0 is pre-installed on my N95 (as it is with all S60 devices running Feature Pack 1), however, I naturally decided to install the latest version: Flash Lite 3.0 Developer Edition off Adobe Labs. The new player runs fine despite not being Adobe certified for the N95 US edition, however, this installation still proved frustrating. For one thing, Flash Lite 2.0 CANNOT be uninstalled, meaning the players coexist on the same device. This also means that Bluetoothed SWFs will open in the default 2.0 player. I hope the pending N95 update will correct this, but if history serves, then OS updates are contingent upon purchasing a new phone.
Another issue I encountered is file location within the directory structure. When you open Flash Lite, it defaults to the “Others” directory on both the Phone’s hard drive and the microSD card. Files transferred via Bluetooth cannot be moved here from the inbox. The way around this is to either use a SIS installer or transfer the file using the Nokia Device Browser.
C. Finding a user-friendly deployment
It’s a bit presumptuous to assume that the typical end-user will have Nokia Device Browser installed. While Bluetooth is an easy option, it means your Flash Lite application is forced to sit in the user’s inbox. What other options are there?
Well, there’s Adobe’s Article on Creating SIS files for distribution. I fired up my trusty Dell, installed WampServer (thanks for the tip, Dave), hacked the makesis2.php file (I also had to add <?php to the first line) and sent the SIS to my phone. When run, this SIS placed the file in the right location (the “Other” directory), but there was no nifty icon representing my file on the phone.
I then moved onto SWF2Go, the 3rd party application that creates the SIS for you without having to go into that scary command prompt. This appears to generate the icon that launches your SWF in the installed Flash Lite player, however, since I’ve hardly generated a business model for this exercise, I’m too cheap to spend the $70 to buy this.
The final option short of doing extensive PKG or Symbian C++ work is the Web Runtime Widget. I equate this to Adobe AIR for S60, as it’s just a ZIP file containing Web files (HTML, AJAX, SWF, etc.) with a renamed extension (.wgz). It technically opens up the file in WebKit, but provides an icon file and can work like most any other program. The downside? Only Feature Pack 2 phones will recognize the file. I’m wondering if I should start saving my lunch money now . . .
In the next part I intend to cover some of the challenges in Flash development.
[UPDATE: Feature Pack 1 phones will now recognize .wgz files as well as install Flash Lite 3 over Flash Lite 2]