Towson University’s Center for GIS (CGIS) recently assisted the Maryland Humanities Council (MHC) in their promotional needs by developing a web mapping application that helps MHC audiences and donors quickly identify MHC events that occur near them.

Phil Reese, a GIS Programmer for CGIS, was the primary programmer that developed the MHC web mapping application.  Recently I caught up with Phil to discuss his involvement with the project along with the reasons behind utilizing Mapbox (an open source mapping platform) to complete the project.

Maryland Humanities Council Map

Maryland Humanities Council Map

Q:  What options, other than Mapbox, were considered for the development of the web mapping application?

A:  We briefly discussed using the ArcGIS JavaScript API, but decided against going that route because we weren’t planning on creating or using any ArcGIS Server map services for this project.  We also discussed using Leaflet, which is a very popular light-weight JavaScript mapping library that is well documented with a very active community of developers.

Q:  Why did CGIS ultimately decide on using Mapbox for this project?

A:  Mapbox.js was ultimately chosen because of the extensive documentation and examples that exists.  We actually found several examples on the Mapbox.js developer site that almost exactly fit our needs, so we were able to closely follow these examples to jumpstart development of the application.  Another reason we chose Mapbox.js is because it is a plugin for the Leaflet JavaScript mapping library, which means that all of the advantages of Leaflet that I mentioned earlier – great documentation, lots of great plugins, flexible, and efficient – are also advantages for Mapbox.js.  Additionally, Mapbox provides us the ability to use excellent basemaps (and even the ability to customize them to fit our needs) included in a free account that accommodated our expected number of monthly views.

Q: Did you face the need to do a lot of customization, or did you work mostly with the “out of the box” tools that were available?

A:  Most of what we needed to do was “out of the box” in the sense that there were examples of specific pieces of functionality that we desired and thorough implementation descriptions.  We had to use these technologies in ways that suited our needs, so a certain level of development above and beyond what was illustrated in the examples was required, but the documentation and community resources were very valuable for inspiration and direction.

Q:  Were there other technologies you used in conjunction with Mapbox in order to complete the project?

A: We used some very popular (and free) frameworks and libraries that are commonly used across the Internet.  We used Bootstrap for the pre-style user interface components (e.g. think buttons, forms, dropdown menus, etc.) that it provides.  We also used jQuery, which is a JavaScript library that simplifies common JavaScript tasks.

Q: What was the biggest challenge you faced?

A:  Custom functionality that went above and beyond what was illustrated by the examples on the Mapbox.js developer site was sometimes challenging.  We didn’t have a lot of wiggle room to get stuck on certain parts of the application that needed a more custom solution, so it was sometimes a struggle to deliver the promised functionality on-time and under budget.

Q:  What was the biggest surprise you experienced?

A:  The wealth of developer resources available online for Mapbox.js and Leaflet developers.  While we knew this would be an advantage of using these technologies, I think it was a surprise to see how widely used the libraries are.

To view the MHC mapping application, click here.

To view a project sheet on the MHC mapping project, click here.