MapChat is an open source tool for integrating maps with real-time (as well as asynchronous) discussions between multiple users. Expression of local knowledge is enabled through text-based, threaded chat conversations, which can be implicitly and/or explicitly integrated with references to map-based geographic locations or features. MapChat is currently in its third version of development. Its purpose is to take the proof of concept embodied by the first version, and implement it more effectively by building on the experience and insight that has been gained through the course of its development.
MapChat makes use of MapServer technology and related mapping tools by DM Solutions. The third version is being designed to use OpenLayers as the client-side mapping interface. All other client-side code relies on the jQuery JavaScript library and related plugins/resources. Server-side programming uses the PHP scripting language. Map image tiling is based on the ka-Map project. The Zend Framework is used to provide a variety of enhanced resources for the server-side development. Finally, MapChat relies on PostgreSQL/PostGIS as the spatial database backend.
The majority of communication between the MapChat server and client sides is now accomplished using AJAX calls through a single API controller. Different functions/data can be accessed via this controller. Other features include dynamic loading of resources (e.g., JavaScript code is only loaded when needed), minification of JavaScript/CSS code (using Minify libraries), and gzip compression of all text-based server responses. This has minimized the bandwidth requirements of the application, which has enabled its use over dial-up connections in some cases.
Bulkley Valley Riparian Environments |