Xtext, ! 
Diagrams ! 
and UX 
Jan Köhnlein - itemis
User eXperience 
a person's perceptions and responses 
that result from the use of 
a product, system or service. 
It is very emotional 
and quite subjective.
Good UX 
is the reason why 
people like a product.
Ingredients of UX 
• Usability 
• Response time 
• Consistency 
• but most of all…
No Quirks!
Surprise: „Not what I expected“ 
Impediment: „I cannot do that“ 
Damage: „I am losing data“
Language IDE Framework
User eXperience of Xtext 
• Consistent set of IDE features 
• Good integration with Eclipse 
• Reasonable response times 
Good! 
UX 
• You can customize almost everything
Xtext 
+ Diagram Editor 
= Quirks
Linking 
Element name! 
Scopes! 
Rename refactoring 
Xtext 
Element ID! 
Direct X-ref! 
Rename element 
Diagram 
Editor
Direct Editor Sync 
Objects are modified! 
EMF Transaction 
Objects are replaced ! 
IXtextDocument 
Diagram 
Editor 
Xtext
Saving Models 
Valid! 
Models 
Saveable! 
in XMI 
Diagram 
Editor 
Saveable! 
in Xtext 
Xtext
Bi-Directional Mapping 
TreeNode 
children 
* 
Diagram 
nodes * * edges 
Node Edge 
node A { 
node B 
node C 
} 
A 
B C 
Diagram { 
Node A 
Node B 
Node C 
Edge(A,B) 
Edge(A,C 
}
Bi-Directional Mapping 
Diagram 
Editor 
Uni 
Xtext 
Editor 
View
Quirks From Using 
Diagram Frameworks
„Usability is already addressed 
by the framework“
„Design is overrated“
Developer Centrism 
Abstract 
everything ! 
Maximium # of 
features 
More models ! Solve the generic 
use case! 
Integrate 
every framework in the 
word ! 
private, final, ..
Diagram frameworks 
prevent you from taking 
control over the UX.
Diagram Tool UX 
• flawless, modern graphics 
• smooth transitions 
• self-explaining, haptic behavior 
• multi-touch gestures, transparency
+
+
FXDiagram
FXDiagram 
https://github.com/JanKoehnlein/FXDiagram 
Oomph!
UX is why people like 
your product.
Take back control 
over UX.
And get rid of the 
Quirks!
XRobots 
XRobots 
Program your robot in a web browser. Teach it sumo wrestling.! 
Challenge others and watch the show at the itemis booth. 
join the game at 
xrobots.itemis.de

Xtext, diagrams and ux