Sunday, March 30, 2008

Need to build some software...

While I prefer the use of influence and causal loop diagrams to the approaches of mind-maps and concept maps, the issue with the former is that there is little in the way of free and opensource tools available for using this approach, or learning the process.

There are tons of applications devoted to influence diagrams, system dynamics and so forth, but they cost hundreds, if not thousands of dollars. There is one opensource modeling program out there but it does not include influence diagrams.

This might be primary reason pattern adopters have been slow to consider such an option, because for many it isn't an option; it certainly isn't one to me. So I guess the option I do have is of course to code my own application.

I don't really have any intention of making it full-featured. I just want to be able to add system elements, embed text (to contextualize the element, with simple descriptions shown onmouseover()), use arch lines to show relationships, add (+) or (-) to differentiate the type of influence, define the system boundary (maybe define a meta-system), be able to add images as user-friendly icons for elements, and I want to be able to have versioning (that way the model can be adapted to reveal changes within the system that might warrant additional responses).

For now, I'm going to build a crude prototype, meaning no AJAX. I don't have the time to figure it out at this point. As in a past post, I still plan on using SVG because of it's dynamic options compared to the php_gd2 option. Plus, I have taken some serious time figuring out the SVG option and I like it. It gives me an option to add AJAX capabilities later on. Ultimately, I would like to code this for my own research and if someone finds use, then let them add the bells and whistles later on.

Anyway, I think I will draw up a more complete list of requirements and then fire up my agroUML app and get to mapping this project out.

Note: I really hate not having time to fully engage cool projects like this. Yet, I have no intention of being a full-time web developer again. Well, unless it is working on building apps to support my research interests. Hmmmm, potential dream job?