Wednesday, January 28, 2009

Moonlight, Silverlight and OpenStreetMap

One of the nice things about creating the map in Silverlight has been the possibilty of using a Moonlight client to reach even more users..

however I seem to be causing problems in moonlight with my OpenStreetMap in Silverlight..

Bad me! I suspect this is because I am really pushing the Silverlight threading model - the application is very UI intensive, which is something that (ironically) Silverlight has problems with (You can't multi-thread UI calls, so everything bottlenecks waiting for Dispatch).

I will try and see if I can help the Moonlight guys with the fixin'

I've been a bit quite on the map front - mainly due to re-engineering the Quadstore to handle the whole planet - this is still ongoing (I'm trying to keep conversion time from OSM dataset to Quadstore to under an hour, and at the same time not use SQL Server)

I have updated the demo to improve a few things:
  • Points of Interest now supported (though theres not mainly in my test data set, my fault not OSM's - I filtered them out, next data upload will fix this) You can see them as blue/red triangles. Hopefully I should be able to start demonstrating the power of the dynamic approach by allowing users to select what POIs to show on the fly.
  • Where's FE? this is really me just playing - from my post on mobile location finding I've added the capability to the cobalt server to track users. My windows smartphnone mobile phone tells the server where it is and this is shown as a little icon - in the future a user can download this app and put their own details in. They can then show this on their own map, and if the choose allow other (selected users) to see their location. You will also be able to tell the system how accurate you want the position to be (so the icon can be placed anywhere within, 100, 10, 1, exact square meters.
  • Road smoothing - I've improved this algorithm to speed this up, mainly by reducing it from O(n2) to O(n) by using a "smarter" approach.
  • Performance - I did a lot of profiling combined with improving the road smoothing alg, has made the map faster, however I'm still unhappy with the 30sec draw time - faster computer do this in about 12-15 seconds. This is too slow, so performance is still on the agenda. I had some good feedback from emj on OpenStreetMap on this - thanks!
The next release of the map should support the full world and complete pan/zoom control..

No comments: