As PDC ramps up, I find myself meeting lots of new people, many of whom have no idea what I do for a living (I work on the Oslo project btw). I decided to take a few minutes to write this post so I can stop giving the “what is Oslo” talk one person at a time.
Here’s the deal.
We’re building “Oslo” to simplify the process of developing, deploying, and managing software. Our goal is to reduce the gap between the intention of the developer and the actual artifacts that get deployed and executed. The approach we’re taking is to move more of the definition of an application into the world of data, where we (and you) can more easily make queries as to the developer’s original intent.
Microsoft has been moving in this direction for over a decade now – you can look at things like COM type libraries, .NET metadata attributes, and XAML as moving the dial increasingly towards “writing things down” directly as data vs. encoding them into x86 or IL. From day one of the project, I have thought of Oslo as the next step in that lineage.
With Oslo, we’re doing two things:
1. We’re making it easier for people to write things down in ways that make sense for the domain they are working in – the common term for this in the wild is modeling.
2. We’re making the things people wrote down accessible to platform components during program execution.
To make #1 as fluid an experience as possible, we’ve built a language that makes it natural to express models in text, which is medium that a lot of people (especially developers) feel comfortable with. Visual design surfaces are another medium a lot of people feel comfortable with, so we’ve built a design tool for working with the same information our text-centric friends produce and consume.
Even though we’re building a new language and tool, this is very much a platform play. That is, we’re making all of that modeling information that you either typed or drew available in a relational database at runtime. We’ve been busy schematizing various platform components so that I can write a service or an application by populating that database with the definition of my app or service. Our goal is to make it possible to build real apps purely out of data. For some apps, we’ll succeed – for others, the goal is to make the transition to traditional code as natural as possible.
I’m quite happy to finally be able to give people early bits next month at PDC – as Doug says PDC is the “end of the beginning” and the real journey starts then.
Posted
Sep 06 2008, 04:33 PM
by
don-box