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

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube