Microsoft LightSwitch: a Squier which will never be a Fender

Yesterday, Microsoft announced a new Visual Studio tool: Microsoft LightSwitch. LightSwitch is a tool which allows you to create Line of Business (LoB) applications by using a visual tool, similar to Microsoft Access, although LightSwitch can also produce applications for the web and can pull data from various sources instead of its own build-in database.

Large companies like Microsoft develop many products which will never see the light of day or will die in the first weeks after being released, that's life. A successful product has to appeal to a large enough audience and that audience has to be willing to pay money for the product (if it costs money), otherwise the market for the product is too small, it won't bring in enough money to cover the development costs and things will go rough from there. It doesn't have to be that a product directly generates money; it can be it generates money indirectly, for example because it stimulates its users to purchase additional products which cost more money and are from the same company, e.g. services, support, add-ons. Give a guy a car and he'll come back every day for gas.

What puzzles me with LightSwitch is: what's the target audience? Who is supposed to use this tool instead of another tool? Is this a tool to sell more Sharepoint licenses, more Azure licenses? I have no idea. The main problem is that there's some friction in the image of LightSwitch. Microsoft says LightSwitch is aimed at the tech-savvy non-developer who wants to create a LoB application without needing to hire a truck full of professional developers. In short: a tool for an amateur who wants to 'Do It Him/Herself'. The friction is in the level of knowledge a person apparently has to have: what's a database, what's a table, what's an entity, what's a screen, what's validation etc.. So is it really an amateur tool for amateurs or is it an amateur tool for professionals?

The 'Do It Yourself' remark is familiar: a lot of people try to fix things around the house themselves before they call in the pro's, and sometimes they even succeed wonderfully. These 'do-it-yourself' people buy off-the-shelve cheap powertools to help them with the job and if you close your eyes a bit, the end result looks OK, as if a professional did the work. However, how many of those 'do-it-yourself' people will successfully install a full electrical circuit in the house, or create a new bathroom, with bath, plumbing, fancy mirrors etc.? Not many, they'll call the professionals, who have different tools and different skills and don't create a dangerous train-wreck.

I didn't want to compare LightSwitch to an el-cheapo power-drill, so I have chosen a different metaphore: an electrical guitar. A beginner will buy a beginner's guitar. A professional will buy a professional's guitar. Let's look at two brand examples: Squier and Fender. Squier is a brand from Fender actually and under that brand, Fender sells el-cheapo knock-offs of its expensive equipment, like the telecaster and the stratocaster. A Squier stratocaster costs below 200 euros, a Fender USA made stratocaster costs 1400+ euros. Why's that? They both have 6 strings, pick-ups (the 'elements' below the strings) and produce sound, and look almost the same: what's the difference?

As an amateur rock-guitarist, I can only try to describe the difference, but I hope it will show you what I mean. I played on el-cheapo guitars for some time, maybe 2 years or so, and one day I was offered to play a couple of hours on a real Fender telecaster (which costs over 1300 euros). I still can't believe the difference in sound that guitar made. It played like a dream, the sustain (the time a note continues to sound) was endless, the pickups were able to produce much deeper sound than I had ever heard from my el-cheapo's. Did it make my own compositions at that time sound better (warmth, depth)? Yes absolutely. Did it make my compositions better? No. Did it make me a better guitar player? No.

An amateur guitarist will sound like an amateur guitarist, no matter the equipment. A professional guitarist will sound like a professional, no matter the equipment. Don't make the mistake that by using a more expensive guitar you suddenly are Jeff Kollman of Cosmosquad (one of the best guitarists in the world, see below): the notes you'll play perhaps sound better, but the overall music will still be at the amateur level.

Microsoft LightSwitch is a tool for amateurs to produce stuff amateurs will produce. It's a mistake to think the stuff produced with LightSwitch will be usable by professional developers later on to extend it / maintain it or will appeal to professionals. See LightSwitch as that el-cheapo Squier Telecaster: it looks like a real Fender Telecaster guitar, it produces guitar sound, but a professional will choose for the real deal, for reasons a professional understands. Is that bad or arrogant? No: a professional is a professional and knows his/her field and has skills an amateur doesn't have and therefore doesn't understand. In these videos on Youtube (Part 1 | Part 2) (12 minutes combined) Jeff Kollman / Cosmosquad is interviewed and plays a Fender Telecaster in a custom tuning. It's very advanced stuff, but it shows what a professional can do with a tool for professionals.

In guitar-land things are pretty much settled down, amateurs use amateur material/tools, professionals use professional material/tools. In developer-land, let's see it the same way. The only fear I have is that in a few years time, the world is 'blessed' with applications created by amateurs using a tool meant for amateurs and us professionals have to 'fix the problems'. You can't bend a Squier to become a Fender, it will stay a Squier: amateurs of the world, please do realize that.

21 Comments

  • VS Light Switch is a shot at Oracle Apex!

    Apex was Oracle's answer to departments that use MS Access to create one off or simple LoB applications.

    E.g. a HR department needs to register job applicants and their C.V.-s. This is a local business need. Their existing ERP/CRM package is not able to handle this, so they created an Access Database for this task.

    The problem with MS Access applications is the fact that they are lousy to maintain.
    Apex is a web application so it's much easier to maintain. Just publish a new version to the web and everyone is up to date.

    I see Light Switch as a 'Nouveau Access' GUI generator/creator.
    It gives MS the ability to compete with products like Oracle Apex, Google Apps and even PHP MyAdmin. These competitors are slowly nibbling away at MS Access/Excel market share
    with their web based tools.

    The HR department could very well use Google Docs/Sheet to register their job applicants.
    If a DBA/developer in their company has Oracle DB or PL/SQL experience, then they may use Apex.
    But Light Switch provides these 'tech-savvy' non developers an alternative.

    I also don't think it's fair to say that Light Switch is simply for amateurs.
    I see LS as a productivity boost!

    Why waste your time developing/testing/maintaining a framework for your application if MS wants to do the work for you?

    Am I an amateur if I end up using LS?
    Am I also an amateur because I choose to use LLBL-gen as a core framework for my product?
    Am I also an amateur because I use the ASP.NET framework to develop my Web Apps on?

    I see Light Switch as a Framework, just like any other framework out there.

  • I thought that tool vendors like Solutions Design

    would be happy with a tool/framework like Light Switch.

    Light Switch may provide the ability for you to create a fully working LLBL-gen application just by pressing 'Generate'.

    I know that you provide templates that can already to this, but why not provide a LS alternative?

    This way you no longer have to maintain your templates and provide bug fixes.

    I *HOPE* that LS will offer the ability to work on Entity Models like EF and third party models like LLBL-gen.

    With some extensibility hooks in place, we can simply reuse our existing LLBL-gen code and create a slick looking fully functional desktop/web application in LS.

    PS: The LS interface looks slick, but maybe a little too 'Office Blue'. Lets hope that you can re-skin it :D

  • If the FoxPro comments are an indication of the original intent, then the audience would be those people who have developed an in-depth knowledge of a field of business, and who can pick up the idea of a database, a table, a relation, validation, etc. in a very short amount of time (that's what I take tech-savvy to mean).  And on that count, LightSwitch misses its target, being too amateurish on the one hand (over 2 years in development and no visual designer - duh) and requiring too much irrelevant learning (C# or VB.Net) to get the job done, on the other hand.  The stated intent was right on.  The implementation, at least V1, fails.  Your comments about it being an amateurish tool are right on.

  • I read your post a second time
    and I think that Light Switch is a
    productivity tool not an amateur tool.

    It boosts the productivity of professionals,
    but also enables the amateurs to go nuts :D

    I know didly squat about guitars, but I think
    Light Switch is your Fender Telecaster that needs
    proper tuning. And only a professional can properly tune it.

  • Great post! I agree wholeheartedly. But while reading your post, I was struck by another idea.

    Back when I played a junk fender-clone no-name starter guitar, I had a friend who was an exceptional musician who picked it up and did some of the most amazing things with it....

    This isn't directly relevant to your point, just something that I see manifest in coding world from time to time too.

  • CodeSniper: But would the exceptional musician choose to use the junk fender-clone for making music in his own band? Microsoft seems to think he'll love it :)

  • Microsoft has done this sort of thing since 1994. There was a time when MS Access was king - the first decent Windows DB that could be programmed in VB. It had Win based data access before VB3 came out. And it was a revolutionary product at the time. Not many years later they turned it into a stuffed pig. And forever MS Marketing would say hobbyist can use Access to get started and devs can finish it. WebMatrix is another one of those things. I dont know why the company doesn't learn. Wonder if market saturation has something to do with that. Are we getting many new devs using VS? Or is that thought of the same way as Java - something that only "big" companies use. The more things change the more they stay the same.....

  • As a guitarist myself, and Fender Stratocaster owner, I completely agree.

    But there are some people who enjoy to play with the Squier, because they can't afford a Fender.

    There are surely mid-market people who can start building cheap application with Light Switch. And there are tons of Access Application waiting to move to the Cloud...

  • Sure does sound a lot like Access

  • The critical rush to judgment here and lack of critical thinking and honest and accurate evaluation is astounding. It's understandable from a certain point of view but if we take this line of thinking to its end, we end up with the only real professional developers using EMACS to assembly language.

  • @Tyler

    You don't know what I've seen of LightSwitch.

  • @Frans: if you've seen more, then how could you be so wrong on the facts with what the rest of us have seen? How could you have jumped to conclusions that contradict what the rest of us have seen? Why would you attack me on Ayende's blog and make more factually inaccurate statements claiming I'd said the same thing on your blog when anyone can check that out and discover that you lied? I'm taking you off my RSS list. I used to respect you. No longer.

  • @Tyler

    WTF are you talking about? I have seen it and I can only conclude what I wrote in my blogpost. I'm sorry but if you disagree with me, that's OK, but I fail to see why I can't conclude what I saw if so many (on private mailinglists for example) have the same conclusion. And I'm not a newbie in softwareland, I write software for many many years professionally.

    About the remark: I recognized sentences on the other blog in your reply there, which I found a little funny, that's all. If you now don't respect me, that's OK. If someone loses his/her respect for you because you have a different opinion, what was that respect worth?

  • It all depends on the implementation, of course. But the idea of an Access-like program written in and compatible with .Net is a good one. All of Office should be rewritten on top of .Net. And VBA needs to go away.

  • Wow Tyler, don't get your panties in a bunch and don't let the door hit you on the way out.

  • Thanks for the intro to Jeff Kollman. Great tip! Oh ... and LightSwitch? Why ruin the good vibe I've got going listening to Kollman as I type this :-)

  • @Tyler:
    I wasn't offended, I'm used to the idea of people not agreeing with me all the time, that's perfectly fine. I was just a little sad about you getting the idea that I'm not thinking this through.

    The problem with these tools are the same as all the other tools released in the past which promised the same thing and actually tried to fill the same gap in the market. I've seen (and used) many of these tools, and often (not always) they were really not worth using. In other cases, they were OK for the limited scope of the segment of applications one can create and rarely they even contained very clever things, like 'Magic' did in the '90-ies.

    In the past 16 years I'm now a professional developer, I've learned that our profession is degraded from the inside out by individuals who think they can create great software but actually can't create anything worth using, however they claim they can and charge their customers accordingly. I hate that. I really don't mind if an amateur wants to try to take a stab at creating a piece of software, I also sometimes try to fix some woodwork around the house or solder some wires together, no problem. The gripe I have with these tools is that they leak into the professional arena where they will create a lot of crap in the hands of aforementioned individuals, as they're now helped a bit more to hide their shortcomings. Unfortunately not well enough. That's not pessimism, that's a lesson learned from the past with all the predecessors of these tools.

    One might think I'm an arrogant elitist who can't stand the new kid on the block with a new toy. I'm not, I know better: software development isn't about tools and languages, it's about why you use them and what for you use them. A tool like LightSwitch wont make the lamers among the software developers all of a sudden capable of creating software, nor will it give amateurs the functionality to bypass software developers to create what they want. That's utopia which has been sold for over 30 years, and it never came through. Not because the ISVs creating these tools were not good enough, but because software development is too hard, too complex to stick it into some box with 4 shiny buttons which you can press to get the app you want.

  • If you look at the past, dbase II opened up a whole new avenue in development that culminated in Visual Foxpro 9. At the same time, C and eventually C++ became the defacto language to develop commercial software.

    Xbase and xbase like products ruled, Dbase, Foxpro and Clipper for most tailored buisness applications.

    Now, we have this same birth occuring with the web where the complexities and maintainability of system based on C#, Java, Javascript, PHP, Perl, or python have made it way too expensive for many smaller tailored applications to occur.

    Yes, most C programmers think anything other than C is amatuer stuff. While I think anything other than forth is the same.

    It's nice to be a web builder and make a lot of money doing it because it's so complicated and only those in the know can do it. But, the world is waiting for something other than frameworks and endless badly written documentation on them in order to do the simpliest of thing, get data from a file into the screen, massage it, and put it back to the file.

    Lightswitch is framed in that direction. However I don't trust MS to make it an independent product that doesn't require a lot of dependencies upon their other products and their big brother mentality.

    The dam is about to break and it's going to be dBase II all over again. So, if you think like the old cobol programs of the past, your going to be run over by this change because the tactics they used to stay in place aren't going to work here.

  • Great guitar metaphor Frans. Any busted strings were well commented on here as well.

  • Fran, your just wrong. How many professionals can contruct a multi-tier that will run on the desktop and the web with all the features of LightSwitch? Not many can do a proper job. How many professional understand the MVVM pattern? The applications that are produced by LightSwitch have an advanced architecture and can be further developed using Visual Studio 2010. This not your fathers two tier fat client. Better bone up on your architecture.

  • I'm old enough - retiring this year I hope - to remember being told that Cobol was going to make programmers redundant, because users would write their own programs in this simple english-like language. I'll be surprised if Lightswitch lasts anywhere as long as Cobol has, and even more surpised if it leads to any programmers losing their jobs.

Comments have been disabled for this content.