Download presentation
Presentation is loading. Please wait.
Published byJessie Riley Modified over 9 years ago
1
Using Activity Descriptions to Generate User Interfaces for ERP Software 22 nd July 2009
2
Who is Revelate? Small Independent Software Vendor, based in Geneva and Munich Developer of tailor-made business management systems. Each project requires a large amount of custom designed screens and printed reports Customers range from one person start-ups to large multi-nationals
3
The problem we’re trying to solve
4
How we handled UI development before Previously our projects required Manual layout of screens in Visual Studio Manual layout of printed reports in Crystal Reports -> Time consuming and error-prone -> Visual and user interaction consistency were hard to enforce across the development team -> Locked customer specifications into a specific technology
5
How we approached the problem Let’s generate a UI from the data model ! User interaction designer was skeptical Paper prototype of the generated user interface was tested… …it wasn’t any good Didn’t match the user’s mental model User’s regularly lost context
6
Our designer proposed a different approach Ex-nihilo design of a module (project mangement) Designed using the process described in Adam Cooper’s About Face Storyboard, paper prototype and finally interactive prototype User testing was very successful But the complexity of the UI skyrocketed
7
A typical screen from the new UI
8
Delivering the new user experience Was going to require a major investment in widget development or purchase And we had to figure out the forces behind every minor UI decision This led to analyse existant applications and identify the patterns behind them Hopefully we could figure out a way to generalize with a minimum amount of code
9
We ended up with two domain specific languages
10
DSL #1 breaks the UI down in a fairly obvious fashion
11
So the data model is straight forward
12
DSL #1 covers « simple » widgets The editable list below complete with inline editing and folding panel is entirely described in DSL #1.
13
But we wanted to generate more complex widgets…
14
…hence the birth of DSL #2
15
Everything is a projection We project an n-dimensional object space onto the x-y axis of the screen space. Forms, Lists, Pivot tables, Trees, Bar charts. These screens appear to be completely different Yet they can all display the same dataset
16
A list and a pivot table
17
A gantt chart
18
A hierarchical pivot table
19
Zooming on the data structure
20
Viewing the screen space as coordinates Provides a simple structure for client server communication. The server maintains a screen space to object space map. The server informs the client of changes to the screen space Changes on the client can be mapped to object space by the server
21
DSL #2 enabled us to generate the visual editor for DSL #1
22
Conclusion We currently use both DSL to generate complete Rich Internet Applications (using « Ajax »), as well as high quality printed reports in PDF and Excel formats. DSL 2 is still evolving. We’re still working to identify all useful interaction forces. Medium term DSL 1 will be replaced by templates using DSL 2
23
Thank you
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.