Geotag Photos using Google Latitude

I have made a project which can geotag your photos with information from Google Latitude, if you have enabled Latitude to store your locations. It currently requires you to manually export the data from the Latitude website, but it should be possible to automate this tasks. It is written in python with PySide, a Qt corssplatform library, which means it should be able to run on Windows and Mac, though it is currently only tested on Linux. Read more about the project here.

Alternative Geocoders

I have lately been doing some research for alternative geocoderes to Google, Yahoo and Bings geocoders, as they do not allow storing the received data (we need to receive geocoordinates in a mobile app, to minimize the time and data spent). The addresses are in Denmark, so two of the three alternatives I found only support Danish addresses:

  • Nominatim — May not have complete data, but so far i have not encountered any addresses not supported. It takes about 3-13 seconds per request. It is the only geocoder of the three, that supports addresses outside Denmark. It is part of the OpenStreetMap project.
  • Adressewebservices — Is a SOAP webservice that is created by the Danish Enterprise and Construction Authority, it is, however, the slowest of the three (about a minute per request).
  • Vis Stedet — This service is developed by the Danish Ministry of the Environment. It is the fastest of the three geocoder. However, I am not quite sure about the terms of use, you may need a login to Kortforsyningen, even though it seems to be possible to use the geocoder without.

Some of these seems pretty slow, and user can not be expected to wait one minute for a geocoder to do its job, therefore it might be an advantage to use a cron-job or equivalent for this tasks, and collect the coordinates ones a day, or perhaps use the cron job in combination with the Nominatim service, which may be reasonably fast, and, if no result are found, use the cron job to find alternative coordinates later.

Android emulator versus device speed

During the just finished semester, my group and I was part of course called Publishing Papers in a Peer-Reviewing System (PPRPS). As part of this course we were to write a scientific article, mine was related to the speed on Android devices compared to the emulator (Are Emulators Trustworthy – In terms of speed) and compares some different scenarios of computational and memory usage. The article only focuses on Android 1.5, so it is already quite outdated, but at the time of writing I only had a device available with Android 1.5. I thought it may be useful to someone anyway and can be found here.

Twisted on Windows 64bit

I have just spend several hours getting twisted working with python 64 on my Windows 7 64 bit install so I could make a dummy test server. Basically it turned out that the 64 bit version of python posed the hindering, and i ended up installing the standard 32 bit version and using easy_install to install twisted which is now functioning.

My first thought was simply installing python and using twisted own windows install file, however this did not work at all (I have not tested this method with the 32 bit version of python, but I am guessing it would work as supposed).
Next I tried to use easy_install, but I could not install easy_install from setuptools, and got a warning about python 2.6 not being installed. But when I removed the 64 bit version and installed the 32 bit version it installed without any problems. So my advice is: Use the standard 32 bit version!

Hopefully this will be helpful to others in similar situations.

Online project management tools

During the last two semesters I have gained some experience with online tools for project management. There is a lot of tools out there, some are good some aren’t, here I want to share my experience with the two tools I found most useful, so far.

  • Banana Scrum
    As the name hints, this is a tool created for the SCRUM development method. It enables you to manage a backlog, add tasks to user stories, create sprints from the backlog and several graphical representations, e.g. burn down chart. It functions well, and several people can edited at the same time. Banana Scrum is free and functions very well.
    Update: bannascrum has just updated their plans, the free plan (click Free plan below the other plans) now only allows three users, one project and 300 MB of storage.
  • Viewpath
    Viewpath has a really nice tool, it has the basic Gantt features: resource assignment, graphing and time scheduling. It comes in two versions, a free limited version (ad free the first ten days) and payed version. I haven’t experienced any thing I really needed that wasn’t available in the free version. Like banana scrum, several users can be added and manage the schedule.

I hope you also find it useful and post you favorite project management tools below.

My current android project: andNoise

The project aims to enable the user to control his media, like most other remote controllers for android:

  • Browse content on the computer
  • Add content to playlist
  • Playback control

Beside this, the system makes it possible for you guests to add media to the playlist, but not control the playback, thereby making everybody at you party able to have a say in the music theme.

Technical
The client communicates via a TCP connection, the protocol is quite simple and will be released as well along with the code for the server and the client, my hope is that other people will like it so much that they want to make new clients and servers for other platforms, (currently only vlc under Linux is supported for the server and only android for the client).

Zyb.com import for android (updated)

Zyb.com is a great service, and I have been using it for a long time (nothing worse than loosing all your contacts or having to copy them to the SIM card when moving between phones) but unfortunately the doesn’t have an Android client, and I have been unable to make any other clients work.

There for I have been working on a zyb importer, which can import JSON files with your contacts, which zyb makes available from zyb.com/feeds, the project can be seen at code.google.com/p/zyb-import, I will try to make the application available via android market as soon possible, until then you can download the source and build it yourself.

See screenshots here.

Update: the app is released to android Market, search for “zyb”.

Update 2: the app only works with android 1.5 and 1.6, I was planning a new version supporting 2.0+, however, zyb has in the meantime announced that they will close down on the 31st of July, I will not make an updated version, I thus urge anybody with android 2.0 or greater to use the method described here: http://www.consumingexperience.com/2009/05/zyb-export-copy-mobile-phone-contacts.html for importing their contacts, before it’s too late! Thanks.

QR code for android market
QR code for android market, scan with barcode scanner or like