I returned just last night from a short trip to Redmond. While I was there, I learned some news that I wanted to share, but I wasn’t permitted to. But today the news was made public: Oslo, once destined to be a full fledged-wave of Microsoft technologies that would facilitate and promote model driven-development, is dead. The Oslo name summons Shakespearean images of King Hamlet slaying his Norwegian foe. But even without such literary context, the fall of Oslo is quite dramatic And it’s important to consider what happened, post mortem, as it were.
First let’s be clear: officially, Oslo is only two thirds dead. The final definition of Oslo was a product that would encompass a repository, a modeling tool (called Quadrant) and a modeling language, called “M.” “M” is not dead. It may be granted a reprieve. But, if you ask me, it’s still on death row. And if it survives commercially, I think it will take a different form, and might be only a minor ingredient in a much bigger recipe.
Let’s be clear about something else, too: Oslo was impressive. True, it began as a watershed initiative of the now defunct Connected Systems Division (CSD) at Microsoft, intended as complete application development paradigm shift. And, yes, it was eventually whittled down to something that was much more modest, with the CSD team that launched Oslo becoming embedded into the SQL Server team, and curating the project under the moniker SQL Server Modeling Services. That was a come down. No doubt.
But Quadrant was neat. It had this great visual design surface that generated declarative M code and, eventually, imperative T-SQL code. It possessed a kernel of something breakthrough. It delivered what in my opinion Entity Framework still has not: a tool and a syntax for expressing entities as they are, and code that expresses those entities’ concrete manifestation in the database. Nice.
So why did Oslo fail? I think for two major reasons. First, it was launched with so much fanfare, at a time when so little was built, that it developed in an amniotic fluid of hype. That encouraged the press, the market and the ecosystem to have unreasonable expectations that were impossible to live up to. And it probably caused the team to do likewise. Hyping things makes delivery goals unattainable. And the distraction of hype makes even attainable goals go unrealized. It really just sets things up for failure.
The other major reason Oslo fell short, I believe, was the innovation it actually did achieve. Oslo was developed on the presumptuous premise that business software developers would adopt it simply because it was innovative. Purist innovation isn’t a bad thing, but it’s the province of research projects, not commercial product development. CSD wasn’t MSR (Microsoft Research). And now it isn’t anything.
The best Microsoft initiatives come from product groups that are busy, work hard, and stay pretty quiet until they’re almost done. That’s what happened with Windows 7. That may well happen with Windows Phone 7 too. The best teams build and ship. The others talk and demo. It’s not the same. It’s not as good. And the market won’t accept it.
Microsoft should do some damage control on this. Consider Open Sourcing M. As Chris Woodruff tweeted, consider Open Sourcing Quadrant too. Get some community good will from the good science and innovation in the technology.
And then move on. Diligently, humbly, and with clear goals around what comes next.