Tagged: flash lite Toggle Comment Threads | Keyboard Shortcuts

  • pit 10:11 am on February 17, 2009 Permalink | Reply
    Tags: , , flash lite   

    Flash Lite Distributable Player: public beta available! 

    The public beta of Flash Lite Distributable Player is finally available!

    What does it mean? In few words: no more worries about Flash Lite versions on users’ devices, more distribution opportunities for developers, and more applications for users!

    In Adobe’s words:

    Since the distributable player solution mimics the successful Adobe Flash® Player desktop model of content-triggered downloads, you can be confident that your users’ devices will always have the latest Flash Lite runtime.

    Plus, the distribution model enables you to deliver free or paid applications to millions of open OS smartphones, through direct-to-consumer distribution or your existing distribution channels, or via Adobe’s aggregator partners, which include GetJar, Thumbplay, and Zed.

    Finally, this solution gives end users a better experience by providing intuitive discovery and installation of Flash Lite applications. Consumers using supported Windows Mobile and S60 phones in India, Italy, Spain, UK, and the U.S. can easily download applications. (Additional countries will be added over time.) After downloading an application, consumers see its user-friendly icon in the device menu.

    Just great!

     
  • pit 3:09 pm on November 27, 2008 Permalink | Reply
    Tags: , asynchronous, , flash lite, , , , , , service api, , synchronous, ,   

    Web Runtime Service API: handling synchronous and asynchronous calls 

    Just back from another month of deep work, with a brand new article :)

    With S60 5th edition, Web Runtime and Flash Lite gained access to Platform Services: this means that you can finally access application data, location, sensors and system information directly from your Flash Lite application or WRT widget.

    Talking about Web Runtime, new Service APIs were introduced to let you integrate those functionality with simple JavaScript code.

    Among the various concepts to learn when dealing with these APIs, there is the synchronous/asynchronous way of calling each single method: this, apart from being a difference from a programming point of view, brings to different approaches and results on your WRT Widget.

    This “WRT Service API Synchronous and Asynchronous calls” article on Forum Nokia Wiki will guide through the details of these differences, explaining how to use both of them, and underlining possible advantages of the one over the other.

    As always, any kind of feedbacks is welcome! :)

     
  • pit 3:02 pm on October 8, 2008 Permalink | Reply
    Tags: flash lite, , , 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();
     
    getCallerName();
     
    function getCallerName()
    {
    	commandOutput.text = "Getting caller's info... ";
     
    	loader.onLoad = callerNameHandler;
     
    	loader.load("http://127.0.0.1:2001/Basic/ring?klCommand=callerid");
    }
    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;
    	}
    	else
    	{
    		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;
     
    	loader.load("http://127.0.0.1:2001/Basic/ring?klCommand=answercall");
    }
    reject.onPress = function()
    {
    	commandOutput.text = "Rejecting call... ";
     
    	loader.onLoad = callCommandHandler;
     
    	loader.load("http://127.0.0.1:2001/Basic/ring?klCommand=hangupcall");
    }
    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;
     
    	loader.load("http://127.0.0.1:1001/Basic/ring?klCommand=enableringswf&klPath=ringtone.swf");
    }

    And similarly, this is for the disable button:

    disableButton.onPress = function()
    {
    	commandOutput.text = "Disabling ringtone..";
     
    	var loader:LoadVars = new LoadVars();
     
    	loader.onLoad = handleResponse;
     
    	loader.load("http://127.0.0.1:1001/Basic/ring?klCommand=disableringswf&klPath=ringtone.swf");
    }

    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!

    Conclusions

    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

      Hi,
      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 3:44 pm on July 18, 2008 Permalink | Reply
    Tags: blog uploader, flash lite, , , , , 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 ;)

      Leonardo

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

      Ciao Leonardo!

      thanks for your comment :)

      Pit

    • 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 :)

      Pit

      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: flash lite, , , , , , , 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!!
      Alessandro

    • 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… :-(

      Pit

    • 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: flash lite, , 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

      Hey,

      Are you going to publish the source code sometime please?

      Nishant

    • 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.

      Pit

    • 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

      Hi,
      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.
      Mirko

    • 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

      Thanks,
      Pit

    • 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

c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
shift + esc
cancel