An Interview With the Web Matrix Development Team
Special Online Bonus Info For "Meet the Web Matrix Project," by Scott Mitchell.
By Elden Nelson
asp.netPRO talked with the Microsoft developers who created the Web Matrix Project, including Nikhil Kothari (development lead/architect), Susan Warren (program manager) and Shawn Nandi (product manager). Here's what they had to say.
Who do you see as the typical Web Matrix user?
Anyone who wants to develop ASP.NET Web applications can use Web Matrix. Web Matrix will likely be very interesting to many different types of Web developers. Many who are not using ASP.NET will find it is a great way to get started with the technology, while others who are evaluating ASP.NET but who are not quite ready to invest in Visual Studio will find the it to be a great stepping stone. Existing ASP.NET developers will find it is a handy tool for building simple sites or doing quick edits on existing sites. But all of these developers will find it is a great way to connect to the ASP.NET community.
Do you expect developers with VS .NET to use Web Matrix?
Based on feedback we've received from the alpha tester community, many developers who use Visual Studio .NET also use Web Matrix. They found Web Matrix handy for doing quick edits on existing sites and some front-end page work. For virtually all of them, however, Visual Studio .NET is still their primary tool, especially for business logic and back-end components.
What's the business reason behind Web Matrix?
We want to provide hobbyist developers, entry-level developers, and those new to ASP.NET with an easy, free way to start building useful applications. We also want to experiment with some feature ideas we had around integrating the community directly into a tool and help developers plug into the existing ASP.NET community. In addition, we also wanted to experiment with some feature ideas around the tool itself and ASP.NET application authoring.
If you have both at your disposal, for what kind of ASP.NET development tasks would you need or want to choose VS .NET over Web Matrix, and vice versa?
Many community members tell us they use Visual Studio .NET for their business logic and back-end component development while using Web Matrix for front-end development. The two tools have some key feature differences that often will guide your choice. Visual Studio .NET offers an integrated debugger and IntelliSense, two features that make development and debugging much faster. Visual Studio .NET also offers team-based development features that make it the tool of choice for team development projects. Web Matrix offers neat features such as code builders, drag-and-drop data tables, and templates, which let you create small, simple applications quickly and easily. If you need to throw together a small application quickly, Web Matrix is a compelling tool. And if you're new to ASP.NET platform, Web Matrix is a great way to get your first application up and running and learn more about the platform.
What are the limitations of the Web Matrix Server? There's of course the fact that it answers only to localhost, but are there any other limitations we should be aware of?
The Web Matrix server was created to help developers create and test ASP.NET applications locally on their development PC. It supports most ASP.NET features and can serve ASP.NET pages and XML Web services as well as HTML pages and other static Web content. But it's not a complete Web Server. In addition to being limited to local requests, Web Matrix doesn't support the authentication mechanisms found in IIS (Microsoft Internet Information Server), so developers won't be able to test their application security with it. In addition, it's missing many features of a true Web server, including administration and logging.
Who came up with the idea for the Web Matrix Project?
Nikhil Kothari, who is the architect and lead developer on the project.
How did the Web Matrix Project start? Was this originally a personal pet project?
The Web Matrix Project started with a little tool I (Nikhil Kothari) wrote to help develop and test ASP.NET server controls quickly and easily. As improvement on this small little tool continued, I realized I could add some additional editing features. This marked the beginning of my pet project, which I called "Web Studio." Web Studio was a great proof of concept, showing that the .NET Framework and managed code could indeed be used as the basis of a real application of this scale. It was no doubt a fun project - it was fun to use the .NET Framework and even more fun to see an application built from the ground up. As a team we realized there was a lot of potential with the pet project, both in terms of a compelling design-time story for ASP.NET and of a showcase application for the .NET Framework. So we put together a small team of people to build a tool with the idea of shipping it, using Web Studio as a prototype. Everyone on the team put a lot of effort into developing this and in getting the Web Matrix Technology Preview ready.
What language is it written in? How many lines of code?
It's written in C#, and contains 150,000 lines of code; visit Web Matrix Project for more details.
How did you come up with the name?
We were looking for a name that represented the Web-focused nature of the tool as well as the community-oriented features it offers. The matrix represents an interconnection of nodes or a mesh of ideas that synergize to form something greater than the sum of its parts. The ASP.NET Web Matrix Project will connect developers with each other and with Microsoft to create a community that is greater than the sum of its parts. We are creating a new way to develop software where our customers will be heavily involved in the process of identifying features and providing feedback. The ASP.NET Web Matrix Project is a first step toward creating synergies between Microsoft and developers in the community.
Doesn't Web Matrix compete with Visual Studio? Are you concerned that developers will opt for the free Web Matrix instead of purchasing Visual Studio?
We don't think Web Matrix competes with Visual Studio .NET. We recognize there are many different developers in the world with different requirements in an IDE. Visual Studio .NET is a tool designed for the professional developer - and with features the professional developer needs. The ASP.NET Web Matrix Project was designed from the ground up with the hobbyist developer in mind.