The Gestalt of Software

The gestalt of software has a janus-like face. The user sees and interacts with the software’s public side. Whereas the software developer is entrenched with the inner working, the code constituting the very same software. Jeszra is a visual design tool which allows the developer to share the user’s perspective, during design, development and documentation. Working from the user's point-of-view helps to focus on the design task. The developer gains a better understanding of her own design and how the design interrelates with the user.

Jeszra does not replace a code-editor. Neither is nor will Jeszra being bundled with a editor. Very likely the need may arise when elements, generated with Jeszra, are extended or used within a code-editor. Jeszra acknowledges this and supports editing by also generating macros and skeletons for different editors.

What is Jeszra for the developer? It encourages the developer to see the face of her software from the user´s standpoint. The developer is thus always in control of what the outer gestalt will look and behave. Taking the user´s place during development helps to avoid situations were internal technical elements seep from deep down to the surface, confronting and confusing the user.

Jeszra also generates code. The underlying code generation is, for a developer, easily accessible and allows for custom tailored code generation.

Code Generation Benefits

Efficient Code Reviews

The major benefit of code generation: The developer did not write this code, she is not inclined to belief in its validity. Hence, simple code reviews are effective to locate errors inside the generated code. Errors are in-turn solved in the code generation and not inside the generated code.

Test Automation

Using code generation for the user interface makes it possible to shift most testing activities to the application logic layer. The logic layer is usually regression testable, while a Graphical User Interface never is.

Jeszra itself can play a major part during software testing, too. The created user interface is under strict introspection by Jeszra and allows for a thorough manual test with minimum effort. Even dierct automation is possible with Jeszra.

Model Based Development, Templates

Templates, designed within Jeszra, can be reused from many programming languages such as: Lisp, Python, Ruby and of course Tcl. Jeszra generates supportive classes for all these languages.

Scalable Vector Graphics, SVG with Jeszra

Further more: with Jeszra the entire Graphical User Interface can be converted into Scalable Vector Graphics. Scalable Vector Graphics may then be used as a vector graphics inside of the documentation–like within this book–, for printouts or to construct a sophisticated state of the art web application.

Scalable Vector Graphics can be imported into Jeszra– and incidentally Tcl/Tk. A typical use-case for imported Scalable Vector Graphics are scalable icons used inside a toolbar.

State of the Art Documentation, DocBook

At last: Jeszra also generates DocBook documents from the generated templates and source code.

Crafting state of the art software documentation was never simpler.