Updates from October, 2008 Toggle Comment Threads | Keyboard Shortcuts

  • pit 3:01 pm on October 10, 2008 Permalink | Reply
    Tags: free tools, , sis, swf, swfpack, web 2.0   

    SWFPack: mobile development goes 2.0! 

    Yesterday was a big day for mobile development!

    Kuneri team released SWFPack, an online, free packaging tool for Flash Lite developers!

    SWFPack is available as a beta service for Flash Lite developers without a cost. With the first release, Flash Lite content can be deployed to Symbian devices in SIS format, followed by Series 40 devices in NFL and Windows Mobile devices in CAB formats in the following releases. Kuneri aims to make SWFPack a standard tool, providing more enhanced features in the future

    I’m a big fan of free “2.0″ tools (did you know about StripeGenerator? :) ), and this one absolutely rocks, finally bringing a lot of fresh air to the world of mobile dev.

    With SWFPack you can easily, and without installing anything on your local machine, package and deploy your FlashLite applications. To see how much it is damn easy, just check out the quick SWFPack tour.

    This is an enormous step forward for mobile development: up to now all mobile tools were highly OS-dependent, with the result that non-Windows users could rarely find useful development tools.

    Still reading? Go and try it! :)

  • pit 3:02 pm on October 8, 2008 Permalink | Reply
    Tags: , , , ringtones, , ,   

    Create your first Flash Lite ringtone with KuneriLite 

    For those of you who missed it (really??) latest KuneriLite versions have added support for Flash Lite ringtones, one of the coolest FlashLite features around!!

    Today, we’ll see how it is simple to create a FlashLite ringtone with caller-id support and an application that allows users to easily set and unset it.

    Step 1: The FlashLite ringtone

    To start, we’ll build a really simple FlashLite ringtone.

    Let’s start building a simple interface, with these elements:

    Now it’s time to add some ActionScript to our interface. So, let’s open frame 1 of our Actions layer.

    Important note: when using KuneriLite from a ringtone SWF, you MUST use port 2001.

    First, we’ll define a method to retrieve caller infos, and display it, depending on the returned data:

    var loader:LoadVars = new LoadVars();
    function getCallerName()
    	commandOutput.text = "Getting caller's info... ";
    	loader.onLoad = callerNameHandler;
    function callerNameHandler()
    	commandOutput.text += this.toString();
    	if(this.klError != 0)
    		callerName.text = "Command error: " + this.klError;
    	else if(this.klName != undefined)
    		callerName.text = this.klName;
    		callerName.text = this.klNumber;

    And then, let’s add the call answer/reject functionality to our ringtone. Two other KuneriLite calls will do the job (note that we’ll reuse the LoadVars instance defined above):

    answer.onPress = function()
    	commandOutput.text = "Answering call... ";
    	loader.onLoad = callCommandHandler;
    reject.onPress = function()
    	commandOutput.text = "Rejecting call... ";
    	loader.onLoad = callCommandHandler;
    function callCommandHandler()
    	commandOutput.text += this.toString();

    Important note: since KuneriLite ringtone plugin already handles device answer and reject keys (the green and red one) you could avoid implementing your custom buttons in ringtone SWF (thanks Jukka for the reminder!)

    Step 2: Setting and unsetting the ringtone

    Now, it’s time to build the “main” SWF application, that is the one that the user would launch from phone menu to manage its FlashLite ringtones.

    As usual, let’s create a basic interface, with this layout:

    Now, let’s add the necessary ActionScript code to our Buttons.
    This is for the enable button:

    enableButton.onPress = function()
    	commandOutput.text = "Enabling ringtone..";
    	var loader:LoadVars = new LoadVars();
    	loader.onLoad = handleResponse;

    And similarly, this is for the disable button:

    disableButton.onPress = function()
    	commandOutput.text = "Disabling ringtone..";
    	var loader:LoadVars = new LoadVars();
    	loader.onLoad = handleResponse;

    And here’s the handler, used by both commands calls, to print out the KuneriLite response error code:

    function handleResponse()
    	commandOutput.text += " Error code: " + this.klError;

    Step 3: building and testing

    Building a KuneriLite app is easy as always, but you need to follow these 4 specific steps to make the ringtone correctly work:

    1. Select Ringtone plugin
    2. Place your ringtone SWF in a separate folder, containing only that SWF, and then select it on Wizard Step 2
    3. Select the ringtone setter as main SWF
    4. Since Ringtone plugin needs signing, on Step 3 fill in the certificate infos

    Once done, just compile and transfer your SIS on your phone, install and launch it:

    • on main app screen, click the enable button
    • check the command output, to see if the command executed successfully: you should see this message
      Enabling ringtone... Error code: 0
    • if yes, just close the app and call your own phone, and your FlashLite ringtone will magically appear!
    • within the ringtone SWF you will see the caller’s name (if available on your phonebook), otherwise its phone number
    • to answer or reject the incoming call, simply use the buttons we previously placed on stage

    That’s it!


    Now, add this with the other KuneriLite features, and you could end up having:

    • browsable ringtones catalogs, directly downloadable from your FlashLite app
    • ringones for specific contacts (a phonebook plugin would be great!)
    • location-based ringones!

    Isn’t this enough?

    • José Xavier 6:14 pm on October 8, 2008 Permalink

      Can i translate your tutorial to portuguese to post in my blog and ofcourse i’ll say that tutorial is yours… sorry my english.

    • Jukka 11:07 am on October 9, 2008 Permalink

      Hi Alessandro,
      awesome tutorial as usual :)

      One comment: Handling answer and reject buttons in Flash Lite is actually unnecessary, since KuneriLite ringtone plugin handles the ‘green’ and ‘red’ dialkeys.
      They are naturally used when answering a call ;)

    • pit 11:42 am on October 9, 2008 Permalink

      Hi all!

      @José: sure, feel free to translate it to portuguese!

      @Jukka: thanks for the reminder! I’ve added this info to the article :)

  • pit 9:45 am on September 10, 2008 Permalink | Reply
    Tags: alessandro pace, , croozeus, felipe andrade, , forum nokia widget contribution competition, , janus, , , kunerilite tutorial, , pasi manninen, project capuchin, pys60   

    Back to work with: Capuchin, Jarpa, Widgets, KuneriLite, Janus, Croozeus.. just to start! 

    I’m finally back to work after some holidays (from some days already… but first work days right after holidays are always full of tasks, don’t you think?)

    Anyway, I came back just in time to find a lot of cool news!


    First of all, the database of this blog was not working anymore, and so, if someone of you has tried to post comments, would have most probably failed. Anyway, after a night of passion, it is newly working like a charm!

    For those of you who missed it (ahem…) Adobe held an interesting eSeminar about Project Capuchin, and the recording is available here: Project Capuchin Adobe eSeminar.

    Meanwhile, Felipe Andrade released an LBS enabled MIDlet that makes use of Jarpa to allow Java ME and Flash Lite to intercommunicate.

    On Forum Nokia, the Wiki was revamped with a new homepage layout, and with some cool introductions. One of them is the Featured Articles section, that will highlight an interesting Wiki article each week. And with great pleasure I noticed that 2 articles I’ve written were featured in past weeks:

    Also, a new contest was launched, this time regarding Widget Development, and full rules are available here: Forum Nokia Widget Contribution competition.

    You should know that I’m also a great fan of KuneriLite and its team, and so I can not avoid to feature Pasi Manninen tutorial on how to Take, play and send video file from Flash Lite to server: superb!

    Talking about FlashLite and Symbian, Leonardo Risuleo released his Janus Symbian Engine, the custom made extension that will help you improve Flash Lite functionalities, as open source! I definitely think this is great, and that there should be more high-quality open-source projects like this in mobile environment. In this sense, mobile is yet far from web development.

    Also, Croozeus is doing a great work with his website dedicated to S60 Python developers, and he recently completed the first 5 applications (with full source code). Also, if you want to fully understand and learn PyS60, you should not miss out his talks!

    And, latest fresh news, Alessandro Pace (a.k.a. Biskero) was yesterday declared Forum Nokia Chamption of the Month: congratulations goes to him for this award as for its incredible effort and results in the FlashLite community!

    That’s a (really) rapid summary of what I’ve missed on these holidays (but I’ve not missed this one!), and a lot of other things are still around… maybe should I work more? :)

    • Coker 3:37 pm on March 8, 2009 Permalink


      Please does Kunerilite work on Series 40 phones? Also what alternatives do we have for Sony Ericsson?


  • pit 3:44 pm on July 18, 2008 Permalink | Reply
    Tags: blog uploader, , , , , , mobile blog, , mtv community, ,   

    Mobile Mtv Blog Uploader: yet another FlashLite and J2ME apps! 

    As told some days ago, MtvMobile launched 2 phones with its initial offer as virtual mobile operator. And, for these 2 phones (a Nokia 5320 and a SE W760), 2 cool applications were lauched. I’ve already talked about Mtv OnDemand, a FlashLite and Java ME streaming video player that allows users to view selected MTV videos, and download related content (like ringtones and wallpapers).

    Now it’s time to view the other one: it’s called Mtv.it Blog, and it’s a simple and effective mobile blog uploader.

    Mtv.it blog Uploader screenshots

    Using this app, users are able to upload contents (photos, videos, audio or simple text) from their mobile phone directly on their Mtv blog. As for Mtv OnDemand, there are both a Java ME and a Flash Lite version of this app, quite identical in both their interface and functionalities.

    As for the other one, I’ll post complete videos of this app as soon as I have it working again :)

    • Leonardo 8:12 pm on July 20, 2008 Permalink

      Ciao Alessandro!

      seems a really cool app! Congrats ;)


    • pit 10:09 am on July 21, 2008 Permalink

      Ciao Leonardo!

      thanks for your comment :)


    • Li Yong Fei 1:54 pm on July 21, 2008 Permalink

      Hi, Pit

      Your blog looks very greate, I have added your blog in my “flash Lite Blog”, hope more flash lite developer can visit your blog, and give us more experience, Thanks for your share!.

      Li Yong fei

    • pit 2:03 pm on July 21, 2008 Permalink

      Hi Li Yong Fei,

      thanks for your feedback! I’m really glad of being featured on your great blog :)


      PS: I’ve updated my blogroll too ;)

    • Satya 1:11 pm on October 1, 2008 Permalink

      Really good article. I have been following your blog for last 3 months. You have good knowledge
      on Mobile(cell phone) Industry and happenings. Please continue the good work. Thank you.

    • pit 1:15 pm on October 1, 2008 Permalink

      Thanks for your feedback Satya!

      I’ve been less active on this blog in this last weeks, due to a lot of work to do :( anyway, I’m already working on some new tutorials, so expect to see new code really soon!

  • pit 1:15 pm on July 15, 2008 Permalink | Reply
    Tags: , , , , , , , streaming video, virtual operator   

    Mtv On Demand: new FlashLite and Java ME apps released! 

    Last friday (July 11th) was a big mobile day here in Italy: apart from the worldwide release of iPhone 3G (sold in Italy at something like 3 times the USA price…), MTV became virtual mobile operator!

    MTV Mobile logo

    For its initial launch (you can see some photos of the launch event on Flickr) MTV released 2 phones: a Nokia 5320 Xpress Music and a Sony Ericsson W760, both heavily customized with special covers and themes.

    But, what really interests to us, is the launch of 2 embedded applications on these phones :)

    The first one is called Mtv On Demand, and it’s a streaming video player that allows to view selected videos from MTV programs. The interface is pretty slick, and allows users to navigate video galleries using LEFT/RIGHT keys, while with UP/DOWN they’ll scroll videos within a single category.

    MtvOnDemand screenshots

    Interesing thing is that this app was built on each phone using different technologies: FlashLite for Nokia 5320 and Java ME for SE W760, so, reproducing the same look&feel and functionalities with 2 traditionally so-different technologies.

    Since I currently have not an MTV SIM and phone, I cannot make a video of the app itself, but I’ll post it (and also post about the 2nd application ;) ) asap!

    • Alessandro 5:37 pm on July 20, 2008 Permalink

      Ciao Alessandro,

      looks like a great application, would love to try it!!

    • pit 10:12 am on July 21, 2008 Permalink

      Ciao Alessandro!

      Thanks for your feedback!

      Would be great to let you try them, but both the apps currently work only with the 2 MTV phones (and related SIMs).. my test SIM was cut off too, and I’m not able to test them anymore… :-(


    • Li Yong Fei 1:46 pm on July 21, 2008 Permalink

      Very cool application,!

    • Jukka 4:20 pm on July 22, 2008 Permalink

      Hi Pit,
      great apps! Shows very good the possibilities of Flash Lite.
      Big thanks for promoting us :)

  • pit 1:02 pm on June 25, 2008 Permalink | Reply
    Tags: , , geotagging, , image thumbs, , rest api   

    FliKun: KuneriLite based FlashLite photo uploader for Flickr 

    Today, we’ll see how it’s possible to build a Flickr uploader in FlashLite using KuneriLite, geotagging our photos with the current GPS location.

    You can download the current FliKun version (for FlashLite 3.0) here: FliKun_3rd_edition_unsigned.sis (please read the notes at the end of this article).

    Flikun Screenshots

    So, let’s start from the beginning.

    Flickr API

    To upload photos to Flickr we’ll need to use Flickr API: this way we’ll be able to authenticate the user and upload/geotag photos using its REST services, all from within our application.

    First thing we should do is to setup an API key for our service, going on the request page. Here you have to fill out the application details, with special care to the authentication method we want to use: suitable choices for our needs would be both desktop and mobile application authentications:

    • With the first option the user will be redirected to a Flickr page, from within our application, where he should authenticate and grant necessary permissions to our application.
    • With the second option we can let the user generate a mini-token from a dedicated page, using his desktop browser, and then tell him to insert this mini-token within in our application.

    In both cases, we will get a token that will be used for all future uses of our application, so there would be no more need to authenticate the user after the first time.

    KuneriLite Plugins

    In our application, we will need to access these functionalities:

    • Retrieve photos stored in phone’s gallery
    • Make thumbs to show them in our application
    • Start the GPS and retrieve user’s current location
    • Upload stored photo on Flickr server

    So, we’ll need to use the following KuneriLite plugins:

    • GPS: we’ll use the start command to start GPS, and the read command to read current location
    • File: with dir command we’ll be able to list files in phone’s gallery folders. We’ll use this also to store textual infos, like the user token
    • Upload/Download: with this plugin we’ll upload the photos to Flickr website, using its API, and create the thumbs (with the resize command) to show them within our application

    Get a token

    We’ll use the desktop authentication method, so these are the steps required to authenticate the user, and to get his token:

    • Get a frob, with the Flickr flickr.auth.getFrob method
    • Generate the desktop authentication URL with the given frob
    • Send the user to the generated URL, using the phone browser, where he should authenticate and grand permissions to our application
    • When the user is back to our application, we will finally get his authentication token with the flickr.auth.getToken Flickr method

    All these Flickr API calls need to be signed with an api_sig parameter, that is explained here: Flickr Authentication API page (in the Signing paragraph). To generate it in our FlashLite application, we’ll use the following function:

    function getApiSignature(args:Object)
    	var authSig:Array = new Array();
    	for(var key:String in args)
    		authSig.push(key + args[key]);
    	authSig = authSig.sort();
    	var apiSig:String = this._md5.hash(<API_SECRET> + authSig.join(''));
    	return apiSig;

    where <API_SECRET> is the API Secret associated to your API Key (you can see both of them on Flickr API Keys page).

    If all has gone well, we will finally get the user token, that we must store somewhere (for example using SharedObject, or within a local file using KuneriLite file plugin).

    Show phone gallery photos

    Since we’ll use S60 3rd edition phones, we’ll search for photos in these folders: “C:\Data\Images\” and “E:\Images\”. Since on these phones photos will be stored in many subfolders, we’ll search within them, using “/s” argument within KuneriLite dir call. Also, we should avoid listing photo thumbs, that are stored
    in subfolders named “_PAlbTN”, so it’ll be easy to spot out and avoid to get them.

    Once we have the photo paths, we can use the KuneriLite resize command to resize them to our preferred size, and use those thumbs within our application. In doing this, we should care for the following points:

    • It’s not possible to load more than 5 resources at once, so we should generate and load thumbs in a progressive manner, otherwise we will have lost calls (without any feedback or exception) within our application
    • While loading a thumb in a MovieClip, we should take care not to remove the Clip while it’s loading (for example, because the user has navigated to another screen). Doing this we’ll avoid the issue described here.

    Enter photo details and upload it!

    Once the user has selected a photo, we should let him enter photo data (title, description and tags), and then let him choose if he wants to tag with his location the photo itself.

    In this case, we can use the approach described in this other article to retrieve the current GPS location: Displaying gps position in flashlite using google static maps and kunerilite.

    Once we have the GPS location coordinates, we can finally upload the photo to Flickr website with the upload API. Since the upload API itself requires, apart from the file itself, to send the other params within the POST body, we should use some sort of server proxy, since KuneriLite upload command does not allow to post them this way. What we could do is to send the textual parameters within the upload URL, and then let our proxy POST them to Flickr server.

    Get FliKun!

    This first release of FliKun is very (very!) alpha, so try it at your own risk :) jokes apart, there are still many points open (like the horrible graphics!), so expect new versions as soon as I’ve got the time to work more on it!

    Download FliKun_3rd_edition_unsigned.sis (for FlashLite 3.0).

    Currently known issues/bugs are:

    • Sometimes upload fails, especially when using some special characters
    • There is no upload progress bar (but will be added very soon)
    • File upload fails (with error code -4) when photo size is bigger than approx 450 Kb (I’m currently working to solve this)

    For any other bugs you may encounter, please leave comment on this post! Thanks :)

    Finally note that, to use the GPS feature, you’ll need to sign the SIS file with a valid certificate.

    • Ugur 4:18 pm on June 27, 2008 Permalink

      Hey Ale, will you publish source code as well?

    • Nishant 7:13 am on June 30, 2008 Permalink


      Are you going to publish the source code sometime please?


    • pit 8:48 am on June 30, 2008 Permalink

      Hi Ugur & Nishant!

      I’ll publish the code as soon as I’m able to clean it up a bit, fix current bugs and remove some code parts that I cannot currently publish (since they’re part of another product).

      Anyway, my current plans are to make really soon another tutorial with main steps and code snippets taken from FliKun, to see how it was easy to build such an application using KuneriLite features.


    • Yossi 11:00 pm on September 19, 2008 Permalink

      Hello, I’m not able to install the application on my Nokia N73-1. I have FlashLite3.0 installed on my cellphone.It says:” certificate error:referre to the application supplier” when trying to install the application.In addition,when I tried to sign the application at www. symbiansigned.com I got the following error: “FAILURE: Submitted .sis file uses a UID that is not allocated to the account holder matching this email address (0xaf161915 0xa0002443 0xa0002445 0xa0002449 0xa0002446 0xa000244c 0xa0002636 0xa0002637 )”.

      Thank you, Yossi.

    • Partha S Sadhukhan 5:56 pm on October 12, 2008 Permalink

      We would like to get a slightly customised version of Flicker photo upload software. Kindly send us your contact information for further interactions on this.

    • Symbian Blogger 8:38 pm on May 16, 2009 Permalink

      I found your blog on google and read a few of your other posts. I just added you to my Google News Reader. Keep up the good work. Look forward to reading more from you in the future.

    • boyama oyunları 9:38 am on June 22, 2009 Permalink

      We would like to get a slightly customised version of Flicker photo upload software. Kindly send us your contact information for further interactions on this.

    • Mirko Meier 8:30 pm on June 25, 2009 Permalink

      have you published the source code for FliKun yet or code snippets?
      I tried to install your sis file on a Nokia 5800 with FlashLite 3.1 but i always get “certificate error:referre to the application supplier”.

      Could you please contact me or send your contact information because I am very much interested in your FliKun solution.

      Thanks in advance.

    • pit 5:11 pm on July 1, 2009 Permalink

      Hi boyama,

      feel free to contact me by email, so we can discuss about the details of your idea. My email is: info [AT] jappit [DOT] com


    • medyum 11:53 am on July 27, 2009 Permalink

      Hello, I’m not able to install the application on my Nokia N73-1. I have FlashLite3.0 installed on my cellphone.It says:” certificate error:referre to the application supplier” when trying to install the application.In addition,when I tried to sign the application at ymbiansigned.com I got the following error: “FAILURE: Submitted .sis file uses a UID that is not allocated to the account holder matching this email address (0xaf161915 0xa0002443 0xa0002445 0xa0002449 0xa0002446 0xa000244c 0xa0002636 0xa0002637 )”.

      Thank you, Medyum

compose new post
next post/next comment
previous post/previous comment
show/hide comments
go to top
go to login
show/hide help
shift + esc