todo: Google Latitude Client for Maemo

I figure it’d take me four hours to create an app that, when launched gets the current location from the device (there’s a lib for that), converts it to long/lat coords and posts it to Google using the Google Latitude API (a simple RESTful service).

  1. Register for API key
  2. Register Application
  3. Get OAuth up and running (1h)
  4. Post dummy coordinates to Google Latitude (1h)
  5. Get location from the device (1h)
  6. Write authentication GUI (1h)
  7. Write application that looks for valid credentials (step 3), ask for authorization if not given already (step 6), gets location from the device (step 5) and posts it to Google Latitude (step 4)

I’d call that a day and the next day I’d look at creating a service out of this.

  1. Write application that wakes up at a certain interval (or several, more often during wake hours)
  2. Write GUI to change interval settings (or several …)
  3. Write settings storage (GConf)
  4. Write application that checks for authentication, if not present, launch GUI? (if not running) otherwise update position with Google Latitude and then sleep until next “interval”

After that, I’d call it a day and the next day:

  1. Register a new product with Maemo Garage.
  2. Post a message on the Maemo Forum.
  3. Publish “product” to Extras and wait.

All it takes is a little Python, some extra time and some patience for the Maemo community to have it’s way with QA-testing etc.

Python and Maemo, where’s that N900

Work in progress! :)

Väntar tålmodigt på att Nokia Online Store skall skicka mig meddelande om att “nu är din beställning skickad” – i Italien verkar utrullningen vara i full gång, i Sverige har den inte börjat ännu. Senaste budet är att i vecka 50 kommer de första beställningarna skickas ut. Vet inte om jag ligger med bland dem.

Nåväl. Jag har jobbat på att få till en applikation som kan visa avgångar och resvägar inom Göteborg med hjälp av Västtrafiks web services. Det har tagit ungefär så lång tid som jag förävntat mig och följande var utmaningarna.

[flashvideo file=http://wendt.se/misc/maemo-vasttrafik-091203-a.flv width=400 height=286 /]

Python

Jag är inte överens om att block-level avgörs av indentering – vilket företag vill betala utvecklare för att sitta och flytta kod till vänster och höger? Jag programmerar mycket hellre med {} och låter ett verktyg formatera koden “vackert”.

IDE – här har jag dock varit lat. PyEclipse skall tydligen vara rätt bra och ge bra stöd (hoppas det finns code completion-stöd för gtk.* med signaler och annat?)

PyGtk (API)

Väldokumenterat. Ihop med GTK+-dokumentationen måste jag säga att det är komplett. Widget-galleriet är också kanon att kunna snegla på.

PyMaemo och Hildon

(API) Hildon C-API

Detta upplever jag vara den svagaste länken i kedjan. Att jobba med en touch-applikation är nytt för mig, och jag gissar att det gäller många andra också, och då behövs vägledning, widget gallerier och tonvis med exempel så att man kan få en känsla för hur man bör bygga bra GUI:n.

Lite vägledning finns (plus Nokias UI guide lines och usability-dokument), men widget galleri och tonvis med exempel saknas – det finns ett tiotal exempel som visar lika många widgets, men inte ett enda “riktigt” program.

Py* för Web Services

Efter att ha prövat ett par bibliotek, alla med olika tillkortakommanden (schematolkning, teckenkodning, …), så stötte jag på suds som fungerar utmärkt om man bara vill ha en väl fungerande klientdel.

PS

Screen captures with XVidCap, konverterat med

ffmpeg -y -i test-0000.mpeg -qscale 5 -an -s 400x240 -f flv test.flv

[flashvideo file=http://wendt.se/misc/maemo-vasttrafik-091203-b.flv width=400 height=286 /]