# Wednesday, August 4, 2010

Microsoft has made two interesting announcements this summer: one is the WebMatrix initiative and other, made yesterday, is Visual Studio LightSwitch. Both have driven developers to the point of dogma over the role of these tools.

WebMatix, along with IIS Express and SQL Server Compact Edition, is a tool aimed at the geeky hobbyist or college kid in their dorm wanting to make a web application, or dad wanting to build a web site for the youth soccer team.  As part of WebMatrix there is ASP.NET Razor, a new streamlined ASP.net view engine, making it easier to mesh C#/VB and HTML. Let’s be clear, WebMatrix is not targeting the professional developer. To quote from Scott Gu’s blog:

If you are a professional developer who uses VS today then WebMatrix is not really aimed at you - at least not for your "day job".  You might find WebMatrix useful for quickly putting a blog on the web or doing lightweight scripting on the side.  But it isn't intended or focused on hard-core professional or enterprise development.  It is instead aimed more for people looking to learn how to program and/or who want to get a site up and running on the web without having to write much code.

Ok, glad that we cleared that up. ;) Well, the story goes on. As part of the WebMatrix stack Microsoft made some updates to the Microsoft.Data namespace. It was announced on this blog here and started a debate. One group on the blogs and Twitter, lead by Oren Eini, was very critical of the new Microsoft.Data. I can sum up the online debate like this:

Developers: Wow, are you crazy! SQL is dead, ORMs will inherit the earth. These changes should have come in .NET 2.0, not in 2010!

Microsoft: Yes we get the ORM thing. The changes to Microsoft.Data are for WebMatrix and beginning developers. If you have already used ORMs and implement best practices and patterns, great, keep going, these changes are for a different audience.

On top of all of this, yesterday, Microsoft released Visual Studio LightSwitch, beta1. LightSwitch, formally known as Kitty Hawk, is a RAD tool targeted at the non-professional developer who wants to build line of business applications.

Professional developers are like: Why do I need WebMatrix? Or LightSwitch? Some debates have even gotten downright nasty. The answer is, WebMatrix and LightSwitch are not for professional developers! (Or the changes to Microsoft.Data.)  A newbie at home or a college dorm would use WebMatrix to build a web site. A geeky guy in a corporate job would use LightSwitch to build a business application. This is a good thing.

What Microsoft is doing is building a bridge to .NET and professional development. Without any formal computer science training, I was once this target market. For example back about 18 years or so ago, I was a hobbyist hacker in my dorm room discovering PCs. (If that were me today, WebMatrix would target me, however, 18 years ago there was no web. <g>) About 16 years ago when I graduated university, I was that geeky guy in corporate who needed to build a line of business application. (If that was me today, LightSwitch would target me.)  I used Lotus Script and 1-2-3, FileMaker Pro, and Excel and Access. Eventually I taught myself some VBA and not to long after I “graduated” to VB, when VB 3.0 shipped the database compatibility layer (ok I am now dating myself!) Fast forward a few years later to VB 4.0 and 5.0 and I made the jump from a hacker geek to a professional developer. A few years later when .NET came out I was well into my professional developer career.

The problem is that there is no bridge today to .NET. Back in the mid-1990s, there was a bridge from hacker/corporate geek to professional developer: VBA. If you built some advanced formulas in Excel or some forms, reports, and database logic in Access, you would usually hit a wall and have to learn some VBA. This is in addition to your day job, you know, as financial analyst or credit adjuster. Along the way, you may realize that the coding thing is really your game, not your day job. That happened to me. Today there is no bridge and there hasn’t been for years. WebMatrix and LightSwitch are an attempt to build that bridge. I just hope that the professional developers today realize that.

Just as BMW has entry level cars, even completely different brands like Mini for one market segment, and the turbo charged hand made engine M series for another, Microsoft is segmenting the market, trying to build a bridge to .NET. I hope they succeed.

Wednesday, August 4, 2010 12:55:27 PM (Eastern Daylight Time, UTC-04:00)
I could not have said it better. I fully agree with all of your points.
Thursday, August 5, 2010 4:42:45 AM (Eastern Daylight Time, UTC-04:00)
I don't think anyone has any problem with Microsoft creating a simple beginner platform.

Most of the negative reactions to Microsoft.Data are probably due to the facts that:

a) It teaches worst practices to beginners who are probably totally unaware of the risks of SQL injection and the like. Instead implementing a simple wrapper around Linq-to-SQL or EF4 would remove these problems, would teach these newbie/beginner future developers LINQ which comes in handy as they get more and more advanced, and would make it easier to migrate the code onto using full-blown L2S or EF as the app goes from dorm-room-prototype-webapp to the next facebook/twitter/amazon/ebay.

b) They chose the name Microsoft.Data. That makes it _sound_ like a first-class citizen in the .net data access offerings. Most people's gut reaction were probably "Oh no, not another data access platform from Microsoft, before the three previous ones have been completed and stabilized.".


As for LightButton - I haven't had a chance to look at it so I have no opinion on that one (yet). But sounds from the descriptions like a next-generation replacement for Access and that would be something that is long overdue.
Thursday, August 5, 2010 11:05:50 AM (Eastern Daylight Time, UTC-04:00)
Hi, Stephen,

Microsoft *announced* LightSwitch on 8/3/2010; it won't be *released* until 2011. Beta 1 will be available to MSDN subscribers on 8/23/2010 and to others sometime thereafter.

I see a lot of negative opinion about Microsoft's decision to release LightSwitch and its target audience. Those opining about an unreleased product probably are well-advised to wait until they try it.


Comments are closed.