Posts Tagged ‘PTM’

NFC Questions – a text based game for Windows Phone

NFC Questions application can be used like a game – the first player can save a question and answers to the NFC tag; following players can write their own questions to NFC tag if they know the right answer.

Application contains following pages: Read, Question and Write.

ss01 ss02 ss03

Application reads and writes the NFC tag when phone is enough close to NFC tag with PublishBinaryMessage method using Windows:WriteTag.NFCQuestions as a protocol and subtype. All the pages are designed to support all the screen sizes in Windows Phone 8.

Read the whole story how the application works and get the source codes Nokia Developer Wiki.

Application is also available in Windows Phone Marketplace – PTM

ss05 Nokia Developer Wiki administrator added this article to Nokia Developer Wiki “Featured” articles at 10.11.2013.

TeamTool – Flash Lite Mobile Communication Application

TeamTool is a concept application for promoting collaboration and handling communication between team members. Apart from bringing an unique all-in-one tool for team communication, TeamTool bridges the team members’ social location with their physical location using mobile GPS capabilities.

TeamTool - Loading

TeamTool - Loading

Registered users can send messages to team members and add landmarks to TeamTool server. Landmarks are one of the biggest features in TeamTool. User can write text, take picture, record audio and take video (or select earlier taken materials from phone – TeamTool materials), and set all of these media to landmark with GPS information. Created landmark can be send to TeamTool server and it is available to all TeamTool members. Members and landmarks are sorted with distance data, so user can easily see which team members or stored landmarks are the nearest to users current location.

TeamTool - Menu

TeamTool - Menu

TeamTool is designed to run in mobile phones which has 640×360 display and Flash Lite 3.1 Player or newer installed. TeamTool is tested with Nokia 5800 xpressmusic with the latest firmware and updated Flash Lite 3.1 Player. TeamTool is my entry (with Mobiletools’ and JAMK University of Applied Sciences) to Forum Nokia Calling All Innovators Competition 2009 and Adobe MAX 2009 Awards Mobile category.

See more: TeamTool.

Contacts Demo – S60 Platform Services API example with Flash Lite

Here is my first Nokia S60 Platform Services API test with Adobe Flash Lite. This demo is designed to run 360×640 screens (like Nokia 5800 and N97). Application first loads contacts name, phone number, work and home addresses and shows all informations nicely in interactive scrollable menu.

Contacts Demo scr 1 Contacts Demo scr 2

