This is great – and exactly where we’re going and have been from the beginning. Note that early on we made the decision to roll our applicaiton out first, but we positioned our architecture as a (level three) platform so we can fairly easily migrate over. It won’t be without its pitfalls, but we’re not that far away. We’re already at level 1 and I would never consider level 2 (it just seems like a strange way of doing things). In my view, I want to get rVibe to level three where anyone can leverage any application that runs in our “runtime” to also be exposed via our level one API. That is going to be way cool.
Where I think Marc misses a little is in the space of configuration. He does touch on it with “easy”, but I think it needs extension. While “programming” will always be fundamental to any computer environment, I suspect that the notion of configuration (controls, IO, data selection & integration, functions and coupling without writing code) is going to be much larger. Such that while configuration may be rather technical, it’s far less technical than writing a widget of some sort in [pick your favorite language]. However, to do that and have it be something worth “programming in” is going to be very difficult.
So – couple Level 3 with user configuration of the application and then you have something that can more easily be rolled out, etc. I am not sure we’ll get to the level three (configuration model), but we are going to get to level three.