Friday, August 31, 2007

Tech Stack for PSP

So, I have been thinking of this online pattern mapping system for sometime. A part of this process, (aside from defining the requirements) has been heavily devoted to researching existing technologies through which to approach this massive project. While there are similar projects taking place and that this system might be able draw from or integrate well with (such as the GreenMaps), it is apparent that this is going to be a home grown PSP sponsored software project. Which means we need to get moving in the direction of understanding our basic recs and identify our technologies.

Considering that the new PSP site is going Joomla 1.5 I have been leaning much more heavily towards a PHP framework like Symfony. I have been a pro Django guy since being a pro-Python coder (yes, I LUV PYTHON, so there!). However, it is clear to me that with all the people working on this project the one thing we seem to have in common, skill-set wise is a fairly deep collective knowledge of PHP. Beyond PHP some of us know Ruby and some know Python, and there are some that are more fluent in Perl. Now, I don't mind learning a new application framework, as long as the framework is in a language I already know, meaning any of the gazillion PHP or Python frameworks are fine. But I really don't have the time to learn an entirely knew programming language along with the framework.

Now, I know that sounds crude to some as one always chooses the best technology for the job, but I have seen similar apps written in all three of these frameworks. Here is a Symfony one for show "MySpaceMaps." So, while I think there is always the argument for best technology for the job, I think after a certain point it becomes about what developers are most comfortable with; where are they going to be most productive and considering the resources and skill-sets of a completely volunteer run non-profit, where is the space that can enable us to all work collaboratively.

Plus, as hard as it is to believe I do have a life!

So, I'm hoping that something like Symfony can be powerful enough for us to achieve our goals but be something that can bring the interested developers together so that we can develop this tool in more collaborative context rather than relying on the expertise and availability of one individual.

One, that isn't fair to that individual, two that is a lot of reliance on one person and three I think those interested in the project like to code, so hopefully it is using tools we all know, and know that work so that we can work together.

No comments: