Why I Believe Visual Studio LightSwitch will be a Win

In my career, I’ve worked with several Microsoft products which failed.   Sometimes you have a sense early on that a product will be a Fail.   Other times the product’s future initially looks promising but due to development delays and changing market conditions the product becomes a Fail.

I’ve been checking out Visual Studio LightSwitch the past couple months and believe it has a bright future.

This article discusses an earlier Microsoft product which LightSwitch takes a lot of ideas from and why I think Microsoft is getting it right this time.

Awareness

When I first read about LightSwitch, it caught my attention because of my experience in developing business applications and working with business application frameworks. Its goal of giving the user rapid application development, the ability to connect to multiple data sources and its support to multiple deployment environments differentiate it from other tools I’ve worked with in the past.

What really piqued my interest is seeing familiar faces and names on the Channel 9 videos and in the LightSwitch Developer’s forum. Some of these folks have been in the business application development ecosystem for a couple decades. They bring a wide and deep experience of knowing what works, and more importantly, knowing what fails.

First Steps

I downloaded and explored the example applications.

I listened to the How Do I videos and read through the Q & A on the LightSwitch Developer Center Forum.

I read some great blog postings by Michael Washington showing the ease of developing a Student Information System application using LightSwitch.

Forming an Opinion

I haven’t seen a development tool quite like LightSwitch.

Developers often speak of code smells in discussing code that doesn’t look right, which hint at deeper problems in the design of the code.

Well, I also think there are product smells. Product smells are what your intuition tells you about new product development and the sense of whether the product will become a Win or Fail.

Microsoft has had its share of developments and early release products with a ‘product smell’.

Let me give you some examples from my personal experience with Microsoft projects which were Fails. With the context established of products which failed, I’ll discuss why I think LightSwitch will be a Win.

Fifteen years ago I worked in a development group responsible for creating server management software. The company sent me to attend a vendor only conference in Redmond where Microsoft showed early bits of “OLE Management Framework”. (Hey, this was a before Microsoft decided to rename Object Linking and Embedding to COM.) That framework never saw the light of day. Parts of it may have morphed to become part of WMI, but it I saw no more of the OLE Management Framework. In my opinion, the market was not ready for that framework. The developer community had not embraced ‘OLE interfaces’ and Windows servers were not widely deployed in the enterprise. Companies had little incentive to develop management applications on top of such of a framework.

I’m sure we can all name some Microsoft projects which “had the smell”: Bob, Clippy, and most recently Microsoft Kin.

Microsoft has had a number of product and framework developments which died a slow death. There are a number of examples of projects which initially appeared to have a bright future, but after months of development, the company stopped work on the project and the bits and IP morphed into other products and product teams.

Some examples which come to mind are WinFS, Oslo and Project Quadrant, and one, which for me, hit close to home– MBF (Microsoft Business Frameworks)

LightSwitch appears different than these Failed projects.  I believe it has the potential to be a wildly successful product. Let me explain more why I believe this.

I use to work on the Microsoft Business Framework team.

In 2001, due to the investments which Microsoft was making at the time in the Business division and the MBF project, MBF appeared to have a great future. Microsoft spent millions of dollars to acquire several companies, Great Plains, Navision, and Solomon, with the intention of consolidating their business applications into one framework and one application.

Let me state my case using some clips from a news article  made in 2002:

“Microsoft is in for the long haul as far as its business applications are concerned with a 10-year development plan and a new Microsoft Business Framework to support the basket of disparate applications offered under the Microsoft Business Solutions banner. ….
The expanding technology stack is part of Microsoft Business Solutions’ goal to provide end-to-end software support for the SME business sector via an integrated application platform, and attempts to address the issue of how the division will manage and integrate its disparate mix of applications which include those from Great Plains and Navision plus its own home-grown offerings. With this proto-framework Microsoft is aiming to change the perception of what constitutes the base for an application platform, said Edwards.

