You could argue that good lisp editors (e.g. slime), are just tree editors.
Have you heard about graphviz?
It’s powerful, fast, portable, readily available.
There are more and more live editors available (check out http://graphviz.it) and the syntax is no more complex than markdown.
Sometimes you want some tool for interactive layout tuning, like VUE… It’s a pity that dot2vue fell behind and later disappeared from the internet completely — dot and VUE together would be a very nice complete solution.
We do have graph editors, they’re just all proprietary and/or use some arcane format that isn’t nearly as straightforward as text encoding.
Yup, I faced this problem 6 months ago.
Even though they are far from being perfect, there are some FOSS graph editors.
Gephi: https://github.com/gephi/gephi is really nice. The problem I have with it is its stability. Other than that, you can edit and analyse gigantic graphs from a single tool, which is really nice.
I agree with you about the format problem. Even though graphml is quite widely supported, getting interoperability using that format is quite hard, mostly because of poor implementations. For instance, pygraphML (https://github.com/hadim/pygraphml) which is the de facto standard graphml for python and gephi’s graphml importer are not compatible (problem with the nodes labels if I remember correctly).
Depending on what area you’re in, GraphML may not even be feasible. I work with a good deal of social network data, and encoding any remotely large dataset in GraphML would be insane both in terms of parsing time and disk usage.
A large/medium (depending on who you ask) dataset I use for testing is nearly 50GB in ye olde edge list format, which takes about 20 minutes to read and parse. GraphML would take even longer. I use a binary format which reduces it to about 12GB and which takes 15-30 seconds to read depending on disk speed.
This is fundamentally why there are so many different formats for graph/tree data: such a general structure sees usage in a huge variety of fields, and therefore there are a huge variety of requirements for what it can represent, how efficiently it needs to do so, etc. No one format can possibly meet all of these requirements.
Which programs do you have in mind?
As we were discussing over on HN, the question of creating a tree editor seems to be less about creating a One True Tree Format, and more about designing a grammar which can handle converting various text formats to a tree format. This suddenly becomes a more interesting problem when you start trying to use grammars to parse context-sensitive languages…
Edit: The Tiled Text Engine is the best example I’ve found of what I think of when I read the words, ‘tree editor’. It works with an Xbox controller(!) and was ostensibly built as a solution for RSI, but it’s so much more than that.