Microsoft.Data.dll and LightSwitch

Microsoft has made some announcements over the last week or so.  The first was Microsoft.Data.dll.  I think that Oren adequately wraps up the feelings that I have towards it.

The second was the announcement of Visual Studio LightSwitch.  I have some strong feelings for this as well.  Microsoft is positioning this as a tool that allows non-professional developers create line of business (LoB) applications.  They suggest that it will allow these non-developers to create applications that can be handed off to IT for maintenance and further enhancement.  Since LightSwitch isn’t really Visual Studio, the IT group will have to upgrade the application codebase.  Does this sound like anything to you’ve ever heard of before?

While Microsoft won’t come out and say it, LightSwitch is positioned to fill the space that MS Access has for more than a decade.  During that decade plus IT departments and programmers world wide have grown to loathe MS Access application created by business.  Invariably those MS Access systems start live as small intra-department apps that service one to a few users.  Over time their feature set grows along with their user base.  At some point these LoB applications hit an invisible wall.  Sometimes it’s that the system has devolved into a mess of macros and VBA.  Other times they have collapsed under the pressures of concurrent users.  Regardless, the developers that take over these applications are met with a brownfield mess.  On top of that, the application has likely grown into a brownfield application that is critical to the business.  We professional developers end up picking up the pieces and, often, re-writing the application from scratch, under huge timeline pressure, so that it can meet the requirements and specifications that it has grown to need.

So back to LightSwitch.  Why is Microsoft pitching what this product is good at to us professional developers?  They say it’s not for us, but instead for non-professional developers.  Market it to them then.  Don’t waste our time with this marketing campaign.  Instead Microsoft, sell us on the part we’re going to have to deal with; the migration and fixing once these “LightSwitch” applications when the business inevitably comes running to us to do this.

To the professional developers that read this blog (most of you I’m guessing), prepare to move your hatred and loathing from MS Access to LightSwitch.

Posted By: Donald Belcham

Published at

Comments

johnm
08/04/2010 07:21 PM by
johnm

I agree that MS Access apps can often go beyond their intitial vision but I don't agree with your assessement that LightSwitch is more of the same. When you need a very focused inter-company tool how do you create it quickly? MS Access it the usual answer but if Lightswitch generates C# code (as they say it does) then it can easily scale beyond the RAD framework.

administrator
08/04/2010 08:31 PM by
administrator

John: LightSwitch is going to generate most of the code so that non-professionals can build these apps. The simple fact it is generating C# isn't going to allow a RAD app to scale easily or quickly. The quality of the code generated is going to dictate this.

For example, will LightSwitch generate code that make extensive use of interfaces? What about good design practices such as logical layering, single responsibility, etc? Chances are it won't.

The result is that migrating code from LightSwitch to 'good .NET' is going to be painful, tedious and time consuming....just like it was with MS Access.

Scott
08/23/2010 03:48 PM by
Scott

This is a real head scratcher. MS just came out with a new and highly enhanced MS Access 2010. MS has expanded the Access Dev team and insist Access will continue to grow. Lightswitch does not appear to connect to Access DB, so maybe this is a replacement.

Scott

Naser
09/03/2010 11:08 AM by
Naser

Hi. I think lightswitch is a good tool for both non-professional and professional developers for building simple applications , but just professional developers will be able to extend and migrate this simple applications in order producing a complex App.

FosterAF
09/13/2010 10:35 AM by
FosterAF

In my own system, I find that my code templates generate more architecturally sound code than what I could accomplish by hand. (eg all of my classes have interfaces and i use those interfaces for all methods so I can basically infinately override everything at design or runtime)

Access is access, it's not an extensible architecture, lightswitch generates c# code that can access anything .net can offer up (with adapters)

I'm not promoting lightswitch, I have no affiliation wit it or M$, but it's a different thing than maybe what it looks like at first glance, the fact that users will store their code inside of models means they can address these kinds of technical concerns with new templates and regenerate applications, all without a coding engineer.

MDA will shift development practices because it better supports agile, which the decision makers seem to love - lightswitch shows the architecture development based model of: prototyping UI over architecture models -> generate protocode -> find user value -> reproduce with production code - if LS is not successful, other products will come and figure out how to succeed where lightswitch left off. If lightswitch is successful, it will support the first two steps and later supplant the 3rd starting with "outsourced quality" code and growing to "enterprise quality" code.

Computers were made to follow patterns; quality code is made by following patterns; UIs are generally difficult to generate for needs of everyone, but html and xaml change the paradigm of dynamicity from winforms and access.

Frases
02/04/2011 08:19 PM by
Frases

Visual Studio Lightswich kicks ass :)