Diagrams, Xtext and UX


Xtext is the well-established standard for creating language IDEs in Eclipse. Its text-based editor has a plethora of great features by default and it can be tweaked to support almost everything a user desires. But sometimes a picture says more than a thousand words, and the users want to have diagrams for their language. Having seen a revolution in UX design during the last 10 years, the users’ expectations on a graphical tool are very high. Unfortunately, our traditional graphical editing frameworks have not caught up, and integrating them with Xtext will add further usability quirks. FXDiagram is a new framework for diagrams on top of JavaFX. FXDiagram puts usability first and leverages all the power of JavaFX to provide a state-of-the-art diagram editor with cool visuals, smooth user experience, and just the features a user wants. In this talk I will show how to integrate Xtext and FXDiagram into a modern Eclipse-based IDE without sacrificing user experience. Expect a demo including cool graphics with smooth transitions, easy choice of diagram content, diagram-text navigation, modern editing behavior, animated undo/redo, and much more. Slides are now online.

Slides (External URL)

Session details
Speaker(s): Session Type: Experience level:
Track: Tags:
Schedule info
Session Time Slot(s):
Grand Peninsula EFG - Tuesday, March 10, 2015 - 14:15 to 14:50


I realized that the abstract sounds pretty Xtext-ish even though the topic of the talk is on the user experience of graphical tools.

In most cases the model you want to visualize graphically comes from an entriely different infrastructure that already allows modification. For the abstract I chose Xtext as a popular example, but I will also cover JDT's Java model and the PDE's plug-in model. The point I want to make here is that one will introduce major usability quirks (due to different lifecycles, transactionality, identity handling etc.) by adding an additional graphical model editor in these cases. But limiting the graphical tool to read-only model access will not only yield a much better UX, it will also allow to focus more on the sensible usecases.

Public comment