As happens from time to time my capability to sleep is greatly effected by my active mind. Sometimes I think it a curse that I am very incapable of clearing out all though and just letting go for even 6 or more hours a night. I therefore find myself back in the office pounding away at the keyboard getting caught up from a week away on a family trip to Las Vegas.
With my Tim Hortons coffee in hand and ready to prepare for the days meetings (start in 7 hours) I decided to pause and get a blog written with some of the thoughts that have been churning in my head.
So lets begin the brain dump!
Recently Microsoft announced LightSwitch a rapid application development platform based on the Visual Studio development tool and some of their latest technology stack components (Silverlight, ADO.net Entity Framework ..). The tool is supposed to target non programmers to create line of business applications. My initial thoughts was that MS was watering down and trying to commoditize the development community where companies we have to work harder to justify their worth in the development of great solutions. I believe that if it had come from an other vendor this would not have been such a questionable thought as the introduction of a tool such as this would have to compete on a fair and even playing field with the rest of the ecosystem. Microsoft introducing the tool muddy the water and made the decision making process slightly more difficult, or so I thought.
I think more so for me is that through the years I have had many of the same ideas that Microsoft is putting into play now and I failed to act on those decisions for one reason or another.
I was believing that LightSwitch was a technology disrupter at least in the MS development space but I am somewhat less inclined to believe that after spending the evening with the tool.
The fact is the tool is very similar (in my opinion) to other tools in the market (Access for example) when it comes to the generation of a application skeleton. I know that many squash the comparison, but the fact is even though it is sitting the new MS stack, the target audience it is the same, the experience for creating your shell is simpler (it seems). Less properties, less options and the UI is a forced one where you have to download/purchase new skins to get a look and feel that is unique.
Its a nice sandbox and I was able to get in and do enough work to see search and add/edit of a simple entity fairly quickly.
For basic CRUD applications LightSwitch could be a good thing. I can see several places where we at BITtelligent can use it to augment our process to give the customer some extra value add especially around administration processes however I cannot see it being the everyday tool for a development house.
Some of the things I liked from LightSwitch;
1. Easy to get in and start a project
2. Simple Data model development
3. Utilizes Silverlight, ADO.net
Some of the things I do not like
1. Seemed like the designers were MDI based
On a data model screen, click add a new View and the data model screen seemed to disappear
2. No control on how the UI is composed.
The framework composes the screen based on the controls you select. Every tool that I have worked with allow for precise layout and going back to a tool that does not seems outdated
3. Easy for non-programmer to get complex errors.
For example I can easily add in one of my button’s action event :
When invoked this gives a cross thread error. In a non-programmer tool to see such an advanced error (threading) seems to be problematic and still displays the need for good debugging skills which the target audience may or may not have.
So this is the big one, since its a sandboxed environment options are limited to what the framework and tooling exposes. Generally all applications will look the same and to truly get a customized look or feel you will either need to obtain skins which I suspect will be a purchase from a 3rd party vendor like Infragistics, DevExpress or that free skins will be made available through the kindness of the community, or alternatively learn how to extend the product to create your own look and feel that I suspect is not targeted at the non-programmer.
Also their is quite the limitation of properties/settings. This could be either a good thing or a bad thing depending on the business need at hand but I have to believe that even MS cannot predict the usage scenarios of all the possible consumers.
5. Reporting, Distribution
I did not see anything in the box to address these items but I suspect if there is nothing there now, MS will address in the future.
So from a competitive play against the current visual studio product, and the enterprise developers/consultants that work with the toolset it does feel like a threat to me. It lacks the breath/depth that so many applications required and to get the penultimate solution there will be so much more work that the non-developer will not be able to do.
However for small MS based consulting companies having knowledge and skills for utilizing SwitchLight might open up some new opportunities to add value to their current and new customers.
Here at BITtelligent Peter, Cory and Myself will be actively looking at the new toolsets (LightSwitch, MVC3/Razor, WP7) and thinking of ways to make ourselves more available to a broader group of customers and their needs.