Skip to content

How to Get Involved

Andrew Thompson edited this page Jul 29, 2013 · 2 revisions

Welcome!

Are you interested in contributing something to the OpenTreeMap project? We would be glad to have your talents, whatever they are! This page is meant to be a sort of guide explaining and identifying the various tasks and future plans where we will need help to make OpenTreeMap the best collaborative urban forestry application out there.

As always, for more specific questions, help, or just to say hello, please check out the opentreemap-user Google Group/mailing list.

Useful Technical Talents

OpenTreeMap is a large, multi-component, server-based web application. If you have experience in (or want to learn!) web design, development, devops, or other technical areas we can certainly use your help.

Programming

Python, Javascript and Django knowledge will serve you well if you want to get involved with developing OpenTreeMap - most of the project centers around those three languages.

New Features and Fixes

Right now, we're involved in Code for America's Great American Civic Hack project and have several often-requested Github issues up related to that effort. Some favorites are cross-platform logins and social media sharing of trees. Many of these issues are full feature additions if you want some meaty Django programming. Depending on your confidence though, you might want to first look at some of our other issues, some of which are smaller fixes, like #34 that would leverage Django database migration tool South (already part of OTM) to remove the need to run an SQL script, simplifying the install process.

Front-end Design and Templates

Another place to start, if you'd prefer some Javascript and HTML/CSS front-end development (and learning the Django templating language in the process) would be around simplifying, documenting/commenting, and sprucing up the default template. If you complete the install instructions, you'll probably notice the default way OpenTreeMap looks is rather bland - we don't include a splash screen, the only color scheme is green and orange, etc. It's also spread across many Javascript and HTML files in the static and templates folders, which can be difficult to read through and understand what file does what where on which page without docs or comments. It would be great if we could simplify all of that, or document it well so it's easier for people to design new derivative templates, etc.

Optimizing Data Management Python scripts

Finally, yet another place to start which would involve more Python but less Django-specific work, would be enhancing the treemap/management/commands command line scripts we have for various data import tasks like importing species, i-Tree data, tree locations, etc. It's been said on the list before that the uimport.py script for importing trees can be quite slow, especially with a lot of records. Figuring out how to rewrite or optimize it would be one area to help. (Though, we are close to a GUI importer, so maybe another script might be better to work on right now).

Sysadmins

If writing frontend or backend code is not for you, but you can find your way around a webserver and the Linux command line, you may be well equipped to help us out with our technical documentation on this very wiki! First, go through the official install instructions for OpenTreeMap and please give any feedback on the document to athompson@azavea.com or the opentreemap-user Google Group. As someone completely new to the project, you would probably have very valuable feedback to add. What parts of the install document are confusing, should we add external resources that explain better? Is there anything that just plain doesn't work?

Useful Non-technical talents

Programming code and the Linux command line give you hesitation, but you like trees and technology and want to help? If you like writing, taking screenshots, and making wiki pages, one possibility you might be able to help out on is creating a set of documentation (on this wiki would be a good start) for tree-mapping end users. An OpenTreeMap implementation's success depends on a wide user base, naturally with a variety of tech-savvy, so a set of documentation (or screencasts) with good graphics around how to map a tree with the web application or the mobile apps, search for specific trees, identify a tree, gather information like diameter-at-breast-height, etc would be useful. Visit one of the already-implemented OpenTreeMap city sites and take screenshots as you accomplish tasks, then write up a tutorial!

Of course, if you live in a city where OpenTreeMap is (and if you don't, if you're able to examine Google aerial photos!) one way you can help is to simply add trees to the map! Each one counts.

Opentreemap version 2, in development, will also have a need for translation into different languages. If you're interested in that, please contact Andrew Thompson at athompson@azavea.com.