Tagged: symbian Toggle Comment Threads | Keyboard Shortcuts

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

    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 11:23 am on October 3, 2008 Permalink | Reply
    Tags: , , , symbian   

    Nokia S60 5th Edition is out: long life to the Web! 

    Big news for all Nokia followers! Nokia has just launched S60 5th Edition together with the first device supporting it: the Nokia 5800 XpressMusic.

    For all nightly coders, SDK is already available here.

    New improvements and features are available for quite every supported technologies, but biggest ones seems to be related to Flash Lite and Web platforms.

    Both Web and Flash Lite developers now gain access to a previously unavailable (at least, without using any external engine, like KuneriLite or Janus) set of infos and platform services that will allow them to finally build full-blown apps with native functionalities, and no more simple web-aware ones.

    A quick tour of these will explain why we should expect great Flash Lite (and Web) apps in the next future:

    • Calendar
    • Contacts
    • Logs
    • Messaging (SMS and MMS)
    • device location and landmarks
    • system information
    • sensors

    Nokia direction towards Web technologies was already clear (Widget Contributions Contest has just finished on Forum Nokia Wiki), but now we finally have a platform that could let those technologies literally explore new paths.

    Ready?

     
  • pit 9:21 am on September 18, 2008 Permalink | Reply
    Tags: c++, code camp, , , , symbian   

    Forum Nokia Code Camp in Rome! 

    Most of you probably already know this: on 28th October 2008 there will be a Forum Nokia Code Camp in Rome about Sensors, RGA and Open C/C++, and this is absolutely great!

    Forum Nokia Code Camps are stimulating workshops that are specially designed for mobile developers around the globe. These free Code Camps combine speaker presentations with hands-on coding to help you get up to speed quickly on a wide range of mobile development topics.

    This will be my first participation to a Forum Nokia Code Camp, and I’m really excited!

    So, the question is: will you be there?

     
  • pit 5:27 pm on April 30, 2008 Permalink | Reply
    Tags: mobile web server, , symbian   

    Mobile Web Server 1.3 released: ready to share! 

    Mobile Web Server has reached 1.3 version, and It’s time to give it a try!

    Mobile Web Server

    The setup process is really simple: you must register, and then download the software (a single SIS installer). Done that, you’re ready to share all your phone content! More in details, here are the features of the last release:

    • Guest and friend user accounts
    • Calendar – manage your calendar, and share your availability for others too
    • Messaging – SMS inbox/outbox and SMS sending
    • Phone log – view missed calls
    • Contacts – manage your contacts easily
    • Blog – tell stories on your journeys
    • Camera – share instant pictures
    • Gallery – browse pictures taken with camera phone, and share them to others
    • Guestbook – visitors can leave their comments
    • Contact me – visitors can send instant messages to you
    • Presence – share your status and device state
    • Web chat – communicate with friends

    The concept behind it is really attractive: have your web server always with you, and share things without the need to upload anything anywhere. Even letting users use your phone features, like taking instant picture with the phone camera!

    Mobile Web Service using phone Camera

    For sure, at least here in Italy, network speed and operator plans should evolve a bit to fully allow this technology to be really used. Also, with a lot of tools to upload you content on your favorite sites, I’m a bit unsure about the real target, in terms of users and possible usages, of this product.

    Said that, I definitely think It’s cool, at least for real geeks!

    And, for the curious out there, if you want to browse my phone content, you can simply go to: http://jappit.mymobilesite.net.

     
  • pit 12:00 pm on April 28, 2008 Permalink | Reply
    Tags: , , , symbian   

    New KuneriLite version with cool improvements 

    KuneriLite is a great tool to extend FlashLite functionalities adding support for native features like local filesystem read/write, camera recording, accelerometer capabilities and much more. All these without the need to have any Symbian knowledge.

    Practically, you interact with KuneriLite engine via localhost calls. For example, if you want to get recursive folder listing starting from current application base path, you can simply do:

    loadVariables("http://127.0.0.1:1001/Basic/file?
    klCommand=dir&klPath=\\&klArgs=/s", targetMc);

    Their tool comes with an integrated wizard and an emulator, to be used with Symbian S60 3rd edition SDK Maintenance Release, to allow full development without the need of a real device.

    KuneriLite logo

    Now they’ve just released 0.9.6.1 version, that fixes issues with Flash Lite 3 and add new cool features, as you can read on their blog, and it’s more than ever worth a try!

     
    • Ugur 2:30 pm on April 28, 2008 Permalink

      Thanks for the post Pit! Great to hear you like it :)

  • pit 4:11 pm on April 16, 2008 Permalink | Reply
    Tags: , , , symbian,   

    AnimaLogic: S60 Web Runtime game 

    I’ve got some fun with my friend Fabio in creating a first game for Nokia Web Runtime.

    Since Web Runtime allows building mobile applications with classic web technologies, we’ve used nothing more that html, css and plain-old-good javascript… isn’t it great? :D

    Animalogic Web Runtime game

    It’s a very first alpha release with not too much functionalities (local hi-scores and a single game mode), but feel free to take a try :)

    The main interface was done using classical <a> elements to represent the menu options, but this has 2 important drawbacks, as you can see:

    • links (like also input fields and other focusable elements) when focused are surrounded by a thick border: not really beautiful..
    • managing of focus itself, between different screens, is not easy, so it happens that focus sometimes disappears, or starts from the last menu options, or other odd things.

    Next release will try to solve those and other issues… meanwhile, we’ll be happy of any kind of feedback about it :)

    Download Web Runtime AnimaLogic

     
    • Java Mobile Gaming 9:38 am on April 24, 2008 Permalink

      I found your site on faves.com bookmarking site.. I like it ..gave it a fave for you..ill be checking back later

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