Tim, I was very excited to get your email! I somehow missed Simon's efforts, and I think it would be a great idea for all of us to sync up (perhaps via hangout?)
I have recently submitted
Kartographer extension (
code) for security review, and I hope we could deploy it at least to Wikivoyage fairly soon. Kartographer eventually should allow readers to see and interact with the map just like
Graph examples.
Kartographer uses
mabox.js library, which includes Leaflet. Using mapbox.js will allow editors to add
styled GeoJSON directly to wikipedia pages -
example. Also worth mentioning is the
new feature I added to Kartotherian - an ability to generate pushpin images of any Maki symbol in any color (
example).
Kartographer should allow editors to customize map for each article. The big remaining issue is the server-side rendering - we can already generate static images, but we must be able to generate them with the extra GeoJSON layers. It seems leaflet/mapbox.js do not support node.js headless rendering. I saw the
leaflet-headless project, but it might require some work to use it with mapbox.js. So any help with this would be great.
Now to the points from your email:
* Style goals
task is open, we should discuss how to work on it
* Transportation POIs was a request from Wikivoyage community. I feel they should be at least reduced in size and restyled - should be easy enough using Mapbox Studio, but I am very bad at visual designing - any patches are welcome.
* Mobile Android app just added maps, but they use the base layer plus add pushpins for Wikipedia articles. Eventually I hope they will be able to show maps as part of the articles, with the extra layers.
* Simon map is an awesome effort, and we should figure out how to bring it from wmflabs to production - otherwise we won't be able to use it for Wikipedia traffic - the virtual servers won't be able to support it, and it is not safe from security perspective.
* Multilingual maps are a huge request, so seriously doubt it in 2 months. WMDE has graciously offered one of their engineers, Johannes, to work on Mapnik. He already fixed a very long standing RTL font rendering bug, and hopefully he will be able to figure out how to add HSTORE storage to Mapnik. Once done, it will be simple to add all languages to the vector tiles, and to pick what to render at the last second.
* We cannot show maps to any Wikipedia users as part of the articles because we don't have the server capacity for that yet. But, you can easily switch the geohack template (GPS coords in the upper right corner) to use our new maps, just like ruwiki did, by modifying
GeoTemplate and
GeoHack.js (these are ruwiki, but you can do the same for dewiki, enwiki, etc). As always, this is up to the community and not WMF, thus I didn't do it myself. Switching ruwiki geohack quadrupled
our traffic. But geohack is obviously a stopgap measure - once we have more capacity, I hope we can use Kartographer extension on all Wikipedias.
* I'm fairly happy with the performance - all maps are served via 2 varnish caching servers + 4 backend servers. For full production, we will need 4 varnish servers in each of the 4 data centers. That should significantly improve performance for many regions.
* A still big open question is how to add large external databases to Wikipedia. OSM database required huge efforts, but we shouldn't have to do this every time we add a new db. No solution for this yet. One option is to set up a well understood API on your database, and let Kartographer pick up that data?
* We already generate a un-labeled map (use /osm/ instead of /osm-intl/ ) - this can help with label collusion.
* Priorities is a great question :) This quarter we were primarily concentrating on community feedback and adaption - which has been going great (maps on android, geo hack, wikivoyage). The next quarter we should start doing more integration and expansion, assuming we can get our hands on some servers.
== What can you help with ==
* Design a new better map Wikipedia-specific style
* Design a new better WebGL map Wikipedia-specific style
* Help improve SQL for vector tile generation (many bugs there)
* Help making mapbox.js run in node.js
* Gather and outline maps usage scenarios (product manager role)
* Expose your data via an API, and consume it via Kartographer
* Add more capabilities to Kartographer, e.g. spinning globe, etc
* Something else?
Ping me with any questions or ideas!