Alex Vincent - 2013-05-16

Hi, everyone. I've been working on the Verbosio project for many years now and it's stalled due to my own college and work commitments. Verbosio is supposed to be a prototype for a XML editor, where additional XML languages (MathML, SVG, RDF, etc.) are packaged like Mozilla Firefox add-ons. The project itself is based on JavaScript and Mozilla technologies, and I've done my best to make getting started easy with a simple Python script.

The project is probably on its third or fourth reboot, which is why it doesn't have that long a history.

Right now, I'm building infrastructure to support one of the prototype's key features, a XML templating system. https://sourceforge.net/p/verbosio/templates/ is the home for this subproject. The templating system is supposed to allow a developer to extract a template from already-existing markup, and for users to create new markup from those templates.

I have a partially implemented (and non-standards-compliant) Document Object Model in JavaScript. What I need in the near future:

  • Code review. I'm a very experienced JavaScript developer myself, but I'm working solo on this project so far. If you're moderately experienced with JS, your code review would be priceless. In particular, your pointing out where things are unclear and need documentation would help a lot.
  • WebGL visualizations of a DOM document. The typical DOM is shown as a two-dimensional tree (child nodes, siblings). A third dimension could be attributes. Also, my DOM implementation will preserve far more information (history, "shadow" content, maybe some others). I'll need help showing that to the user.
  • Matching DOM nodes to source markup. I'm using Mozilla's Simple API for XML implementation to generate DOM nodes from source, but I need to preserve the general text formatting of the source (indentations of elements and attributes, line lengths, etc.) The idea is that I want to respect how version control systems (Mercurial, Git, etc.) store the document just as much as we respect the DOM structure: minimize source diffs when re-serializing the document. For now, I'll simply take some algorithms that can match source to markup.

I'm trying to set up a mailing list now for discussion. I realize I'm asking for a lot on the last two; I am always able to answer questions by e-mail. I'm working to make the development environment that comes with the project as friendly as possible.