Muster Tools

April 2015

contact mail@mustertools.net

Henrik Bechmann, April 2015

Muster tools is my collection of published work, over a number of years. I'm currently the proprietor of Internet Commons, taking on web development contracts of various types and roles.

Please note that this website uses some bleeding edge technology, the latest versions of angular 1.4, and material-design 0.10, so you may encounter some bugs.

I have recently restarted my quest for a standard set of rich ui widgets with a new set of tools. See my demos of the new prototypes. Source code is available on github.

Background

Around 2007 I became interested in the idea of declarative interface widgets. I couldn't see anything that matched my sense of it, so to gain some experience, I created a javascript library to support such a thing. The results can be seen at dlml.org| which is both a small xml grammar, and an implementation of a few widgets. These worked, and in fact were deployed in one of my projects.

But then in 2013, I looked at angularjs, which was the sort of thing I had in mind, and much better.

Now I'm interested in using angular to implement the kind of declarative tools I have in mind. I just finished creating a prototype, with the demo here. See the source code on github, with a lot of technical commentary.

In the course of assembling my wiki software (see next tab), I looked around for a markup language for authors that allowed for both basic and advanced markup. No luck, so I wrote my own. The result is Muster Markup, still found on its own legacy website and with its old name simplewiki.

I had found an implementation of a wiki markup parser/emitter that I rather liked in Python, so I translated it to PHP, and subsequently extended and modified it in various ways. The result is quite robust.

The core idea is to provide a basic wiki markup language (based on creole in this case), and then extend it with decorations and declarations such that there is virtually no limit to the html that can be output. Plus it supports native and custom dynamic extensions like footnote and table of contents which create page components.

A few years ago I created a wiki using php. This gave me a chance to explore some ideas in a prototype.

The result is something that works well, but needs some advances in the user interface. Notably, it has quite a small footprint. The average memory consumed per typical page load is in the single digit megabytes, vs teens for Wordpress and many 10's for Drupal.

The wiki is available at Muster Wiki. It's used to implement a community website called Public Commons. I took two full development cycles to learn the various lessons involved.

If I get another crack at it (we'll see), I would probably use a javascript stack based on node.js (instead of php), mostly angularjs at the front end, yaml files for configuration (I'd put that on steroids), hapijs for the api, and a mix of databases, like the graph database neo4j at the back end.