// create contacts service object
var contact = new Service("Service.Contact","IDataSource");
var inParams = {Type:"Contact"};
// get contacts from phone
var outParams = contact.GetList(inParams);
if (outParams.ErrorCode == 0) {
  var outList = outParams.ReturnValue;
  var outputEntry = null;
  var i:Number = 0;
  var step:Number = 40;
  do {
    outputEntry =;
    if (null != outputEntry) {
    // add a new contact to container list
    var mc:MovieClip = container_mc.attachMovie("ContactItem","Contact"+i,
    container_mc["Contact"+i].init(outputEntry, container_mc, i,
    contactheader_fmt, contactdata_fmt);
    container_mc["Contact"+i]._y = (i-1)*step;
  } else { break; }
} while (true);
  // show contact list
} else {
  info_txt.text = outParams.ErrorCode;

Details of contact information are displayed when user presses contacts name. Multiple contacts can be open at the same time. If contact has work or home address, this demo applications can load static JPG from Google Maps to show address in a map.

Contacts Demo scr 2 Contacts Demo scr 3

// data objects to server and back
var sendDataLV:LoadVars;
var loadDataLV:LoadVars;
// show map loading info to user
var info_mc:MovieClip;

//start loading request
function showInMap(street:String,city:String,country:String):Void {
  sendDataLV = new LoadVars();
  loadDataLV = new LoadVars();
  info_mc = _level0.attachMovie("info","info_mc",
  info_mc._x = 5;
  info_mc._y = 70;
  loadDataLV.onLoad = latLonLoaded;
  sendDataLV.address = street+" "+city+" "+country;
  _level0.info_mc.text_txt.text += "street : " + street + "\n";
  _level0.info_mc.text_txt.text += "city : " + city + "\n";
  _level0.info_mc.text_txt.text += "country : " + country + "\n";
  // send lat and lng request to server
  _level0.info_mc.text_txt.text += "Get lat and lng...\n";
  back_mc._visible = true;

// lat and lng returned from server
function latLonLoaded(ok:Boolean):Void {
  if (ok) {
    if (loadDataLV.latitude != undefined &&
        loadDataLV.longitude != undefined) loadMap();
    else _level0.info_mc.text_txt.text += "No Lat and Lng!\n";
  } else {
    loadDataLV = null;
    sendDataLV = null;
    _level0.info_mc.text_txt.text += "Can't connect server to get Lat and Lng!\n";

// start loading map from Google
function loadMap():Void {
  // show info
  _level0.info_mc.text_txt.text += "Loading map...\n";
  _level0.info_mc.text_txt.text += "Latitude: "+loadDataLV.latitude+"\n";
  _level0.info_mc.text_txt.text += "Longitude: "+loadDataLV.longitude+"\n";
  // map size
  var mapWidth = 350;
  var mapHeight = 520;
  // lat and lng
  var lat = loadDataLV.latitude;
  var lng = loadDataLV.longitude;
  var apiKey = 'API_KEY';
  // JPG loader
  var loader:MovieClipLoader = new MovieClipLoader();
  // url
  var mapUrl:String = '' +
    lat + ',' + lng + '&format=jpg&zoom=15&size=' +
    mapWidth + 'x' + mapHeight + '&key=' + apiKey +
  // start map load
  loader.loadClip(mapUrl, _level0.info_mc.map_mc);
  _level0.info_mc.text_txt.text += "Loading, please wait...\n";

Contacts Demo scr 4 Contacts Demo scr 5

Look more detailed informations in source codes: (include CS4 FLA, AS class files and PHP files) (includes only CS3 FLA):
– ContactsDemo.fla
– and a few PHP files to get Lat and Lng values from Google Maps.

Testing Adobe Mobile Packager with Distributable Player Solution

Flash Lite Distributable Player Solution

Adobe Flash Lite 3.1 Distributable Player Solution is now public and available on Adobe labs. The distributable player solution enables developers to create rich applications for the latest version of Adobe® Flash Lite™ and directly distribute their content to millions of open OS smartphones, providing a better on-device user experience. With this solution you can be confident that your users’ devices will always have the latest Flash Lite runtime. Unfortunately this solutions works only now over the air in selected coutries: India, Italy, Spain, UK, and the U.S. (why not in Finland too) and small set of supported S60 and Windows Mobile Devices. There are also number of content providers offering paths to market your applications.

Installing Adobe Mobile Packager

Adobe Mobile Packager is Windows desktop applications tool, which can package your SWF and other materials into a SIS and CAB file. When user installs your SIS or CAB file to mobile, the Flash Lite 3.1 Distributable Player will be automatically installed if required. Now (for unsupported countries like here in Finland) we have to install FL3.1 Distributable Player manually to local phone to test own made packages.

1. Download Adobe Mobile Packager from Adobe Labs
2. Run Adobe Mobile Packager
2.1 You can use Download SDK links (in the right side of window) to get needed SDK installer files to your computer
3. Installing CAB SDK
3.1 Download the Windows Cab SDK
3.2 Unpack it into C:\Program Files\Adobe\Adobe Mobile Packager\cabsdk
3.3 Add C:\Program Files\Adobe\Adobe Mobile Packager\cabsdk\bin to the user PATH
4. Installing Active Perl
4.1 Download Active Perl and install it to your computer (for example c:\Perl)
4.2 Add C:\Perl\bin to the user PATH
5. Installing Symbian SDK
5.1 Download Symbian SDK 3rd Edition(262MB) and install it

Now all should be done and you can restart your Adobe Mobile Packager.

Adobe Mobile Packager

Creating a new Package:
1. Create a simple Flash Lite Application with Flash
1.1 I created a small test application which displays version number of Flash Lite Player to textfield
1.2 You can download sources and other files here:
2. Fill the Adobe Mobile Packager Form with your own data
3. Create Package

Here is screenshot what I have done here:

Adobe Mobile Packager

First I tested vChecker.swf in Nokia E51 (which has Flash Lite 2.0 Player preinstalled) and it showed that the Flash Lite Player version is FL7,1,90,9 (FL 2.0 player).  Then I installed manually Adobe Distributable Player from Adobe Labs to E51 and installed just created SIS-file to phone. After running my little application it showed that it uses Flash Lite Player version AFL 9,1,120,0 (Flash Lite 3.1 Distributable Player).

So it seems to work as expected, hope Finland is listed in supported coutries soon. If you are in supported countries, can you write some comment here how it works for you!

More info: Flash Lite Distributable Player tutorials on Adobe TV

I’m now Adobe Community Expert

Adobe Community Expert

I’m really happy to be selected for the Adobe Community Experts (Mobile and Devices) program. I *really* want to say thanks all of you Flash Lite folks over there about your support and feedback what you have given to me in past years about my journey with Flash Lite (specially to Bill Perry who made this happen to me).

I want to be more active here in my blog…, now I have been working really hard (in the evenings) with mobiletools M-Kit eLearning Flash Lite application which is now a quite good with supporting different screen sizes and screen rotations and so on with dynamic data (texts, images, videos, swf learning materials, quizes, …). Hope you can see this application some day.

One more thing – I will get Nokia 5800 in a few days and I will start to make test with Services API then, so stay in tune for a new demos and source codes!