Microsoft recently released WebMatrix–a web development tool for non-professional developers. Microsoft also just announced a new version of Visual Studio targeted at non-developers as well: Visual Studio LightSwitch. Response from the developer community has been mixed–with some developers excited about these tools and with others confused or annoyed.
Vison: The Argument for LightSwitch and WebMatrix
Something is driving a new push at Microsoft towards addressing the development needs of non-professional developers. My guess is that Microsoft has done a lot of number crunching and market analysis to determine that when folks need new business solutions, they’re going with something OTHER than solutions built upon the Microsoft stack. And my guess is that Visual Studio’s steep learning curve is a huge turn-off to most business users when they need a simple solution.
Consequently, I’m glad that Microsoft is showing real vision when it comes to figuring out how they can encourage more businesses to use the Microsoft stack for their development needs. As I pointed out in my previous article about Web Matrix, I think this move will create more demand for professional Microsoft services and development, which should be a win for all of us.
There are, of course, strong arguments about the dumb things that newbies will be able to do with “Fisher Price” versions of Visual Studio. But as I mentioned previously, those newbie mistakes will be executed in a friendly environment–where pros like us will eventually be able to correct those issues if the applications become successful enough that they need to be rewritten for scalability, security, and maintainability. Although it’s easy to argue that newbies can do dumb things with these new non-professional-level tools, it’s also easy to argue that pros and newbies can do REALLY dumb things with professional grade tools. In other words, there’s no true protection from dumb; nor is dumb a function of toolsets.
Sloth: My Only Argument Against WebMatrix and LightSwitch
My only argument against new tools really ISN’T an argument against them at all. Instead it’s more of a realization that Microsoft has finite developer resources when it comes to creating tooling and platforms. In fact, it’s not even so much of an argument as it is a worry.
And that worry is that because I’m a professional developer with a long list of things I’d like to see addressed, fixed, or corrected with Visual Studio, there’s a big part of me that worries that developers (and program managers) at Microsoft might be getting tired of dealing with the technical debt and other hoops that exist in Visual Studio, and they’re eager to just go solve new solutions without shackles or overhead.
In other words, I’m sure that a large number of the developers (and PMs) at Microsoft are there because they like to build complex and capable frameworks, tools, servers, and solutions. And I’m sure that plenty of those, ambitious,motivated developers would rather work on some shiny new project, rather than keep working with the bugs and technical debt they’re forced to deal with in Visual Studio.
Case in point: in a previous article, I mentioned my dislike of Visual Studio’s ‘bouncy toolbars’, and I pointed out that I’d welcome the Office Ribbon to Visual Studio as a way to get around that. The problem, however, with fixing bouncy’ toolbars or putting in a Ribbon toolbar is all of the technical debt involved. For example, there are literally thousands of plugins out there right now for Visual Studio. What happens to something like Resharper or CodeRush when Microsoft switches to a Ribbon? The integration of those tools has to be rewritten to use new Ribbon APIs for the new version of Visual Studio (instead of the convoluted approach now that involves ctc files and other evil). Even worse: What happens to a great plugin you’re using when the developer doesn’t have time to upgrade to the new version of Ribboning in Visual Studio vNext?
On the other hand, notice that Web Matrix employs (you guessed it): Ribbon toolbars. Obviously, that’s because there was no technical debt to content with, so the developers of Web Matrix were working with a clean slate.
Ergo, my worry is that Microsoft developers and PMs will be more drawn to these new, clean, solutions rather than fixing existing problems and concerns. And if you doubt that technical debt is a problem when it comes to addressing bugs or problems, look at a bug I ran into yesterday–where Microsoft refused to fix a bona-fide bug because the “cost” was too high.
My Hope for the Future
In the end, I don’t have a problem with Microsoft pursuing non-professional developers. In fact, I really hope that they succeed with that effort.
Consequently, my only hope is that Microsoft’s developers and project managers aren’t getting tired of dealing with the technical debt that they’ve been amassing with their current tooling in Visual Studio to the point where they’d rather work on new applications rather than solve some of the hard technical problems that continue to be an issue for professional developers.