As Boris wrote, we’ve been hacking this nice little photo app demo. I will admit that I wasn’t convinced of the practical advantage of EMF and the modelled UI until I started seeing the demo come together. Now I’m a believer! Mind you, I really suspect that Ed’s been breaking into my house at night, whispering in my ear while I sleep, “EMF is good… EMF is good”. [Note to Ed: you left the fridge door open last time and the milk went sour, please take more care in the future].
The demo has now a second aspect: a tie in with CSS. Thanks Boris, Eric, and Angelo for all the help. Unfortunately this CSS’ed version isn’t available in CVS yet; we need to get Angelo Zerr’s TK-UI code, which although EPL, isn’t IP-blessed into Eclipse yet.
Last Thursday I did a presentation on e4 at the IBM Cracow lab (home to a “small, but good” group of Eclipse Team/CVS/Core/UI committers). I showed the SWTBrowserEdition demo, the EclipseCon08 “Eclipse in a web browser” demo, and finally this cool new Photo App demo.
I started by showing the model instance tree and saying, “This is what the app is, see I have this Albums view, a Preview, …” etc. and everyone nods. You run it, and, well it matches what you were expecting to see. A simple notion but really powerful, with no complex GUI builders trying to hide the truth from you (Jack Nicholson voice, “because you can’t take the truth!”). Well now you can take the truth because its simple!
I then went through the steps of modifying the model directly. “Hmmm, why does this Preview part need to be in a stack all by itself, lets move it up and out”. A simple drag and drop of the element up, followed by a delete of the now empty stack model, then run the thing again … that’s it. People start to get that quizzical “Did he just fool us?” look. Hmm, now that we’ve moved the Preview, its background color needs to change to match the app background, so lets just open up the style.css and make that change of background-color = #ffff…
And boy did they get it!
This combination of 1st class UI structural model which is easy to understand and easy to manipulate, combined with a well separated styling description, is so cool. It just makes sense (ok the web figured that out long ago, we’re a bit late to the party). Its beauty and brains together! I’m genuinely excited about the possibilities for both the ease with which we’ll be able to build apps, and their on screen sophistication. I really do believe e4 could be a whole new era for Eclipse.
Boris showed the bare bones screen cap on his blog, I will repeat it here. This is the typical “what you get for free” Eclipse experience and normally we’d stop there:

We were then quite fortunate to have the help of the always super talented Linda Watson to add her usual sophistication and artfullness to the demo, here is her design:

(click to enlarge)
Linda’s so clever, she even selected a series of artful pictures that were in a complementary color family, so looked nice together in the mockup.
This is what I ended up being able to implement. Pretty close, but sorry Linda, we’re not quite there yet technically (more on that in a future post):

(click to enlarge)
Not your typical Eclipse looking app! I find it quite outstanding the difference a talented graphic designer, plus the ability to easily implement that design, makes.
If you’re in London England on September 19 and want to find out more about e4 and see this new cool work in action, I will be doing this talk again at the first in the BCS fall Software Practice Advancement seminar series. Should be a good crowd, and there’s always pints after!