tramtracker in maemo extras-devel [plus some crap about Optus]

Finally got a version of tramtracker (a client for tracking Melbourne trams) and python-suds uploaded to Maemo's extras-devel. There are a couple of issues, the known ones relate to this bug.

In my head I was having a race to see which would be done first: Optus sorting out my phone enough so that I could have data on it; or getting my app into the repository. Turns out, even though I didn't make a lot of effort, I still won.

In fairness, I probably could have gone today to get my phone recontracted (since I think it cut over last night), but the guy told me to come back on Saturday. I'm really hoping this is the end of about 4 hours of dealing with Optus over my phone. It started off by me looking at 3G data plans, and realising that if Stephanie and I both recontracted for 12 months, and put our numbers onto the same account, we could pay for both of our phones for the cost of her phone bill. Unfortunately my phone number was still in my Dad's name, and stuck in some antique account keeping system, so had to be migrated forwards (which took forever), then some nonsense about a credit check. [I'm sorry, but you gave the international student who's been here 4 months, and is not even a resident, a $60/month iPhone plan; why do I need to jump through so many hoops when I have a job and only want a $20/month plan where I bring my own damn phone?] Finally though both phones have been moved onto the same account, so I can go and recontract tomorrow (hopefully; I've been saying this for weeks).

That said, while Optus the company have basically been screwing me around. I do have to give kudos to the peoples at Optus Shop Brunswick, who have spent countless hours on the phone to Optus HQ trying to sort this out for me, even though they've so far earned absolutely no commission from me. I had thought about recontracting my phone at whatever store I happened to pass, but I think I should make sure these guys get the commission.

fixing button theming with GtkBuilder

This is a bit icky. It would be neater if the Python bindings exposed hildon_gtk_widget_set_theme_size(), but not much. So, to fix the button theming if you've created your interface with GtkBuilder, it looks something like this:

# these aren't exported anywhere, copied from Maemo GTK+
HILDON_HEIGHT_FINGER = 70
HILDON_HEIGHT_THUMB = 105

# fix theming
for widget in self.ui.get_objects():
    if not isinstance(widget, gtk.Button): continue
    # hildon_gtk_widget_set_theme_size is not bound into Python
    if widget.get_name().startswith('largebutton'):
        widget.set_size_request(-1, HILDON_HEIGHT_THUMB)
    elif widget.get_name().startswith('kpbutton'):
        widget.set_size_request(HILDON_HEIGHT_THUMB, HILDON_HEIGHT_THUMB)
    widget.set_name('HildonButton-thumb')

happy new year

Had a pleasant day off eating snacks, watching The Pretender with friends and hacking on my tram tracking app. I added geolocation, which meant needing to test on the device, so I had to package up python-suds for Maemo (git-buildpackage repo, Maemo package).

The app actually runs quite nicely on the device, although each SOAP query is a little slower than in Scratchbox. This makes the Update Database quite a bit slower (also possibly calling COMMIT after each INSERT is a little expensive, I'm not sure). Otherwise things are quite zippy, including searching by location.

I'm not entirely sure I'm using the location API correctly, I don't seem to receive any updates to the location. I think it does some caching to speed up lookups and cut down on signals, so I'll need to try it from another location, but I don't even seem to receive an initial signal when the GPS locks.

I started having a go at packaging the application itself, but ran into some error I don't understand (Debian always seems to throw obscure errors when I try to package things). Regardless, the branch is here. Would love some help here.

It seems like all the fundamentals are now in place; including favourites, status messages and geolocation. Still want to add support for tracking individual trams. Also need to tweak the interfaces, buttons don't look like they have the right texture. Was thinking of using my Google Maps/GtkWebKit experiments to add a “View On Map” option for location based searches.

Creative Commons Attribution-ShareAlike 2.5 Australia
This work by Danielle Madeley is licensed under a Creative Commons Attribution-ShareAlike 2.5 Australia.