During a recent mapping project implementation at work I realized the open source map content is limited and that the resources to share that content are even more limited. There a few map tile servers out there all of them using resources of open source volunteers, and those servers are being hammered by millions of users. The map content is not usualy a light content, it's all bitmap images the are already compressed. Many servers go offline because they can't take the load or that they have reached their maximum bandwidth for the day.
The number of people volunteering to host the tiles is small because the tiles ocuppy about 1.2 TB of disk space . But that's for the whole world.Here's the solution.
- Let's create a subdomain mdmtd.flosk.org (for Master Directory of Map Tile Distributors)
- Let's create a little PHP script that allows volunteers fetch a protion of tiles from the main servers directly into their servers. Everyone needs to run this script on their own servers, we will share it when a new volunteer is registered.
- Let's also create a database to tell the world that this new regional tile hoster is mirroring tiles for x,y region with radius of m miles.
- Let's create and submit patches for a few major javascript layers, like OpenLayers, Mapquest for OSM etc. so that these scripts lookup our database at mdmtd.flosk.org.
These volunteers most likely have created a program or a web application that may be specific to a region. Let's take http://prishtinabuses.info/ for example. Why would thousands of Prishtina citizens download Prishtina maps from California? Well, first of all there is no map tile server in Prishtina. Even if there was one, OpenLayers doesn't about it.
Also, there seem to be a lot business applications that are used in large corporations inside their intranets. We can offload these corporations easily by redirecting them to their internal map server.
And just before I finish for tonight let me just say what we need:
This of course is a summary of an entire mapping ecosystem. I will continue with detailed design description for each item in the next blog/s.
- Issue tracker
- Bugzilla
- GIT or SVN server
- Subdomain (to be under FLOSSK for next thousand years)
- Mysql server
- Apache server
- 2 PHP programers
- 2 Javascript programers
- Web artist
- Technical writer
- Blogger
- Mailing list
- Support forum