[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [e4-dev] Important e4 call reminder | 
Tom Schindl wrote:
Because I'm unsure whether I can attend the call tomorrow I'm sending
out this via mail.
Inspired by Tom, I would like to elaborate on my interests, which is UI 
development based on modeling technologies.
I see the current e4 as a very interesting prototype, with many 
interesting aspects and techniques. At some point (now?) we should try 
to be explicit about what we've learned, what we believe in and converge 
on what should be the future direction. E.g. if our experience shows 
that EMF is a solid foundation, I think we should discuss if and how to 
utilize it more broadly, rather than for some parts here and there.
Many issues are difficult to discuss, because we don't have the 
necessary knowledge (or time to gain it) of each others work. E.g. I 
think the renderers for TM and the modeled workbench essentially try to 
solve the same problem, but we haven't had time to learn from each other.
Although we have demos that showcase what various components provide, 
I'm not sure what they actually prove. E.g. TM and XWT seem very similar 
(at the webinar yesterday someone asked why e4 includes both) and the 
demo shows that XWT is more mature. But the interesting thing is the 
difference, e.g. how EMF and XML compares.
What have I learned from TM (so far):
- Using EMF works well and saves time, both for modeling and 
implementing tools. I'm confident EMF is a good choice.
- The rendering mechanism wasn't that hard to make, and the use of model 
annotations to drive the renderer shows potential. I think I have 
managed to make a good separation between the general rendering strategy 
and the widget-specific parts.
- Scalability of the renderer is an issue, both resources (time and 
memory) as model instances become large, and complexity, as the model grows.
- Although I have recently (after 0.9) added a simple styling model, it 
is in general difficult to handle the process of (in)validating (notice 
an important change) and (re)styling (which parts should be refreshed) 
cleanly and efficiently.
- I've explored several ways of making TM extensible, with different 
levels of power and complexity.
- Scripting provides great flexibility in two ways: 1) the underlying 
Java-objects can be given extra methods when used as Javascript objects, 
and 2) with scripts as part of the model, a lot more of the UI can be 
customized with simple means.
- Without better editor and debugging support, using Javascript is a lot 
of trial and error.
- There's a big extra benefit when using EMF for the application's data 
model, because it simplifies integrating with the UI and the scripting 
support can be used for the application data.
In general, I'm sure I could learn a lot from the experience with the 
modeled workbench design and implementation.
Things I commit my personal time to work to:
--------------------------------------------
- more complete coverage of widgets, particularly trees and tables
- integrate 2d graphics (I have an SWT-specific version of Piccolo 
running, and a renderer for basic scene-graph nodes like rectangles, 
polylines, text and image)
- implement a more complete demo, e.g. the contacts demo
- explore how CDO can be used for managing shared UIs
Things I would work on if I have time (money isn't an issue, but I would 
like the work to lead to academic publications, which is "money" in my 
"business"):
--------------------------------------------------
- integration with the modeled workbench, and learning from their experience
- better support for editing and debugging Javascript
- an Ajax renderer
I hope we can find time to discuss these issues, in the mailing 
list/wiki/bugzilla and at ESE.
Hallvard