Suggestion for MapServer 5.0

The MapServer 5.0 plan has some compelling items (feature-level transparency, AGG rendering in particular), but the one thing I'd really like to see is separation of MapServer's cartographic and web application aspects. These are entangled both in the code and in configuration, so it's no small task, but one that would reward the community.

Frankly, making effective maps and administering a web server are skills that rarely go together. Separating cartography from the web application allows changes to be made to the cartographic presentation with greatly reduced risk of breaking the application that serves up the map. The separation would also make it easier to test and deploy maps, even across platforms.

Similarly, separating these concerns would make development of MapServer a bit more sane. Cartographic enhancements would be much less likely to break the web application, and the upcoming changes to accommodate WFS 1.1 and WMS 1.3 (for example) would be much less likely to break the cartographic engine.

Last, but not least: I consider the built-in MapServer web application (mapserv, or mapserv.exe) to be cumbersome, and a bad investment today. The W*S protocols are better implemented in your favorite web programming language. PHP, Python, Ruby, .NET -- all surpass C for working with HTTP requests, strings, and XML. All have better templating. All have better memory management (except perhaps PHP). Back when I was playing ultimate frisbee, we used to heckle our teammates, yelling "Drop the piano!" at the tired guy who couldn't run down the disc. MapServer's built-in, written in C, web application is that piano.

Comments

Re: Suggestion for MapServer 5.0

Author: Matthew Giger

I agree wholeheartedly with your assessment. Having another application to serve up http data outside of apache in this day and age is just silly. Agg is very nice at rendering antialiased lines (MS uses it in VE), I would love to see some sort of a Python MapServer library (with the crucial performance parts in C) with a Mapnik (mapnik.org which also uses Agg) renderer and OpenLayers. That would be a nice solution...

Re: Suggestion for MapServer 5.0

Author: hobu

Patches graciously accepted :)

Re: Suggestion for MapServer 5.0

Author: Sean

I'm still a committer, Howard. Consider this post a paradigm patch for the brain ;)

Re: Suggestion for MapServer 5.0

Author: Andy

I have to disagree on the mapserv thing. I wrote an app for small devices for AT&T at one time that used mapserv and it worked like gang busters. When you have a device side application and you just need images streamed to it and the app itself handles everything else mapserv is the absolute bomb. The Oregon & Washington market AT&T technicians still use this app on their Blackberries and Motorola radio phones. Without mapserv I would have been up a creek. For regular web maps I always used the PHP libraries but for small devices nothing worked better than mapserv.