Robert Wahbe and I were out on the road this week meeting with press and members of the dev community to talk more about Oslo. For those of you who have been following Oslo, the timing won’t come as a surprise: almost exactly one year ago, we announced it at the SOA BP Conference. Our goal? To make it easier to build apps using models and to break down silos of application development. That means that whether you write the user specification, write the code, or have to manage the application, the model for what the app should do is shared. Any of us that have written or managed apps know that getting everyone to think about requirements in the same way can be a huge challenge. Ultimately, for developers and others in the application lifecycle, this will mean more productivity, transparency and flexibility. For partners, it will mean more opportunities to design domain-specific apps (e.g., through the creation of DSLs, etc.).
One of the things we promised when we made that first announcement was to deliver a CTP of Oslo at the PDC – a commitment I’m very proud to say we’ll keep. In less than three weeks, the those attending the PDC will get a first-hand look at the three technologies that make up Oslo:
- A language – codenamed “M” – that helps people create and use textual domain-specific languages (DSLs) and data models
- A relational repository – that makes models available to both tools and platform components
- A tool – codenamed “Quadrant” – that helps people define and interact with models in a rich and visual manner
Now, in case those two codenames sound new; they are. While we’ve talked about both the tool and the language before, today is the first time we’ve publicly referred to them by their codenames: “Quadrant” and “M” which you’ll see reflected in the CTP packaging.
The upcoming CTP was a pretty hot topic during a conversation Robert and I had with a group of developers during dinner a few nights ago. Readers probably know some of these folks already: Shashi Raina, Don Demsak, Marc Adler, Nick Landry, Ambrose Little and Bill Zack. Across the board, these guys seem eager to get their hands on the bits to see for themselves what Oslo is all about (obviously pretty encouraging for me and the rest of the team). The language(“M”) in particular seems to be of interest, which is consistent with what we’ve been hearing over the past year. Here’s why… when we talk to developers about “Modeling” many have the same immediate reaction. They say something like “modeling isn’t for me, I’ll leave the pretty pictures to the business folks and architects. I write code and live in a text editor.”
Which is where “M” comes in. We respond by saying that modeling and writing code are not mutually exclusive, in fact, they are intertwined. “M” gives developers the ability to model applications in text rather than graphics. Nothing against graphics, we have a great tool for that too – Quadrant. “M,” will add the text component that has been missing in the industry so far.
The dinner conversation did get very engaged in a few spots, especially when we started discussing the idea of bringing business analysts and other users closer to the application via the more visual part of the equation, a.k.a. Quadrant. For instance, most people only think about having business analysts interacting in application design. Oslo will allow folks to go well beyond that – if a developer delivers a set of DSLs, an end user could potentially compose the application they need in real time. Most at the table saw the value (and business opportunities) in this, but a couple expressed some distaste at the idea of analysts and others directly interacting with an app. Makes me wonder if everyone else is as passionate about this…?
XAML was another big topic of discussion, with some lively debate over its full potential and role in the Microsoft platform as well as the ability to target other non-MSFT runtimes.
I’ll be talking about all of these areas in more detail over the next couple of weeks. In the meantime, only about 17 days to go until that Oslo CTP is available…