Why I Love The Microsoft Web Platform (And How I Built an Enterprise Ready Site in 48hrs)
There is no other web platform in the world that lets you build a fully functional, optimized, and scalable enterprise ready website in under 48hrs. Microsoft’s web platform provides you with a powerful set of tools, servers, and tech that can help you take an idea in your head and make it a reality within the blink of an eye.
Full Disclosure: If it wasn’t clear by the blurb next to the paper clip in the top left I work for Microsoft. Moreover, I work in DevDiv and see Scott Gu in the halls everyday. However, this really is my unbiased personal opinion of the Microsoft Web Platform.To understand the reasons behind why I’m writing this post I need to give you some background.
On a recent trip home to see family and friends I had the idea to create a 100% free dating website very similar to plentyoffish.com. Except, I decided to target it towards the Indian and non-resident Indian (NRI) audiences – I won’t bore you with why but if you’ve ever heard of Shaadi or BharatMatrimony then you know where this is going. I looked at my competition and designed a site in my head that would be able to compete with these juggernauts of Indian matrimony and dating. I called it Desi Spark (Desi means a person of Indian or Pakistani descent) and wanted it to be the first professional 100% free Indian matrimony and dating website.
You can see the finished site here. If you know any desis please send the link their way!
The Reason For Writing
Now back to the reason why I’m writing this. Put simply, it’s because I’m absolutely amazed at the raw power and robustness of what we at Microsoft offer. When you use all the offerings in concert you just have to step back and admire the beauty. Moreover, I LOVE the fact that every tool (except two) I used to create Desi Spark was for free and from Microsoft. Even more, I could have signed up for BizSpark or WebsiteSpark and got immediate access to full-featured development tools! (If you’re a student check out DreamSpark).
Seriously, who else but Microsoft offers this?
Full Disclosure (A Little More):
Before we talk shop about how I built my own enterprise ready website I want to give a little more disclosure on my background. If you follow my blog you’ll likely have seen that 1) I don’t post regularly (more because of NDAs than anything else) and 2) I’m a big fan of ASP .NET, ASP .NET AJAX, and of course JQuery. I was a web dev for years before I turned PM so I’m pretty familiar with the technologies.
I did create Desi Spark in approximately 48hrs but I’ve subtracted away all the countless hours of design, graphics, and testing I spent. That is a pure development cost. If you’re like me you know with a good design things just work.
Dude, It’s Easy To Create A Dating Site In 48hrs
Well it is with the Microsoft Web Platform . No, but seriously, I hear ya. If this was a cookie cutter site I’d fess up but it isn’t. It was created for the demographics I’m targeting and consequently has a lot of cool features like:
- Custom profiles depending on a user’s intent (i.e. matrimony or dating)
- Photo album upload with built-in cropping tool
- Advanced Hotmail style messaging system
- message users
- see sent mail
- see who’s read or delete your messages
- print messages
- save messages
- message limits
- Ability to see who’s viewed your profile
- Advanced search that finds matches on over 20 different criteria
- Custom matching algorithm to find compatible users
- Favorites system with ratings that you can sort on
- Contact preferences to determine who’s allowed to message you (based on multiple levels of criteria)
- Block users
- Friend referral system
- … and more… I’m getting tired of typing them all but I’ve taken some screen shots below so you can check it out
OK, let’s talk shop. It’s all HTML 5 – just kidding! Let me walk you through my stack, and then through the tools I used.
I used ASP .NET which is free and has a rich set of features, integration with databases and makes web services a breeze (check out this post – a little dated but still enough to get you going).
Throw on ASP .NET AJAX and all their amazing rich controls and then add the Microsoft Ajax CDN to get JQuery (supported by Microsoft!) and JQuery UI and you’ve got an insane amount of UI power at your finger tips that all work seamlessly together. Don’t forget about jQuery validation for some slick client-side validation (but always always remember to validate on the server!).
So we’ve got the UI covered; what about data? Piece of cake! Easily add data-driven functionality by using the robust data controls, LINQ and LINQ to SQL. You literally just drag and drop and your entire data model is built in less than 60 seconds. No more fussing with DataSets. If you don’t know SQL then use LINQ to query your database. You don’t even need to write stored procedures anymore thanks to LINQ – it’s equally secure and probably optimizes better (although I will admit I used sprocs for any complex queries like searching and the matching algorithm, but for any simple select/create/update/delete operation I used LINQ to SQL).
We’re still not done. Finally, I used the Enterprise Library from Microsoft Patterns and Practices to implement all my exception handling and logging logic. Now I get emails when there is a P0 error, and everything else is logged to my database. Set up was simple thanks to the tools that it provides and all I had to do was implement a simple try/catch pattern to get the correct behavior.
On my local machine I installed SQL Server Express which is free for both development and deployment. You get:
- x32/86 or x64 support,
- migration tools to easily import or export your data which comes in very handy when moving to a production database,
- all the programmability support you need like full text search, CLR integration and XML support (this is very cool btw.),
- and even reporting services allowing you to export to Excel, Word, or PDF
What else but IIS which is again free to use! A modular and extensible platform for hosting your website. It’s has too many features to name but the most important takeaway is that it does all the work for you. It lets you host both .NET and PHP sites which was perfect for me since I wanted Desi Spark on ASP .NET but the Desi Spark blog on PHP.
Let’s Take A Breather
WOW – is it just me or is that a lot of powerful tech for zero dollars and zero cents ($0.00)! I hope you’re starting to see why I’m so excited and so proud of what Microsoft offers. The crazy thing though, is that I haven’t even mentioned the tools yet…
I only needed four tools to create Desi Spark and 2 of them were from Microsoft, but they were all free.
Visual Web Developer Express
Visual Web Developer Express is a free development environment that you can use to create and test web applications. It has a design surface, powerful debugging, support for AJAX and jQuery, intellisense and integration with IIS.
SQL Server Management Studio Express
The Management Studio is a free integrated environment for developing and configuring your SQL server. It had everything I needed to build an enterprise ready website.
During my debugging and testing an SQL profiler was the only tool I cried out for that wasn’t included. Thankfully someone has created a great tool that more than met my needs. Check it out here.
Vault Source Control
Source control isn’t a must have but it sure makes life easier. I was unable to find a free 1 user license offered by Microsoft so I used Vault which is straight forward to set up.
So there you have it. Everything I used to create Desi Spark – the first 100% free Indian matrimony and dating website – all for free thanks to Microsoft. The framework made it possible, and the tools made it simple.
What has the Microsoft Web Platform empowered you to create?