Thursday, May 31, 2007

Cookie Support in Flash Lite Players

Cookie support in standalone Flash Lite players varies by platform. For Flash Lite content accessed through a web browser, cookie support will be provided by the web browser.

Here is a partial list of the platforms I've tested. I'll update them based on feedback and as I get access to more platforms.

Cookie support:
  • FL 2.1 player on Windows Mobile

No cookie support:
  • FL 2.0 player on Nokia S60 FP3 (N95)
  • FL emulator (Adobe Device Central)

Wednesday, May 30, 2007

Flash Lite Player Error Codes

FlashDevices.net posted error codes for Flash Lite 1.1 and 2.

/// Flash Lite 2
1: Out of memory
2: Stack limit reached
3: Corrupt SWF data
4: ActionScript stuck
5: (there is no error code)
6: Bad image data
7: Bad sound data
8: Root movie unloaded
9: (there is no error code)
10: URL too long
11: Insufficient memory to decode image
12: Corrupt SVG data
13: Insufficient memory to load URL

Wednesday, May 9, 2007

Google Calendar Sync for Windows Mobile

Found GMobileSync to directly synchronize Google calendar with WM5 without a PC. It's open-source, too!

The first synchronization worked without a glitch after entering my login. There are a few limitations in the current, v1.2, release. For example, it only synchronizes the main calendar, and deletion is not fully supported. You'll need to delete on both ends before the next sync. Also, the timezone setting is not as intuitive as it could be. For example, you need to select "-7" in the Settings menu for the Pacific timezone.

Overall, it works and is open source. I look forward to the future enhancements.

ActionScript Editors

The ActionScript editor hasn't improved much in Flash CS3 compared to Flash Professional 8. For example, there is no auto-completion and refactoring support.

The two most popular ActionScript editors seems to be SEPY and FlashDevelop. Both are open-source and available for Windows, and SEPY recently released Mac builds as well.

Tuesday, May 1, 2007

Platform Detection in J2ME

J2ME provides system properties which can be used to detect the platform you're running on. This is useful for writing platform-specific code such as serial communication.
System.getProperty("microedition.platform");
On a Windows Mobile 5 smartphone, the IBM J9 VM returns "Windows CE 5.1,Smartphone" followed by the phone model. However, the built-in JVM returns "intent JTE" instead. On a Nokia N90, it returns "NokiaN90-1/5.0607.7.3".

Serial Port Communication in J2ME

Serial port communication was introduced in MIDP 2.0. For example, on a Windows Mobile device, the COM port (e.g. GPS) can be opened as "comm:COM7;baudrate=9600".

Monday, April 30, 2007

J2ME server socket and camera API

MIDP 2.0 introduces support for running a local server using ServerSocketConnection, as well as support for camera capture (photo and video).

Friday, April 27, 2007

S60 Python (pys60) vs Python

Although pys60 provides a nice Python environment for phones, there are some small discrepancies to watch out for.

1) Different packages: e32 and graphics are available on the phone only. So you'll have to test on the device. You can check which OS the script is running on:

import os
if os.name == 'posix': # OS X/Linux
path += "/"
elif os.name == 'e32': # Symbian
path += "\\"

2) thread.start_new_thread() seems to freeze the v1.2 and v1.3.21 interpreter on the N95. The sample RssReader in the docs does use threading, so I'm not sure why it doesn't work for me.

3) sleep(): "In python for series 60, the use of e32.ao_sleep is encourage over time.sleep. AO stands for 'Active Object' approach to cooperative multi-tasking. When an object go to 'ao_sleep' other active objects can run."
 import e32
e32.ao_sleep(5) # sleep for 5 seconds


Thursday, April 26, 2007

Remote Display for Nokia S60 and Windows Mobile

For S60/S80/UIQ devices, SysOpenDigia's ImageExpo enables you to have a remote display on Windows or Mac. The pricing model is one licence per device, currently at 82 Euro/license. The installation instruction is a little sparse. For example, it doesn't explain that you need to install the phone app and then initiate the connection from the phone.

Other connectivity option are available on specific phone models. For example, the E-series and the Communicator 9x00 series support Screen Export, which supposedly allow you to send the screen directly over Bluetooth to a "compatible" projector. The N95 and N93 have TV-out.

For Windows Mobile, you can get the tools as part of the free, Windows-only SDK.

Wednesday, April 25, 2007

GSM + Python on S60

Python on S60 provides an easy API to access the attached GSM cell:
>>> import location
>>> loc = location.gsm_location()
>>> print loc
(310, 170, 270, 21001)