Should You Be Looking for Trends in Microsoft Stories?


This last week or two has seen a number of interesting stories come out of Microsoft (some official, some not official), especially as it relates to developers and writing code. While I am sure that the announcements are not meant to indicate a trend, taken in conjuction they are confusing or disheartening to developers.

First out of the gate was the announcement of WebMatrix.  WebMatrix is a new non-Visual Studio tool for building websites using ASP.NET MVC (and their new view engine) along with a standalone version of IIS and SQL Server Compact.  This tool is squarely pointed at the PHP set and wants to make things simple for people who need to just build websites quickly without all the ceremony of  ASP.NET.

Also mentioned was LightSwitch.  LightSwitch is a tool for interactively building database-driven applications that are hosted on the web or desktop. While Microsoft says:

 "With LightSwitch, developers of all skill levels will have the simplest way to build data-centric business applications for the desktop and cloud."

It is clear to me that the this new tool is aimed squarely at the small sized business or non-professional developer who just needs to get a just done; not to developers of all skill levels. Its clearly an answer to developers and professionals that built small apps using Access, FoxPro or FileMaker in the past.

These two announcements put together have been viewed with some suspicion by many Microsoft developers. While some camps out there are pushing for more structure and architecture, both of these solutions seem more suited for rapid application development solutions (RAD). Some developers seem to feel that Microsoft is trying to lower the bar on development so low that anyone can do their job. This isn't how I see these announments. Instead I see them as Microsoft attempting to reach to the full-breadth of developers out there...of all them. I don't see it as a threat to medium and large project development.

Unfortunately in the same timeframe two other annoucements (ill timed as they were) came out of Redmond: IronRuby seems to be losing Microsoft support and Quadrant (a tentpole of Microsoft's Oslo) looks like its been killed. These two stories might indicate that Microsoft is pulling away from the high-end of the developer stack.  The problem is that some developers (including me) started to look at these four stories in as a trend.  The reality is likely very different.

I probably shouldn't tell you this but there is a little secret about Microsoft that many developers seem to miss. Microsoft isn't a big company.  I know, 85K+ employees sounds like a big company.  But the reality is that Microsoft is a single HR department that services 100+ small companies.  At least that's how each of the parts of Microsoft seem to operate. While at a high level Microsoft attempts to come up with overarching themes and strategies, on a project-by-project basis, teams can be quite myopic about what they are working on (not surprising actually).

This fact was never so obvious as a back when LINQ was announced. The C# team had produced a product called LINQ2SQL because they needed a good compelling story around integrated query. Problem was that over in the Data team (under SQL Server, not under Development Division {aka DevDiv}) they were working on a larger scale solution called the Entity Framework. So about the same time Microsoft released two ORM solutions that took very different approaches. The question was asked how the two teams didn't know about each other.  In fact, like many companies, Microsoft thrives on competition so even if they had known about each other it may have been a good strategy to have both being developed in parallel.  The mistake (in my opinion) was to release both.  They should have picked a winner internally instead of confusing the community.  But that is what happens.

Next time you ask yourself, "I wonder where Microsoft is going here." Remember that it is likely not a singular vision statement that is driving every product out of Microsoft, but instead the well-intentioned work of smart guys trying to help a segment of their users or potential users. While WebMatrix and LightSwitch may feel like competition for large application development, in fact "These aren't the IDE's you are looking for." If you feel threatened by them, its likely that you aren't their audience. At the same time other stories about pulling back support for certain tooling means that they didn't find their audience. If you want them supported, tell Microsoft.  Write your angry blogs (they tend to listen to them) and contact your local Developer Evangelist and get them to escalate your feedback. Let them know how you feel...


Shawn Wildermuth
Author, Teacher, and Coach

My Courses

Building a Web App with ASP.NET Core, MVC6, EF Core, Bootstrap and Angular (updated for 2.0)
Using Visual Studio Code for ASP.NET Core Projects (new)
Implementing and Securing an API with ASP.NET Core
Building a Web App with ASP.NET Core, MVC6, EF Core and AngularJS
Building a Web App with ASP.NET5, MVC6, EF7, and AngularJS (Retired)
Best Practices in ASP.NET: Entities, Validation, and View Models
Webstorm Fundamentals
Front-End Web Development Quick Start
Lessons from Real World .NET Code Reviews
Node.js for .NET Developers

Application Name WilderBlog Environment Name Production
Application Ver Runtime Framework .NETCoreApp,Version=v2.0
App Path D:\home\site\wwwroot\ Runtime Version .NET Core 4.6.26020.03
Operating System Microsoft Windows 10.0.14393 Runtime Arch X86