Almost everyone sketches. People use sketches day in and day out in many different
and heterogeneous fields, to share their thoughts and clarify ambiguous
interpretations, for example. The media used to sketch varies from analog tools
like flipcharts to digital tools like smartboards. Whereas analog tools are usually
affected by insufficient editing capabilities like cut/copy/paste, digital tools
greatly support these scenarios. Digital tools can be grouped into informal and
formal tools. Informal tools can be understood as simple drawing environments,
whereas formal tools offer sophisticated support to create, optimize and validate
diagrams of a certain application domain.
Most digital formal tools force users to stick to a concrete syntax and editing
workflow, limiting the user’s creativity. For that reason, a lot of people first sketch
their ideas using the flexibility of analog or digital informal tools. Subsequently,
the sketch is "portrayed" in an appropriate digital formal tool.
This work presents Scribble, a highly configurable and extensible sketching framework
which allows to dynamically inject sketching features into existing graphical
diagram editors, based on Eclipse GEF. This allows to combine the flexibility of
informal tools with the power of formal tools without any effort. No additional
code is required to augment a GEF editor with sophisticated sketching features.
Scribble recognizes drawn elements as well as handwritten text and automatically
generates the corresponding domain elements. A local training data library is created
dynamically by incrementally learning shapes, drawn by the user. Training
data can be shared with others using the WebScribble web application which has
been created as part of this work.