Thanks to everyone who has sent examples of their .NET applications. (If you'd like to submit an example, send a description of what you're doing and why you used .NET to do it—please don't send the actual application. I can't do much with the latter.) Because some readers have requested that I leave their company's name out of the story, I'll mention the industry the applications were built for, but not the company name or application name.
Our first example is a Web-based project management application for a shipbuilding company. This application was designed for commercial and military ship life-cycle serving through the building, servicing, and decommissioning phases. These projects require and generate a vast amount of information, including schedules, invoices, progress reports, and vendor coordination data. The projects aren't the work of a single company, but can include input from multiple contracting teams that are geographically separated from one another as well as from vendors and customers.
The application needs to be able to create and manage diverse kinds of information from a variety of sources and make it easy for all parties involved to coordinate their efforts. Some degree of platform independence is also a key requirement because the people running the application might do so from a PC or a mobile device such as a Pocket PC. And because the US government is a customer, the application has to comply with US government budgeting, timetable, and security standards.
The shipbuilding company hired a third-party firm to perform a Rapid Economic Justification (REJ) analysis of the application project to determine how best to accomplish it. The results of this analysis suggested that building the next version of this process-tracking application as a .NET application would confer several advantages. .NET's integrated development environment would reduce development time immediately and later (as developers added features to the application) and would reduce developer training time by letting developers use the same tools to build applications for different viewing platforms, rather than having to code separately for wireless mobile devices and PCs. This shortened development and training time would reduce the cost of the application and improve revenue by reducing time to market by an estimated 19 percent, as compared with other development methods.
Of course, cost reduction isn't the only reason to use the .NET Framework to build the application. Using XML-based Web services eases integrating the vendor, partner, and customer systems throughout the life of the project. Support for the .NET Compact Framework, a subset of the desktop .NET Framework, lets the application relatively easily support both PCs and mobile devices without requiring a lot of extra work. Because all the application's users have an identical view of the data regardless of the company they work for or the client device they use to run the application, they can access realtime project management and analytical information without having to exchange files or wait for translation. The application uses ASP.NET WebForms and Web Controls. The WebForms execute on the server for better performance and can generate Dynamic HTML (DHTML) code that's appropriate to the client browser and that Web Controls detects. As a result, the application uses the same code regardless of the display platform but displays only information that the client's browser can handle.
In short, the application developer went with .NET to more easily coordinate input and output among a large and diverse group of people who might not all be using the same kind of application, and to reduce development time immediately and down the road by reusing code. .NET makes the application more useful and makes it available quickly.