Redmond Diary

By Andrew J. Brust

Blog archive

So Long Oslo, We Hardly Knew Ye

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 a 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.

Posted by Andrew J. Brust on 09/24/2010


comments powered by Disqus

Featured

  • Uno Platform Helps Ship First Stable SkiaSharp 4.0 Release for 2D .NET Graphics

    SkiaSharp 4.148.0 is the first stable v4 release, bringing a newer Skia engine, API cleanup, performance work and a Microsoft-Uno co-maintenance model.

  • Spring AI 2.0 Goes GA, Giving Java Developers a More Mature AI App Stack

    Spring AI 2.0 advances the Java framework for generative AI apps with a Spring Boot 4 baseline, cleaner agentic tooling, Model Context Protocol support and vendor-backed integrations including Azure Cosmos DB.

  • Kubernetes for Developers

    Microsoft's Dan Wahlin previews his introductory "Kubernetes for Developers" session at Visual Studio Live! San Diego 2026, explaining how developers can get past the Kubernetes learning curve by starting locally, mastering Pods first, and using Services to make containerized applications reliably accessible.

  • VS Code Keeps Eye on Costs in v1.126 Update

    Visual Studio Code 1.126 adds session-level Copilot cost information, continuing Microsoft's recent focus on helping developers monitor and manage usage-based GitHub Copilot billing.

Subscribe on YouTube