Google Voice for S60

By September 26, 2009Symbian

In light of recent Symbian developments and Nokia’s unwillingness to continue improvement of the Python runtime we are forced to discontinue work on GoogleVoiceForS60. We have, however, open-sourced the code to the app and posted it on Google Code. Sorry for the inconvenience and thank you for using the application so far.

Necessity is the mother of all invention. Google Voice is great service but without a native app for Nokia phones placing a call through the Google Voice number was a major hassle. In addition, I needed a proof of concept app for developing and deploying an app with the 1.9.x PyS60 runtime. The end result is GoogleVoiceForS60.

In a nutshell, GoogleVoiceForS60 pulls a list of all your contacts, dialed, received and missed calls from the phone and allows you to initiate a phone call or send a SMS message to one of these numbers by using the Google Voice API. 

This application is a work in progress and as such it is in a continuing beta stage. It has been tested and is used in every day on the following phones: N97 NAM, N95-5 8GB and N95-3. In addition many users reported it works fine on E75, 5800XM, E71 and E71x phones. In theory it should work on all phones that support the pys60 1.9.7 runtime.


For privacy reasons the screenshots were done by running the emulator version. There might be slight differences in look and fee in the real application.

List of phone contacts

List of phone contacts

Sending SMS through Google Voice

Sending SMS through Google Voice

The video below demonstrates the application running on N95-4:


  1. Download and install the PyS60 2.0.0 runtime
  2. For 3rd Edition phones (N95, E71, E75 etc.) download and install:

  3. Download and install GoogleVoiceForS60_0.7.30_merged.sis
  4. Reboot the phone.

Please make sure to install all the packages to the same drive (it does not matter if it’s the c: or e: drive).


Please post all bugs and feature requests in our new support forum

Change Log

Version 0.7.30

  • Fixed saving of callback / handset number issue.

Version 0.7.29

  • Fixed expired certificate issue

Version 0.7.27

  • You have to install Python 2.0.0 or better runtime for this version to work!
  • Migrated application to Python 2.0.0
  • Fixed authentication issues after recent Google Voice changes.
  • Fixed app crashes after unsuccessful call attempts.

Version 0.7.24

  • Bug fixes to new GoogleVoice API code base.
  • Removed on startup auto-login feature.

Version 0.7.21

  • Rewritten Google Voice API Interop to accommodate recent changes in the API.
  • Added credential caching to optimize speed. In theory placing call should be much faster now.
  • Added user feedback when certain error condition occur (Google refusing to place a call etc.)

Version 0.7.20

  • Fixed issues related to latest Google Voice API changes
  • Added ability to view numbers for selected contact

Version 0.7.17

  • Added default Access Point setting. Once set the application will automatically use that AP for future communications.
  • Added contact search functionality.
  • Added workaround for crashes on phones with 1000+ contacts. On startup the app will detect if there are more than 500 contacts and will force the user to specify search parameter to limit the list of contacts it displays. This workaround will be in places until the bug is fixed in the python runtime.
  • Fixed issue, where a popup dialog would ask user to select a phone number on a contact even if the contact had only 1 number defined.

Version 0.7.14

  • Fixed “Unable to set data directory” issue
  • Added debug tracing. Just create a file called ‘debugversion.txt’ in the GoogleVoiceForS60 directory and the application will log debug statements to debug.log

Version 0.7.12

  • Added wait dialogs and user feedback for call and sms functions.
  • Added password encryption
  • Added support for C: drive location. Default is E: but if not available app will fall back to C:
  • Added password masking
  • Fixed phantom contacts crashes
  • This version will DELETE your existing settings database and you will be forced to re-enter your Google Voice credentials and phone number. Sorry.
  • Received and Missed calls tabs. It’s not intuitive but there are Missed and Received calls tabs in addition to the Dialed tab. You can use the directional pad to scroll right in the tabs or on 5th edition phones slide/drag the Dialed tab to the left.

Version 0.7.9

  • Added password masking in options dialog
  • Fixed login url encoding issues
  • Added code to gracefully handle contact database issues

Version 0.7.3

  • Improved exception handling
  • Added settings validation
  • Added invalid login detection
  • Added logic to send long SMS text as multiple SMS messages (although the input is limited to 80 chars at the moment due to the UI component limits)

Version 0.7.2

  • Added Received , Dialed and Missed call logs to the selection
  • Added SMS sending (free SMS through google voice)

Version 0.6.2
Initial alpha release