Marble: I iz ur training tracker

Though I leave already tomorrow I didn’t want leave Akademy without having tried out something new. As I’m paid to work on KDEPIM for work-work I would try out something completely different. A week or ten ago I started running again, definitely not at marathon level but I’m already quite happy that I’m able to drag myself out twice a week for a ~12 km run. As some additional motivation I bought myself a cheap hart beat monitor as well to be able to train more efficiently. As I said, a cheap one, so no fancy features such as GPS support. Recently I found this dutch website: measuring distance. It is a Google maps based web application which lets you enter routes and register training times for saved routes. This is quite a handy tool as it gives you at least some indication on how far and how fast you ran. But well, its web based, Google maps based….. and than we’re at Akademy where people keep bashing us that we should have full control over our data and that web-applications have these annoying side effects (Hi Frank and Sebas! Loved both of your talks!).

So what do we do?! Torsten "Marble" Rahn to the rescue. When I saw his talk I was thinking: neat, Marble is coming along very nicely. I definitely have to try that. So I started hacking on this a bit and with some help of the Marble developers I got a first quick and dirty proof of concept up and running. So here’s the idea: I want to build a custom application using the Marble widget. That’s what it is meant for right?! Who’s doing his training sessions on the moon anyway? Also, the behavior of operating it must be different, point-and-click track specification is the major use case.

After some fiddling and trying different approaches I now ended up with a custom Render plugin that is also installed as an event filter on the widget. It listens to mouse events and has some logic to allow drag and drop without resulting in unwanted lines. For you viewing pleasure:

Marble at Tampere from Bertjan Broeksema on Vimeo.

As you can can see, we found a good bar before arriving at the university. If this looks somewhat familiar, yes there are two similar kind of functionalities but according to the experts one is completely outdated and should be removed, and the other is a buggy, disabled by default result from a GSoC project. I didn’t put the code online yet but that will eventually happen when I’ve implemented the basic ideas. Which are as follows:

  • User can save and load tracks
  • User can store training info for a specific track
  • Simple training overview (i.e. distance, avg speed)
  • Support for a simple profile (at least the application should remember where I live

Can’t wait until I release the code? Feel free to contact me if you want to work on this as well. All in all I’m quite satisfied with the result already, given that this was only like five hours of semi concentrated hacking. A bit longer term feature which I’d like to get in, is really good support for creating tracks in a convenient way. But that will need some additional reading and poking around I guess. Marble guys you rock! This thing is becoming really usable and I’m quite sure there are a multitude of applications that should have Marble in there (KAddressbook anybody?!). Over and out now, don’t want to miss my plain tomorrow.

This entry was posted in Uncategorized and tagged . Bookmark the permalink.

4 Responses to Marble: I iz ur training tracker

  1. You made my day Bertjan! Nice to see that someone thinks of it. A sport tracking widget for KDE will be great! I used runkeeper, endomondo, sportstrackerlive and cardiotrainer/noom but thats not available for KDE and plasma active 3 for tegra 3 is on the way :)
    Kaddressbook/polka should definately do some integration with it, run with your buddies is an essential mobile feature and highly fun, motivating & rising activity.
    I hope David, Martin and the other telepathy guys have it in mind for future integration. All these elements should be connected addressbook, maps, history logging, interaction with my people/connections recent messages recent calls recent activity/meeting/sports with nepomuk and zeitgest etc.

  2. John Layt says:

    The website I use for planning routes is which might be worth a look for ideas for route planning, e.g. sharing routes (via OCS/GHNS?).

    I have a Garmin Edge 705 with GPS, heart rate monitor and cadence monitor which I use for both cycling and running, and a Marble-based app would be great for this :-) It uses a format called .tcx which is just GPX with extensions for the heart and cadence data. A long while back I looked for free software to use with it, there’s a few out there that show all the data in a useful way, but I don’t recall any were KDE or Marble based. I might have a google today to see what’s out there now.

  3. Bertjan says:

    Sharing routes was indeed something that popped my mind as well. But currently there’s near to nothing (code wise) so I thought not to tease people too much cause I still have to see if I’m really able to get all this up and running. First priority for me is to get a point-and-click based version working.

Comments are closed.