If there were any doubts over how big an effort Microsoft planned to make in the applications mid-market they are rapidly being dispelled. The division has been identified as one of the seven pillars of the wider Microsoft business and while it only produces revenue of $0.5bn at the moment, a paltry sum compared to that of some of Microsoft’s other divisions, the goal is to be generating revenue of $10bn in 10 years time. Edwards says the strategy is a 10-year gamble aimed at getting mid-market companies connected…..”

I remember the mantra $10 billion in 10 years very well. With so much investment made in creating the new division and creating product teams, who was I to argue otherwise in 2002?

A few years later it was a different environment:

From a news article in 2005:

“… Microsoft Business Framework (MBF) is no more.

The new strategy is to make the various technologies that were to comprise MBS available as part of a variety of other currently shipping and soon-to-be-delivered Microsoft products.

On Tuesday, Microsoft announced internally that it had reassigned the couple hundred MBF team members to other product teams, primarily the Visual Studio and Dynamics units, inside the company. Microsoft officials made the company’s decision public on Wednesday.

MBF was to be a set of developer tools and software classes designed to ride atop the Microsoft .Net framework. MBF was developed primarily by Great Plains Software team, which Microsoft acquired in 2001. Microsoft was working to build a number of its products — including the Microsoft Business Portal, the next version of its Visual Studio .Net tool suite and its “Project Green” wave of ERP/CRM products — all on top of the MBF layer.

When Microsoft decided in August, 2004 to remove the Windows File System (WinFS) functionality from Windows Longhorn/Vista and Longhorn Server, MBF was one of the casualties
. At that point, Microsoft refused to pin a delivery-date target on either WinFS or MBF.

As of April this year, however, Microsoft officials revealed that their plan was still to deliver MBF as a standalone set of classes and libraries. Microsoft had delivered one MBF test build to about 40 customers and software developers who were experimenting with the bits. Microsoft’s goal was to deliver the final MBF framework toward the end of 2007, Darren Laybourn, general manager of MBF, told eWEEK.”

Why It’s Different This Time

I don’t think LightSwitch has a future of dimming out like MBF.

Firstly, there’s a market need for a tool like LightSwitch. This market need will drive adoption as more developers and business analysts become aware of how cost effectively they can create business applications.

The business application ecosystem needs a tool which removes the need for non-programmer Business Analysts to construct an application without requiring a deep knowledge about n-tier development, T-SQL commands, and application plumbing construction.

But, that tool needs to provide extensibility points to allow programmers to hook into the tool for custom models and to add out of box functionality. For example, a business application generator needs to allow a programmer hooks to use other .NET frameworks like Work Flow Foundation to add in functionality that’s not in the delivered product.

If Microsoft has learned anything since 2002 about the business application space, it’s that it continues to be a fragmented market and the needs of different businesses make a single solution hard to implement. After a decade, the company still has three business products—Dynamics SL, Dynamics GP, and Axapta. Ease of use coupled with extensibility points is key to the success of a product to build business applications.

Unlike MBF, LightSwitch has a growing and vibrant user community in its Beta 1 release. MBF bits were not released to the developer community, there were no online tutorials and public facing technical evangelists.

LightSwitch is providing many of the concepts which MBF evangelized back in 2002, which is why I think the LightSwitch team “gets it”.

Let me point out a few slides from a PDC 2003 presentation.

Developing Business Applications Using the Microsoft Business Framework Overview DAT340.ppt

clip_image001

clip_image002

clip_image003

clip_image004

clip_image005

Hmm… Data Entities, Entity Validation, Business Logic Abstraction, Persistent Object Data Abstraction (as in data source connections of external databases, Sharepoint, or WCF RIA Services?)

With little editing, these eight year old slides could be used today in a LightSwitch presentation.

The legacy MBF experience sure appears to be reemerging into LightSwitch.

This may well be in part because some prominent members of the LightSwitch team worked on MBF and Dynamics GP.

I mentioned earlier in this posting about the experience of the people behind LightSwitch and why it piqued my interest when I first learned about it.

Steve Anonsen and Dan Seefelt are members of the LightSwitch team. Both were key members of the Dynamics Great Plains product development and later, MBF. It certainly appears they are bringing their decades of experience of what works and what doesn’t work in business application development to LightSwitch.

