When Microsoft announced Visual Studio LightSwitch, I was pretty excited. Despite many gurus and non-gurus saying this was the end of the world, I saw LightSwitch as a great opportunity. Let me explain for a moment.
Fifteen to twenty years ago, FoxPro was a great end-user tool. It was great for developers, but end users could create quick and dirty applications with it. These applications solved real business problems in a short amount of time for little money. But at some point the business person realized they were in over their head and called on professional programmers to add functionality. Yes, the original program was a mess. Yes, it was often easier to start over, but the business user had gotten great use out of their creation, sometimes lasting years before they had to call in the pros. Many times these applications were ones that the business couldn’t afford to hire a pro in the first place. In the end, the use of these home-grown apps didn’t negatively affect the professional developer. In fact, I say it gave us more opportunity.
But FoxPro wasn’t the only tool used. Microsoft also had Access. FoxPro eventually morphed into Visual FoxPro and became a pure developer tool and today is no longer being updated by Microsoft. Access, on the other hand, continues to be sold. Thousands of Access applications exist in the same way thousands of FoxPro apps existed. The business user needed to solve a problem, in a hurry, with little cost. However, Access is morphing. Microsoft is pushing it to become a front-end tool for SharePoint development.
Where is the business user to go? They still need quick and dirty apps at a low cost to solve business problems. To fill this need, Microsoft created Visual Studio LightSwitch. It’s a version of Visual Studio customized for the business user. When you create applications, you use a simple designer to specify your data and screens. The VS templates handle the heavy lifting. The apps are created in Silverlight 4 and can be run locally or over the web. You can connect to different data sources and even export to Office. In reality, there is little difference between what the user can do with LightSwitch and what they’ve been doing for years with FoxPro or Access.
Since the announcment, I’ve been eagerly awaiting the release of the first Beta bits. And today was the day. And my first actual impression is not good. Originally I got compile errors on the Microsoft supplied Vision Clinic walk-through. An assembly or namespace from the generated code was missing. The reference was in the project, but I couldn’t manually modify the generated code. Fail #1.
I decided to try a different machine. I again downloaded the bits, ran the install, and started my way through Vision Clinic again. This time the compile succeeded and I was able get the first part of the application running. Success #1.
The next step instructed me to download the “PrescriptionContso” database from the “Connect” site. So, up to the Internet I went and searched the Connect site. No luck. How about code.msdn.com? Nope. CodePlex? Nope. Bing search? Nothing. Fail #2. At this point, I quit. I won’t go any further until the docs are fixed. Why not just provide a link to the download so people can find it?
I have some other observations. First, creating entities is a bit cumbersome. I have to click in the Add property field. I can’t just tab into it. Second, when you specify a datatype for the property, three of the choices are Int16, Int32, and Int64. The average business user won’t understand the difference between these and could actually choose the wrong one. I also got the properties in the wrong order. I put LastName before FirstName when creating the Entity. I couldn’t find a way to move them. Because the generator puts the properties in the order specified in the Entity, this is a problem. Finally, the walk-through has you create a couple of things callled a “Choice List”. It’s really a pick list mechanism. The first time a Choice List is specified, you are instructed to use values 1-3. The second time it’s 0-2. No explanation as to why this is different. Again, an average business user won’t understand this. The walk-through should provide some type of explanation about what the values mean.
I understand this is Beta 1 and changes will be made, but right now, I’m stopped because the docs are not ready to go. I still have great hope for LightSwitch and see it as a valuable business tool. I just hope Microsoft at least gets the documentation fixed soon.