[OSM-dev] Google Summer of Code project feedback

David Bengoa Rocandio david at bengoarocandio.com
Fri Mar 8 19:05:08 UTC 2013


I'm a computer science student. This year I'd like to participate in Google
Summer of Code, but before submitting my application, I'd like to discuss my
project and get your feedback.

About me: I'm a free software enthusiast, I have collaborated with several free
software projects. I have a strong JavaScript background and try to follow all
the cutting-edge web technologies. I'm a Mozilla contributor and member of
Mozilla Hispano.

My project consists in improving the Kothic-js library in several ways:

Performance enhancements:

* Investigate porting parts of the code to asm.js ( http://asmjs.org/ )

* Investigate rendering with WebGL: I don't have any experience with WebGL so I
  don't know if you can expect performance improvements rendering vector data
  with WebGL instead of canvas for 2d vector data. I'm guessing It could be a
  great improvement if you could make most of the calculations inside the
  shader, but I have never written a shader so I have no idea.

Usability enhancements:

* Render text and icons separately. This allows to hide the labels that are
  partially out of the viewbox and therefore not legible (but still, taking up
  space in the map), to show the label of the streets in the currently visible
  part of the street and to show the labels and icons horizontally in rotated
  maps, all this without having to discard cache map tiles.

The objective of this is that you can easily make a HTML5 mapping application
that is fast and responsive even in mobile browsers, and the map doesn't look
like a "image", but like a more dynamic thing.

During the development of this project, I also plan to make an Leaflet plug-in
to add the Kothic-rendered TileLayer that uses aggressive caching of both
rendered tiles and GeoJSON data, and a custom layer for the rendered text that
that updates each time the viewbox is changed.

I'll also develop a minimal map application for Firefox OS to have something
that everybody can use at the end of the project.

What does everybody think?

David Bengoa

More information about the dev mailing list