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 at 1:15 PM

comments powered by Disqus


  • Visual Studio 2019 v16.7 Ships with Better Git Integration

    Better GitHub integration and other improvements highlight the new Visual Studio 2019 Version 16.7 and first preview of v16.8.

  • Visual Studio Codespaces Private Preview Woos C++ Developers

    Microsoft announced a private preview of Visual Studio Codespaces, which eases the setup and use of cloud-powered development environments that can be used from anywhere for remote development and other scenarios, targeting C++ console app and library developers.

  • Data Prep for Machine Learning: Normalization

    Dr. James McCaffrey of Microsoft Research uses a full code sample and screenshots to show how to programmatically normalize numeric data for use in a machine learning system such as a deep neural network classifier or clustering algorithm.

  • Microsoft Intros Azure Well-Architected Framework Best Practices

    Taking a page from the Amazon Web Services (AWS) book on cloud computing platforms, Microsoft has introduced its own Azure Well-Architected Framework, providing a set of architecture best practices to help users build and deliver great solutions and improve the quality of cloud workloads.

  • Creating a Progressive Web App with Blazor WebAssembly

    Not surprisingly, it's dead easy to create an app in Blazor that runs outside of the browser window and (potentially) in an offline mode. Before you get carried away, though, there are some key design decisions to make.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events