I’ve spent a little time working with the Microsoft Visual Studio LightSwitch beta, and for the most part I’ve liked what I’ve seen. Although I’ve never liked the lack of a real screen designer, the tool does do what it’s supposed to do—build functional data-driven applications very quickly. The thing about LightSwitch that I don’t understand is the fact that Microsoft is attempting to position this product as an end-user development tool. The company’s current slant is that LightSwitch is primarily designed for a nonexistent entity it calls the end-user developer. The end users I know aren’t that computer savvy and don’t know the first thing about what applications are or what goes into making them—let alone know how to build one themselves. Here’s why I think the actual target users of LightSwitch are professional developers rather than the theoretical end-user developer.
Creating More Than a Simple Search Screen
I’ve seen a couple of presentations in which Microsoft presenters have attempted to demonstrate how simple LightSwitch is by having audience members come up on stage and then guiding them through the creation of their first LightSwitch application. The application is typically a simple search screen that displays the results in a grid and takes just a couple of minutes to create. The process does demonstrate LightSwitch’s ease of use—to a point.
However, what does an end user need to do to create more than a simple search screen? Applications don’t consist of just a single screen. Instead, applications typically have dozens of screens, as well as a navigation system, reports, and even interfaces to other systems. And the screens aren’t just output displays. There are typically many data input screens in an application. It’s these types of hurdles that the average end user, and even an advanced power user, won’t be able to get over. Tack on the need to know about the database, its schema, and data relationships, as well as the various data types that are in use and the required business rules and data validations, and you’re well above the level of complexity that an end user can handle.
In addition, the back-end database will need to be designed for new applications. Is this really navigable territory for end users? I don’t think so—I don’t know of a single mythical end-user developer who can tread in these complicated waters. After getting some hands-on experience using LightSwitch, I can unreservedly conclude that there’s no way an end user could really use this product to develop applications. LightSwitch has all of the tools needed to build applications, but, like any powerful product, it has a lot of depth and complexity—you have to know something about building applications to really use this tool. And who is it that knows about building applications? End users? I don’t think so—developers know about building applications.
An Entry Into the .NET Stack
Although I believe real production application development and LightSwitch are entirely too complex for end users, I did find LightSwitch to be a worthy addition to the professional developer’s toolkit. In fact, the professional developer is actually a far better target audience for LightSwitch than an end user. The professional developer can handle the complexities of LightSwitch, and LightSwitch does a decent job of filling in the gap at the bottom of the development chain. This is the place where Microsoft Access currently is and Visual Basic 6 (VB6) used to be. (Despite the similar names and syntax, the new .NET VB is far more capable and far more complex than the older, simpler VB6.)
Previously, there hasn’t been an easy entry point into the .NET stack. LightSwitch fills that void. LightSwitch is a powerful application-generation tool that the professional developer can use to quickly create basic applications that can address simple to moderately complex projects. All organizations have dozens of these types of projects, and Microsoft Excel and Access are often the tools used to address them. As we all know, Access and Excel can be very capable, but they’re also typically fragile—and although these applications are developed by power users, I feel certain that LightSwitch is outside of the typical power user’s capabilities. However, in the hands of a developer, LightSwitch can provide comparable productivity and can produce a higher quality of application—which is why the professional developer is the real target audience for LightSwitch.