Steve and Dan are very activity in the LightSwitch forum, quickly answering early adopter’s questions.

In the video Inside LightSwitch, you can watch Steve give an overview of LightSwitch architecture.

Summary

So those are a few of my opinions, with a basis of forming those opinions, of why I believe LightSwitch has the potential to ‘knock it out of the ball park’ for business application product development. This is why I’m investing some of my free time to kick the tires on the early bits and become an early adopter.

I’m curious to hear your comments.

Do you think LightSwitch has the potential to be successful like Visual FoxPro or will early adopters be the last ones out to turn off the lights?

This entry was posted in LightSwitch. Bookmark the permalink.

28 Responses to Why I Believe Visual Studio LightSwitch will be a Win

  1. Pingback: Tweets that mention Why I Believe Visual Studio LightSwitch will be a Win | Dan Moyer's Blog -- Topsy.com

  2. N. Davenport says:

    I have yet to form an ‘official’ opinion regarding the future of MS VS LightSwitch, but it looks promising, and I’m excited to see how the developer community embraces this. Like similar (though less adequate) tools, there is a definite need for this. Though, in my opinion, it all hangs in the publicity that LS is getting. How much is Microsoft pushing for this? Are they doing their fair share of marketting for it in the way that they have aggressively pushed other products, such as SharePoint?

  3. Dan says:

    Good points… I think MSFT is starting the evangelism train. Beth Massi just published an article in Code Magazine, http://bit.ly/fc5fou. I believe she has been in the user groups to give talks as well as a conference in Europe last fall to make LightSwitch presentations.

    MSFT is making the bits available for download and as part of Visual Studio. The fact it will become part of Visual Studio will put it in front of developers.

    Sure MS is aggressively pushing Sharepoint. But also consider Sharepoint is now 10+ year old product. My first use of Sharepoint was with MBF / Business Portal in 2002. I believe Business Portal is one of the few products which still use MBF.

    One of the cool points about LS is the commitment to connect to Sharepoint as one of its data sources. I’m not aware of anyone that’s actually done that yet, but I don’t think it’ll be long before you see the LS product team or some early adopter show a demo.

  4. Lloyd S. Derbyshire says:

    Thanks for this great background piece Dan.

    You mention Visual FoxPro but I think you should also mention Microsoft Access. Microsoft pretty much bricked Access for developers after Access 2003. It has now become an adjunct to SharePoint. Access 2010 Web-apps requires a macro based approach to development that no serious developer will consider. Microsoft does not want the Office Team to build developer tools so VS LightSwitch is the tool to switch to IMO.

    Step-by-step I built up the example Vision Clinic App and deployed it. It worked as advertised and made me realise that I could now get back the LoB productivity that I used to enjoy when I first developed apps for the PC using Access 1.1.

    My background includes a Project Lead role for a Fujitsu Mainframe 4GL COBOL code generator called ManaSys (used widely in Australasia in those days). CASE (Computer Aided Software Engineering) was evolving and we now have LightSwitch which is uses Model Centric Architecture. The 4GL has grown up and evolved ready for Cloud computing.

    So far my experience with LightSwitch has excited me as much or more than when I first got hold of Access. I can now target three screens and a cloud using a robust three tier architecture. IMO this product is brilliant and, as you suggest, has credible people behind it and evangelising it. It smells like a rose to me & I love it.

    • Dan says:

      Thanks for the comments Lloyd. I should have mentioned Access. Several people I’ve talked to view LS as “kinda sorta like” Access. I disagree with that accessement. It’s like Access in how Access allowed non programmers to quickly create forms over data for small business operations.

      Unfortunately, many have poor mouthed Access because of people deploying in a small environment and finding it fails when business needs cause the database and users to grow. It has no scalability.

      I see potential scalability as one of LS’s strengths. I say potential because some have pointed out some of the inefficient queries LS makes, which will inhibit large databases.

      As a side step here, it wouldn’t be the first time MSFT released a product that performed well in small demo databases but failed on real world deployments. Explore a little pm Google (or Bing) about how Sharepoint used GUIDs as keys (random GUIDs as I recall, which killed SQL indexing), in a product targeted for enterprise deployment. Kimberly Tripp posted about the affects of GUIDS as primary keys here http://bit.ly/1hUlkB.

      In the summary of her post, Kimberly writes: “..
      Sharepoint uses GUIDs as PRIMARY KEYs (read this post to hear more about the side effects of this choice) and as a result, as clustering keys. This means that many Sharepoint tables are prone to [potentially a MASSIVE amount of] fragmentation.
      Read more: http://www.sqlskills.com/BLOGS/KIMBERLY/category/Sharepoint.aspx#ixzz1AaUI6oRU …”

      But getting back on track, reading comments in the LS forums, I’m confident the LS team is aware of these performance concerns in the generated queries and will be correcting them in post beta releases.

      A cool thing about LS is its back end can be so many data sources– external data bases or data sources served via WCF RIA services. And unlike Access, the back end database is not single threaded and has enterprise capable database engine.

      You mentioned the Vision Clinic app. To be honest, working through that example app is near the top of my short list.

      I’ve been exploring some other tips and tricks I haven’t others discuss yet and plan to get a couple more blog posts made soon about those.

      • Lloyd S. Derbyshire says:

        Very true Dan. Access, by design, was never going to be super-scalable however. because it was easy for non-developers to use, a lot of bad apps were written. Much of my early work in Access was fixing poor performing apps. By taking full advantage of it’s capabilities it was possible to get surprisingly good performance despite the fact that it wasn’t architected to run Client/Server. Initially it had better performance than SQL 6.5 around the time of Access 2.0. After SQL 7/2000 it started to make more sense to choose a SQL back-end to Access but many smaller apps performed adequately using the JET DB.

        There are still lots of Access apps out there but if LightSwitch, lives up to it’s initial promise, many of these could be converted to benefit from targeting 2 or 3-tier or brower deployments. In this day and age I would no longer be comfortable suggesting an Access solution to a client however LightSwitch provides a great architecture with a similar development time. No reporting yet! This is one of the big strengths of Access. We’ll have to wait & see what’s coming in Beta 2. Silverlight 4/5 supports printing so I guess a report writer could be created for LightSwitch. Hard to say where they’re going with that requirement.

        • Dan says:

          Very interesting comments Lloyd. I wasn’t aware about Access having better performance than SQL 6.5.

          A couple statements you made made my thoughts go off in left field. “..There are still lots of Access apps out there.. could be converted to benefit…” “…Would no longer be comfortable suggesting an Access solution to a client…”

          Got me thinking, in the past year I’ve worked with two client who still use SQL 2000. The devs would love to use some of the new tools in VS2010 but are held back because those tools don’t support SQL 2000. Tools like the Visual Studio 2010 data tools, which don’t support SQL 2000. Or Entity Framework- at least it didn’t when I last looked.

          A big reason one of the clients does not migrate off SQL 2000, and it’s a part of the reason for the other, is the licensing fees. Which your comments got me thinking, perhaps the license cost and cost to adminster a SQL server is why many small businesses embraced Access.

          Which brings me to one of those other ideas. So LightSwitch can use RIA Services to connect to an external datasource. Does anyone thing that external datasource could be MySql? Or even a non relational DB like CouchDB?

          I think it’d be an interesting area to explore, because of the low cost of software for small organizations, while providing a rapid application development environment.

          I just made a quick look on the LS forum, searching for MySql. Fewer than a dozen threads came back. So, a few people are looking using LS with MySql. Interesting….

          • Lloyd S. Derbyshire says:

            Access had a ‘Seek’ method that was lightning fast because it operatied natively on the ISAM keyset. Not many people knew how to use it when the DB was located on a file server but clever design made this a high performing and surprisely robust solution that stood the test of time. For queries returning datasets you had the FoxPro Rushmore implementation from Access 2.0 onwards. Supposedly Rushmore was faster on the older fixed length based Dbased DBs but it certainly helped optimise for Access varible length based DB.

            The free SQL Express or paid SQL Azure make more sense to me as a primary/secondary data sources. Since SQL Express is free I can’t see a reason to choose mySQL myself. Since an adaptor can be created, RIA Services should be good for SQL or NoSQL data sources of various shapes & sizes. That is how LightSwitch is pitched. Jo has responded to this article to say that RIA (v1 and 2) were not stable enough. She may be talking about .Net RIA Services not the new LightSwitch WCF RIA Services. I hope that’s the case :-)

  5. Pingback: Dew Drop – January 10, 2011 | Alvin Ashcraft's Morning Dew

  6. Pingback: Why Visual Studio LightSwitch will be a Win | www.nalli.net

  7. Jo says:

    I’m not so sure. Our company invested heavily in Silverlight / RIA projects and had to pull the plug because RIA (version 1 & 2) (now renamed to Lightswitch) was not stable enough. These could not be resolved because of the black box nature of Lightswitch.

    • Paul says:

      WOW, that sounds like a killer to me, are there other example of Lightswitch projects getting pulled for this reason.

  8. Mike says:

    At the very least LightSwitch provides the ability to prototype an application and database design and the prototype can be used for proof of concept. If a developer can take the prototype, continue enhancing it, and then convert the Lightswitch project into a SilverLight or WPF project when the LightSwitch model becomes inadequate, with no loss, then it will have a real chance at success because their would be no downside.

  9. Pingback: IT-DEV-CON (április 6.): web platform és RIA újdonságok « Szoftver aktualitások

  10. Keith-Watford,UK says:

    Dan,

    Thanks for sharing your work and ideas on driving LightSwitch in the real world.

    I, too, am investing a lot of my time in becoming an early-adopter. I have felt comfortable in the knowledge that if the LS project dies for whatever reason at least I will have some interesting database schemas to play with. Personally I think MS are plugging Azure and see this as a reasonable tool for LOB developers to create apps for the “cloud”. I have clients that have been reasonably happy with the LS front-end and can quickly create proof of concepts, as has been previously suggested. I hope to be piloting an Accounts app using LS and I suppose the final assessment will come from the client. I’m adopting a KISS approach, living within the constraints of the framework and hope that my fundamental design proves usable and doesn’t require too many tricks, bells and whistles to make it sing. They are some gaping holes that need filling but I think “our” expertise should get us by in these early days. This should put those of us who can deliver in the frame for future opportunities.

    Thanks again to you and others who have shared their thoughts. Perhaps I should do a bit more?

    Keith

    • Dan says:

      Keith,
      Thanks for the comments!
      It seems like people either poo poo LS as a toy or little more than a demo application and others believe LS will become a popular tool to use.

      Have you seen the recent video Beth Massi produced soon after the release of Beta2 which demonstrated an internal MSFT project using LS to develop a asset tracking application? A small and focused forms over data application is how I see LS being used for many small businesses and departments in larger companies.

      I recently worked with a client where Excel spreadsheets were used to display data and the VBA code behind the spreadsheet was connecting to a web service. That kind of application would significantly benefit using LS.

      Many that give quick discount to LS think of applications where the UI is more important part of the application and the data source is something other than a database. For example, I recently needed to write a simple quick application to decrypt files on a file folder. This is not the kind of application which LS could help me write. But an order entry, inventory control, HR resource– an application where I don’t have to write the CRUD operations to a database or spend no, or little time, on the UI– that’s where LS can help me get a task done faster.

      Putting LS on Azure has a benefit I haven’t heard much discussed, so I’ll state it here. A while ago I was lisenting to a .NET Rocks episode interviewing winners of a .NET application contest. One of those “ah ahhh” moments I had listening to the show is where the app developer discussed writing an application used by small local government (and I think) police departments.

      The advantage of deploying the application on Azure for the small business / local government is they did not need to purchase hardware, dedicate a room with the needed environmental controls for the servers, and hire people to administer the machines to run the application. The savings in hardware acquisition, computer room setup, and human resource was a significant selling point for the adopters of the application.

      So yeah– writing an application, like in your case an accounting package, for the local furniture store, car dealer, or contractor / landscaping business with the advantage of no hardware or hardware administration cost can be a good selling point.

      Dan

      • Jason says:

        “I recently worked with a client where Excel spreadsheets were used to display data and the VBA code behind the spreadsheet was connecting to a web service. That kind of application would significantly benefit using LS.”

        Really? I am running pure LS for the purposes of testing. It beats me how you are supposed to invoke a web service. It’s acutally quite easy in Excel (eg: http://www.webcontinuum.net/ws_4.aspx), it’s easy in powershell (pretty similar code).

        In LS, you have to build some awful WCF/RIA wrapper service, which you can’t even do without the full Visual Studio toolset.

        Am I missing something here? It seems as though if it’s not SQL or a very specific web service (WCF/RIA or Sharepoint 2010), then you have no simple way of using it.

        This could be my #1 reason why LightSwitch will be a major fail. There is so much promise here, but without either out the box interoperability with a wider range of services OR a simple way to consume existing tools then this places this product in a very strange niche.

        Jason.

  11. Ritz says:

    Well written blog – you should be in journalism!!

    I’m a GP consultant by trade and stumbled upon this article by chance when researching Lightswitch for a small database application that I need to create….who knew that Lightswitch is so closely tied in with GP?!!?

  12. Dan says:

    Thanks!

  13. Dan you are absolutely right,,LightSwitch is going to rock .and an other thing it will make shock.

  14. Murali Kothapalli says:

    Dan,
    Overall I am impressed with Lightswitch, which I barely used it just for 4 days, and already finished up long pending in-house tasks.
    As a developer, I feel at ease with it and no way feel it is restricting my creativity, it took away all the grunt work and enforced standards.
    Superb tool from Microsoft this time.
    Thanks for your articles very helpful.

  15. Javid Sinha says:

    I never imagined how much stuff there was out there about
    this! Thanks for making it all easy to take in

  16. Mark says:

    As a developer, I saw Lightswitch as being interesting but limited when I first started.

    After working with it for a couple months, I can say that it is a terrible option for anything more than a very basic application built within a couple of weeks.

    The limitations the software has for creating easy to use applications creates huge problems as you end up needing to code very inefficient methods to accomplish something that could be done so simply with a little SQL knowledge. Not to mention that it is a slower, inefficient, and unstable alternative to say, ASP. It has its advantages to save time, but you lose that gain by fighting with LS to really represent a typical business situation.

    Not recommended in this stage of its development. Sorry, microsoft.

  17. My developer is trying to convince me to move to .
    net from PHP. I have always disliked the idea because of the expenses.
    But he’s tryiong none the less. I’ve been using Movable-type on a number of websites for about a year and am nervous about switching to another platform.
    I have heard fantastic things about blogengine.net. Is
    there a way I can import all my wordpress posts into it?
    Any kind of help would be greatly appreciated!

    • Dan says:

      Sorry, but I don’t have enough experience with blogengine or PHP to offer an opinion.

    • Dan says:

      Although I’m less excited about LS than I was when it first came out because of it’s limited UI experience for many business apps, I have talked with people in the community which find it to be a good fit for a quick form over data application. One case is a chem lab in a university which had been collecting data in Excel. They found LS fit their needs well for rapid app development.

      But for an app that is more than a couple dozen screens and in need of a richer UI experience, I see your point.

  18. erwin leyes says:

    To my observation until this moment LS has no sign to be a winner. Just for one reason, PERFORMANCE!!! on design and development and on finish application. Let’s be on true on this..It’s not MS Access replacement for RAD front end development. I see LS future is failure if the performance and built-in reporting tools is not address properly.

  19. Mark Flatt says:

    How do feel now about LS after 3 years – I am a VB.Net developer and have just started looking at LS using MySQL back-end. No problems connecting, but cannot for the life of me get the thing to accept the date/time – Anyway be interesting to hear how the thing smells now

Leave a Reply

Your email address will not be published. Required fields are marked *


*