OSLO Video Comments: Customizing and Extending the Visual Design Experience
So here's my comments on the second video, Customizing and Extending the Visual Design Experience
. Notice that the comments really are based on just watching the videos, not on working or playing with anything.
I guess the stuff isn't really finished yet, but if Microsoft continues down this road, this stuff will be *very* interesting.
Also, if you're an Eclipse E4 person: take a look at this stuff - this is very related!
Based on Videos - didn't work with tool!
E4 - look at that!
So here we go.
Don Box calls stuff "Data Driven". That sounds more like I would call what they do...
Don Box, as well as Doug Purdy in the previous video, always talk about data being "dynamic and transparent" vs. code being "opaque and static"... what does that mean?
MS wants to get to a world where "software is data"... I wonder what the Lispers and generally, the dynamic languages guys will say about this. I also think this not quite the right focus. Models are about the "right" abstraction level... it doesn't really matter whether you interpret or generate... this depends on a number of non-functional requirements... Imagine running a data driven app (with an SQL server as a repository :-)) on an embedded device... I do agree that "data driven" is a good idea for many enterprisey apps, but it is not the right approach for all kinds of systems. Models - I think - *are* the right approach for all kinds of systems. It's just the question what you do with the code: interpret, or generate?
Hehe, the property form he shows on the canvas really does remind me of Naked Objects now :-)
The Quadrant stuff really does look very nice....
Now he shows a diagram right inside the workspace... Nice, but not overwhelming... Wow, now he nests the property view inside the tree. Nice -- but you'll run out of real estate quickly. I wonder whether they can also embed an editor for a textual DSL inside Quadrant, imaging some calculation rules as part of the data, you want to show them as text, with a nice editor, right inside Quadrant.
Looking at quadrant as he shows it, yes, it looks like an efficient way to interact with data. But I see now real consistent "language" yet. Maybe that's not the intent, but that's what I'd like to see.
Ok, becomes more interesting ... they now have a workflow diagram right inside the workspace. You can of course also author it directly in the workspace. Nice!
Question is, of course, if I want to build my own (graphical) languaga and want to integrate that into Quadrant, do I do this with "regular code", or with DSLs, too? (I guess, the latter, since they said previously that the tool itself id "data driven")
Florian mentions something quite interesting. And that is, that once *everything* is a model you can connect everything. For example, if implementation artifacts are models, and requirements ("goals") are also models, you can easily trace between these different things. Janos Stipanovits mentioned a similar potential for integration: software architecture and systems engineering.... very nice :-)
Ok, Don says it again .... Quadrant itself is Model-Driven. Nice!
Ok ... now they will show how "the data drives the tool" and how to customize it. Now it becomes interesting :-)
Flovo shows a diagram that is basically a "meta model" ... and ... he says they will integrate Intellipad into the Quadrant workspace. Cool!
He now shows the way how to customize the tool.... nice, completely reflective. And it updates in real time, no recompilation or redeployment. Everything is dynamic. Nice.
Sorry to repeat myself, but it's really a bit like "Naked Models" :-)
They repeatedly say "Smalltalk-like" ... interesting.
They use LINQ inside the tool to define queries from which to build diagrams and stuff.
Still seems quite simplistic how the define the diagrams via queries. But I guess this can be improved over time.
Ok, they prove that the tool itself is model-driven by changing the underlying models that describe the UI... and the UI changes. Really pretty much like Smalltalk :-) And the E4 guys could take a look, too!
cool -- they now show how the tool is built via the tool itself by changing some of the buttons by chaning model data.
Very nice - they were changing the data in the model that describes the ribbons, they used the usual table/form notation for that; then they changed the presentation, and they now have the ribbon display *in the editor*, directly in place. Cool :-)
Labels: eclipse, openarchitectureware