Given a second chance, is there anything Microsoft could have done differently in the development of ASP.NET?
ASP.NET was created to meet the needs of our customers building Web solutions. As with any incubation or v1 product, the biggest change we would have made is to have more transparent and customer integrated product development - much like we have today. Discussion with customers allows us to be better equipped to make decisions that affect them. For example, ASP.NET MVC (Model-View-Controller) was a request from customers interested in test driven development.
The MVC design pattern is decades old, but the concept can still be applied to the design of today's Web applications. The product team released the first preview at the end of last year, which received a lot of positive feedback. Developers interested in the release wanted more and couldn't wait to try the latest updates. In March, the product team published the source code for ASP.NET MVC on Codeplex and decided to have interim, frequent releases. This allows developers to access the latest bits and provide feedback that influences the first, official release. The community can expect to see similar transparency with other features too.
Why was the decision made to target ASP.NET to IIS and Windows servers? Was this an architectural or business decision? Is it likely that we will ever see a free (possibly open source) official Apache module supporting ASP.NET?
Microsoft is in the business of selling servers so our decision to focus on our products is obvious. We believe that by doing so we can provide the most productive, scalable, secure, and reliable solution for delivering Web applications with deeply integrated features across the Web server, the database, the tools (Visual Studio), and the framework (.NET). ASP.NET is part of the freely available .NET Framework today and we offer free tools like Visual Web Developer Express for anyone to easily get started.
What lasting legacy has ASP brought to the web?
Never underestimate the value of getting the job done. Even if there is a new Web application framework, we know that some customers are happy with what ASP already provides. We recognize the choice to stay with ASP, and that is why we are continuing our support for the ASP runtime. However, we do believe that continued investments in our new .NET based server platform will provide developers the best platform choice moving forward.