Post navigation

Building a web app the Microsoft way

As an agency that helps clients in the web start-up market to design and build web apps, Howard Baines is familiar with the popular approach of using open source technologies and tools to get the job done economically. We’ve worked with PHP, Rails, MySQL and others, and have experienced the highs and lows of doing so. Late last year we decided to fly in the face of popular opinion and build a web app of our own… using the Microsoft platform.

Deciding on the app

We decided to build a meeting organizer application which we called ‘Meet with Approval’. The application allows anyone who wants to arrange a meeting to create a dedicated event page with date and time options and send out email invites. Invitees can then select the dates that suit them, add comments and are informed when the meeting is confirmed. We knew that from a technical perspective we wanted to use some AJAX, incorporate maps and integrate with third party services such as Plaxo and PayPal.

Our aim was to have an application that we could use to experiment with new concepts and technologies whether open source or paid for. The process of designing and building the application would provide a case study for us.

How to measure success

Our clients share key goals when it comes to web development: minimize development time to get their product to market faster, to start generating revenue and gain a competitive advantage; reduce development cost; and improve reliability. A reliable application requires less ongoing investment and is available to users more of the time, which maximizes revenue earning opportunities.

This means we need development tools that allow us to reduce development time and labor while delivering maximum reliability and a fantastic user experience. These were the challenges and benchmarks against which we wanted to test the Microsoft offering.

The development process

For those unfamiliar with Microsoft their platform is the .NET Framework and for web this means using ASP.NET (http://www.asp.net). At the time we were building our application Microsoft released the latest version of .NET and their development tool Visual Studio 2008. Possibly the main argument against using Microsoft from the open source point of view has been the issue of expense. However the .NET Framework can be downloaded for free plus they also provide ‘Express’ versions of Visual Studio and their SQL Server
database software which we used and are also free.

A key benefit of new web specific frameworks such as Rails is that they allow rapid development of common features. Visual Studio provides a number of prebuilt web controls that we were able to drag and drop onto our pages and allowed us to get a considerable way before having to write any code. A criticism of this approach is that such controls output bad HTML or restrict design however we did not find this. We were impressed by the way in which .NET produced relatively little code and we were able to apply all styling via CSS. Visual Studio 2008 offers a full WYSIWYG editor with CSS support that we found to be better than Dreamweaver although we did find rendering problems within the IDE when coding for cross browser CSS.

When it came to coding we used Microsoft’s latest data access offering called LINQ (Language Integrated Query). LINQ offers a way to access data held in a database or other format such as XML using a single language. The concept is not new and other frameworks and scripting languages offer a similar approach.

The real bonus came in the form of the InteliSense in Visual Studio which not only made learning and writing LINQ queries fast but also supported our underlying data model. InteliSense within Visual Studio included support for frontend JavaScript which again helped to speed up development. Moreover the InteliSense features really cut down on the number of time wasting runtime errors and helped to reduce bugs. In fact using the various prebuilt controls and functions of .NET helped us to significantly cut down the number of bugs.

One of our objectives was to provide a great user experience and today that frequently means using AJAX. Visual Studio 2008 has inbuilt support for Microsoft’s own AJAX libraries called ASP.NET AJAX. While these can be used independently and scripted against like JQuery Visual Studio provides a number of controls which can be added to by downloading the AJAX Control Toolkit. Once again these provide great AJAX features such as the textbox auto complete. We did script against the AJAX libraries to integrate the Plaxo widget with our AJAX functionality.

Using Plaxo (Free) was one example of where we integrated non-Microsoft services which included PayPal and a Yahoo! Geocoding web service (Free) which we used together with Microsoft’s Virtual Earth (Free).

Thinking about moving to .NET?

For any developers considering making the change to .NET Visual Studio 2008 makes it extremely easy. There is a range of programming languages to choose from including C#, VB.NET, J# and IronPython which means there is probably one that suits your taste. For Rails developers there is IronRuby and an MVC Framework currently in pre-release versions. The Microsoft website provides articles and tutorials for transitioning from other platforms such as PHP to ASP.NET and there is a wealth of blogs and websites with code examples or ‘Starter Kits’.

Whatever your preferred approach or experience there is probably something for you in the Microsoft offering and in many cases the IDE and integrated stack bring benefits over other development options we have tried.

How it worked out

Within three weeks we were able design, develop and deploy our application at extremely low cost. Since launching in late 2007 we have had only 2 bugs reported with over 2000 users in the system and over 500 meetings created. We felt that we were able to deliver on our objectives of fast, cost effective, reliable development that produced a great user experience which you can judge for yourselves at www.meetwithapproval.com.

Meeting Microsoft

We caught up with Microsoft at the October Future of Web Apps in London and discussed our experiences. They were excited to hear about what we had been doing and chose to write a case study about Meet with Approval.

A common misconception is that companies of the size of Microsoft are remote from small businesses. The truth for us has not been the case as we were invited to take part in the official press launch of Visual Studio 2008, SQL Server 2008 and Windows Server 2008 on 27 February in London. We were along side a select few companies that included McLaren, EasyJet and Grey Group.

Despite the frequent criticisms of Microsoft we have learnt that this should not be a barrier to prospective start-ups when looking for a suitable technology platform. Microsoft is clearly working hard to be friendly, accessible and cost attractive to entrepreneurs and potential start-ups.

Hello! We're the teachers here at Treehouse. We produce video courses on everything from web design and web development to iOS and business skills. You can browse our full library of content to find the course that's right for you.

In the meantime, explore the free features, tips, tricks and videos here on our blog. Tell us what you think, we'd love to chat: blog@teamtreehouse.com

Stay Updated

Sign up for our newsletter, and we'll send you news and tutorials
on web design, coding, business, and more! You'll also receive these
great gifts:

checkArt and the Web: Line, Shape, and Form - An eBook by Treehouse Teacher Nick Pettit.

checkOn Freelancing - An audiobook about running your own business by Simon Collison.

Swift is a new programming language created by Apple to program iOS apps. If you are new to programming or to Swift then this course is for you. Learn about programming concepts like: variables, types, collections and control structures.

Ruby is a programming language with a focus on simplicity and productivity, and it's used to create some of the biggest websites in the world. Learn how to work with Ruby and write simple Ruby programs in this introductory course.

Interested in creating Android apps? Learn the Java programming language, a tool for Android development called Android Studio, and some very basic concepts of the Android Software Development Kit, or SDK.

Bring your big idea to life! Learn how to start a company on the right foot with an introduction to basic business concepts, including corporate structure, marketing, finance, and accounting. Then you’re ready for more advanced business strategies.