I think this is a great idea.
For the parser/container/data model back-end, with full-disclosure of obvious
biases, I think DendroPy would work well for the phylogenetics domain. We are
currently working on the 4.x series release (both tree reading and character
parsing performance are now orders of magnitude better than the 3.x series, and
scaling is O(1) for the former as opposed to O(n)!!!), and are open to incorporating changes to support playing better
with other tools in the stack. Let me know if there is anything specific that you need if you do decide to go this route. And abstraction layer between the dendropy data object model and other tools in the stack come time mind …
While I like and use matplotlib, I am resigned to the fact that installing this
natively on Macs is going to be a nightmare for a some time to come, even for
someone with reasonable good sys-admin skills and experience. The task is
somewhat less painful if you use a package manager such as Homebrew. And by “somewhat
less painful” I mean a nightmare you eventually wake up from, as opposed to a
nightmare that never ends). And with every OSX release it seems to get worse. Yosemite’s pending release is already resulting in rumblings in various forums. Of course, one can always use pre-packaged Python distributions such as Enthought etc. But this still places a whole lot of unnecessary burden on the end user. All of this is a shame: I like matplotlib (In fact, I like the whole numpy + scipy + matplotlib stack. And the first two actually are now pretty straightforward to build and install natively; if only matplotlib was as well …)
So, what it boils down to is: I like, support, and encourage the use of alternate, non-Python, platforms for visualizations. Java/Ecma-Script seems like a truly excellent choice. It means that we can potentially use the browser as a front-end, not to mention the possibility for visualization over the web or natively on (some) mobile devices with minor enhancements. I know this was was not a declared objective, but I think it is a substantial side-benefit while achieving the primary goal of visualization with the minimum of hassle for the end user and developers.