Tag Archives: Nokia

Sunday, 23 November, 2008

Johor Bahru to Pontian

Yesterday, my father and I travelled back to our Malaysia home town in Pontian. I recorded down the bus trip from Larkin interchange to Pontian with Sports Tracker. We travelled on a Penawar express bus.


View Larger Map

View the same map on Nokia Sports Tracker.

On our return journey, I received sms from my brother, knowing that his father-in-law had passed away. (Let us offer a prayer to his father-in-law.)

Tags: sports-tracker, Photos, Google-map, Malaysia, GPS, Nokia


Posted in Mobile , Personal , Photos , Technology


Friday, 8 August, 2008

Free Symbian Software Giveaways for This Week

From then82blog.

SymbianGear.com is giving out free applications during this week. For each day, one specific application can be downloaded for free. (This info is a bit late, but still have 3 more free apps from today, they are EUROPAinfo 1.0, Advanced Brain Trainer and Handy Alarm.)

TheN82blog has links to many good and free applications.

Tags: resource, Nokia


Posted in Mobile


Saturday, 5 July, 2008

Walking with Nokia Sports Tracker

This afternoon, I took a walk with my recently bought Nokia N82. I had already installed Nokia Sports Tracker and was eager to test it.

I created a new walking workout with autolap set to route based. Once the application starts tracking, it will record the path, location, time and number of steps I took. The workout data can be uploaded to Sports Tracker online using Upload to Service.

From the Sports Tracker website, we can download the route as KML file and import it to Google Map. (For details, refer to How To: Embed Sports Tracker Data to Your Blog and Make Position Art Like Stavros)


View Larger Map

The walking workout summary: (You can also click on the yellow route on the above Google map to view the summary data)

This route is actually the 2nd part of the walking trip. (The full trip distance is double the distance shown below)

Duration

38min 11s

Distance

4 km

Speed (average)

6.2 km/h

Pace (average)

9min 32s per km

Altitude

1 - 108 m

Step count

4334

Jul 12: I walk through Bukit Timah nature reserve, along the South view path, then catchment path, (tracking stops, the green route on Google map) then on the open ground, turn right and walk until I am back at the rifle range rd.

If you view Google map using satellite view, the open ground can be seen clearly. (along blue line)

Tags: exercise, Google-map, Nokia, walking, Photos, GPS, nature, sports-tracker


Posted in Technology , Sports , Photos , Mobile , Personal


Monday, 11 February, 2008

Sky Explorer Supports Unicode Filename

Unicode filename and path are supported in version 1.0.3

The symbian python os functions can accept utf8 string and will also return utf8 string (eg. in os.listdir). It does not use unicode string like in other native symbian functions.

Since the Sky Explorer code uses path.join to get the full path in a lot of places, I modified path.join to always return in utf8 string regardless of its input. In places that use python os functions, no other changes are needed to allow for unicode filename and path. In places that use native symbian functions which expect unicode string, a conversion from utf8 string to unicode string is needed. -- unicode(fname, 'utf8')

(in dir_util.py)

# this replaces os.path.join (encode p in utf8)

os_path_join = path.join

def path_join(a, *p):

return os_path_join((a and type(a) is unicode) and a.encode('utf8') or a,

*[(type(d) is unicode) and d.encode('utf8') or d for d in p])

if path.join is not path_join:

path.join = path_join

It will now support searching for unicode filename and can also search for unicode text in utf16 files.

Zip and unzip can support unicode filename and path, this is done by encoding the unicode filename in utf8. Though if you unzip such a zip file in windows OS, the filename and path will remain in utf8 string.

Unicode sms is supported using

messaging.sms_send(to, msg, 'UCS2')

Application tagging in unicode is also saved and restored correctly in the new version.

(The source codes are released in http://skyexplorer.googlecode.com/svn/trunk/ )

Feb 12, Download from http://skyexplorer.googlecode.com/svn/trunk/sis/skyexplorer_2ndEd_1.0.3.sis

or

http://skyexplorer.googlecode.com/files/skyexplorer_2ndEd_1.0.3.sis. (We're sorry page)

Tags: Nokia, Sky-Explorer, unicode, Python


Posted in Open-Source , Mobile , Sky-Explorer , Python


Thursday, 12 April, 2007

Getting Sky Explorer to Work on Symbian 3rd Edition

It is actually still quite confusing for me. :)

Firstly, Sky Explorer needs keycapture module which requires SwEvent capability. Refer S60 3rd Edition Development.

