21
May
08

Frantic

Frantic would be how I described my last two weeks. I have had very little free time to work on Conduit. Everything seems to have come at once!

Random

  • I have been playing with barpanel, a very functional GNOME panel replacement.
  • Grape is certainly an interesting UI/desktop mock up. If I had infinite spare time I migh have a hack on it, as an excuse to play with Clutter.
  • Props to Jan Bodnar for his excellent Gtk+ and Cairo tutorials.
  • My (bad) experiences with Ubuntu 8.04 can be best described by the following picture..
    Firefox crashing

Openstreetmap GPS Mapping Widget

Somewhat tangentially related to my PhD, I have been hacking on a simple Openstreetmap GPS mapping/display widget. Basically because after investigating all the existing mapping programs on linux, none of them supported openstreetmap/openaerialmap and were able to be easily embedded.

OSM GPS map widget

It’s basically a port of tangoGPS (by Marcus Bauer) to libsoup and considerable clean-up. The whole thing is now hidden behind a derived GtkDrawingArea with a nice simple 4 function api (other parameters such as zoom, lat, lon, are accessible as gobject properties)

  1. set_map_center(double lat, double lon, int zoom)
  2. add_gps_point(double lat, double lon)
  3. add_roi(double lat, double lon, GdkPixbuf *pixbuf)
  4. get_bouding_box()

Things like double click, map dragging, scroll to zoom, etc are all handled automatically as you would expect. It caches downloaded tiles and it’s pretty much complete at this point. I hope to be able to post code soon.


10 Responses to “Frantic”


  1. 1 Alexander May 21, 2008 at 9:08 pm

    Let me just say that I find it awesome that there is somebody working on Mobile Device Sync with Gnome, that’s one of the few pieces of the Linux desktop that are somehow still missing.

  2. 2 Luigi May 21, 2008 at 9:40 pm

    Very cool widget.
    Is possible to get back the coordinates of where the user click on the map?

  3. 3 John Stowers May 21, 2008 at 9:52 pm

    @Luigi
    Yes, you can get the location the user clicked in the button-release event signal handler using g_object_get(map, “latitude”). You can see the latitude and longitude displayed in the GtkEntry in the screenshot.

  4. 4 John Carr May 21, 2008 at 11:23 pm

    Hey John - blowing away .mozilla fixed Firefox 3 on both boxes that were having trouble with it. Works like a dream now, better than FF2 once more.

  5. 5 Chris Sherlock May 21, 2008 at 11:46 pm

    While I’m not much of a coder, I can definitely tell you that Conduit rocks! I used it to upload photos of my baby to Facebook. Due to some reason or other, Java doesn’t work in Firefox on my Ubuntu distro. I didn’t think I’d be able to upload the photos, however with the Conduit dataprovider I was able to easily upload the photos!

    Similar issue with Google Picasa. The WINE based program is OK I guess, but conduit was far easier to use overall.

    So, as an end user your program has been a godsend to me. I figured that while I can’t do much, at the very least a great big heartfelt thank you is in order!

  6. 6 Leo S May 22, 2008 at 7:26 am

    You might be interested to know that Marble now also supports openstreetmap..
    http://www.kdedevelopers.org/node/3475

  7. 7 Ian May 22, 2008 at 7:59 am

    I’m the founder of the Roadster project.

    Roadster did vector drawing of US TIGER road data. TIGER has a lot of problems (data accuracy, no one-way streets, US-only). OpenStreetMap is clearly the way forward now.

    We had talked about splitting Roadster in to two parts: a reusable map widget and a GUI, but it never happened.

    Do you have plans to make your widget use a local cache of *vector* data and do the drawing itself, instead of downloading tile images?

    There are lots of advantages to having the vector data, including theme-ability (think day or night visible color themes), selective drawing of map features, and driving directions. Vector data can also be much smaller than image data, allowing a portable device to store much more of the world.

    If you are interested in producing such a widget, please let me know. I’d love to write a GUI for it.

  8. 8 Oliver May 30, 2008 at 10:11 am

    That OSM widget looks pretty nice, and also seems to be a good step towards better offline cache handling (which seems to be pretty bad in Tangogps). It would be cool if you could make the code available (just put a tgz somewhere) so people can start playing with it.
    Thanks, Oliver

  1. 1 » Blog as Noticeboard Johns Blog Pingback on Aug 23rd, 2008 at 1:46 am
  2. 2 Pierre-Luc Beaudoin » Blog Archive » Introducing libchamplain Pingback on Aug 23rd, 2008 at 3:22 am

Leave a Reply