I want to share with you two pieces of news that have caught my attention recently.
First, Kolja Dummann has published Building Collaborative Web Applications with the modelix Stack where he describes a prototype collaborative web editor he built at itemis. The prototype allows multiple users to collaboratively edit a MPS model, either using the web-based interface he provides, or directly from within MPS.
What I find the most interesting about his prototype is this:
Somebody working with the client doesn’t need to be aware of the fact that language engineering is used nor do they require specific MPS knowhow. For them, it simply looks like classes they can manipulate.
Second, Jos Warmer and Anneke Kleppe have released a new version of ProjectIt, a Web-based projectional editing framework. Two goals of ProjectIt appeal to me: one is to be an extensible framework that integrates easily with other tools. It currently does not integrate with MPS nor Modelix but perhaps it could. The other goal that I find important and worthy is to support expression editing out of the box. In their words:
Editing expressions in a projectional editor is a well-known challenge. The representation of an expression in the AST is highly structured. Yet, because its appearance to the user looks textual, users expect that the editing behavior resembles classical text editing as much as possible.
I believe that excellent support for projectional editing of expressions is difficult to implement, and as such it is one of the main reasons that make MPS unique (even more augmented by grammar cells). However, the value of expression editing is somewhat hidden from the typical user because most of the modeling time is spent in form-based editors.
Collaborative editing is another highly desired feature that is non-trivial to implement correctly. The two most valuable features are getting implemented by emerging tools and this makes the future of web-based language engineering all the more exciting.