To sign the SIS file with SwEvent capability means that I need to get a symbian cert. Go to www.symbiansigned.com and get a free Symbian Developer Certificate. (need to download DevCertRequest tool to generate cert, the Developer cert can only be used in 1 phone by specifying 1 imei no.)

At first, I try to sign PythonForS60_1_3_20_3rdEd_unsigned_freedevcert.SIS with only the required capabilities, this doesn't work. So, I request another cert with all 13 capabilities included and sign with this and this works!

I am using Nokia Remote Device Access for testing, so when using a freshly generated cert, I need to change the phone's timezone to my timezone. :)

Next, I need to modify my code to know where it is (the path it resides in). In 3rd edition phone, it is in \private\<uid> (Sky Explorer uid is 0x2000A1C6, so the scripts will be in \private\2000A1C6), the application can know its own uid from appuifw.app.uid() and the sys.path will also contain this path, thus I can know the exact path. Good thing, this private path is writable for the owning application, so saving of preference and application tagging data requires no changes.

I have already written a python extension applist.pyd (view code)to retrieve the list of applications info from the phone and have already tested that it is working correctly in my 2nd edition phone with a slight modification. Getting it to work on 3rd edition isn't as easy though.

The applist module cannot be imported from the private dir !? The alternative is to make it go into the executable dir in \sys\bin . Since the py2sis script has an option leavetemp that allows us to tweak the installation path of each component in the pkg file, I think of using that. This turns out bad for 3rd edition sis, I kept getting errors from py2sis until I gave up! :-(

I then turn my attention to ensymble.py (Great stuff! Turns out to be my saviour! :) Get it from Ensymble development by Jussi Ylänen) to search for more options.

python ensymble.py simplesis --uid=0x2000A807 --version=1.0.0 applist APPLIST.sis

The simplesis command creates a sis file from the source dir applist preserving the path structure that applist contains. In this case, I should create a sys\bin subdir in applist and put the applist.pyd inside the sys\bin subdir. This creates the unsigned version.

python ensymble.py mergesis --cert=mycert.cer --privkey=mykey.key --passphrase=xxx SkyExplorer.sis 

APPLIST.sis SkyExplorer_v1.sis

The mergesis command merges several SIS files into one. The resulting SIS file is then signed with the certificate provided.

After this is done and installed, the applist module still cannot be imported! There is a permission denied error, check that applist.pyd is compiled to have same capabilities as this python interpreter process! So, although applist.pyd doesn't requires any capabilities, but in order for my program to load it, it will require the same capabilities as my program! Yes! This is the weird part! I am thinking what if another program also embeds the same module but it requires a different set of capabilities, so what will happen when this program is installed with the same module? The only way this can seem to work is if the module will acquire a union of the set of capabilities :roll:

python ensymble.py signsis --cert=mycert.cer --privkey=mykey.key --passphrase=xxx

--dllcaps=LocalServices+NetworkServices+ReadUserData+WriteUserData+SwEvent APPLIST.sis APPLIST_v1.sis

Use signsis command to sign APPLIST.sis with the same set of capabilities that I use for Sky Explorer and then use mergesis to merge into one and then try again. I confirm this finally works! (only on 1 phone)

python ensymble.py signsis --cert=mycert.cer --privkey=mykey.key --passphrase=xxx

--execaps=LocalServices+NetworkServices+ReadUserData+WriteUserData+SwEvent

skyexplorer_3rdEd_1.0.1.unsigned.sis skyexplorer_3rdEd_1.0.1.devsigned.sis

Note: use execaps option instead when resigning skyexplorer.

Download at http://code.google.com/p/skyexplorer/downloads/list

skyexplorer_3rdEd_1.0.1.unsigned.sis

APPLIST_3rdEd_1.0.unsigned.sis

pyemail_3rdEd_1.0.unsigned.sis

The SkyExplorer 2nd edition comes with the applist.sis.

skyexplorer_2ndEd_1.0.1.sis

Tags: Sky-Explorer, Python, installation, Nokia


Posted in Sky-Explorer , Python , Mobile


Saturday, 7 April, 2007

Nokia Remote Device Access

Forum Nokia has launched a Remote Device Access service. This enables developers to test applications on a wide range of Nokia devices based on Symbian OS over the Internet, free of charge. Daniel Rocha of Forum Nokia offers a personal view of the service at Symbianone.

I have tested Sky Explorer using the service since I don't have a 3rd edition phone to test on. It doesn't run yet!

You can access the service here.

Tags: Nokia, Sky-Explorer


Posted in Sky-Explorer , Mobile