When heading out to the Mix 06 conference, one of the things I wanted to get my head around was is Microsoft a viable Web 2.0 application development platform. I talked to a lot of people and learned a bunch of things about Microsoft and their place in the web application world. Subsequently Microsoft invited me out to Seattle for their Microsoft Technology Summit(MTS).
I’m building Zigtag on the LAMP stack using PHP/MySQL and was open to seeing what the Microsoft platform had to offer. While the Microsoft koolaid (er Redbull™) may of not yet worn off, I wanted to outline some of the things I discovered that your average LAMP developer (like myself) may not know.
This list isn’t meant to suggest that an application built on a LAMP stack doesn’t share some of these same attributes, but to more highlight that Microsoft may be more of an option than I once thought.
13 reasons to consider the Microsoft platform for Web 2.0 development
1. Free Developer Tools.
Microsoft offers their Visual Web Developer 2005 Express Edition as a free download. This is a subset of the full Visual Studio focused solely on building web applications.
2. Free Database.
In addition to free developer tools, Microsoft also offers a free database in their Microsoft SQL Server 2005 Express Edition. This is a subset of their commercial SQL Server 2005 database and can be deployed commercially with the following limitations:
From their FAQ:
SQL Server Express is designed to meet the needs of simple applications. It is limited to using 1 CPU and up to 1GB RAM, with a 4GB maximum database size. SQL Server Express does not include any of the advanced components of SQL Server including Analysis Services, Reporting Services, Data Transformation Services, and Notification Services.
3. Microsoft Atlas makes AJAX easier. Microsoft Atlas is Microsoft’s AJAX library for making developing web applications easier.
This point I intend to explore a little more but from the demos at Mix06 and some discussion with developers, it looks like removes a TON of the work required to AJAX enabling a Web 2.0 application.
Of interest during one of the demo’s they showed the Microsoft Atlas platform working with a Apache/PHP backend without any changes to the code. Cool!
At the MTS event, Scott Guthrie announced the Atlas Control Toolkit which is a library of AJAX controls. The VERY interesting thing was that Microsoft is offering them with an open license. And is encouraging other developers to contribute. It’s released under the Microsoft Permissive License which looks good too.
From ScottGu:
I’m not sure we need YAAF (Yet Another AJAX Framework) and I wonder why Microsoft didn’t just put their muscle behind an already open source controls framework like Dojo.We are going to use a collaborative, open-source, model to develop it. Specifically, we are going to setup a source control repository on the Internet and allow both Microsoft and non-Microsoft developers to work on the project together. This means you’ll be able to contribute controls of your own to the toolkit, make improvements to existing ones, and fix bugs. We’ll then publish regular binary drops (with source of course) that any ASP.NET developer will be able to download and use within their sites (if popular your control might even be used billions of times a day).
Note to Microsoft: Don’t make your downloadbles .exe’s If I’m looking to checkout ATLAS from my Macintosh the .exe makes it a pain.
4. Microsoft doesn’t HAVE to get ALL of your business.
Traditionally, with Microsoft if you liked the value proposition of one piece of the development stack from Microsoft, you have to get everything from Microsoft. When building Web 2.0 apps using the Microsoft platform it can be a mix and match opportunity.
Start with ATLAS which is free and the contorls are open source if you want to use it with PHP, Apache and MySQL no problem. Mix and match in any of ASP, IIS, MSSQL in place of PHP, Apache, MySQL if/when it makes sense.
There are advantages to using the whole stack but they aren’t forcing it any more. Use one or none in combo with Atlas. Their message is there are integration advantages to using the whole stack but because you don’t like or can’t justify the cost of one element in the stack doesn’t mean you have to take Microsoft completely out of the equation.
5. Microsoft solutions can scale.
One of the brilliant moves by Microsoft at Mix 06 was brining the CTO of MySpace on stage for the keynote and talking about how their service has grown and scaled based on the Microsoft platform. With over 260,000 new user registrations per day, more than 60 million users and 1.5 Billion page views per day, MySpace recently passed MSN to become the #2 visited site on the Internet!
As developers of Web 2.0 applications, we can dream of having the scaling problems that MySpace has.
I’d love to know what the Myspace licensing costs are. I’m sure it’s a big number but when they converted from Cold Fusion to Microsoft a while back I’m sure they ‘ran the numbers’ and Microsoft made sense. That’s a ton of time, support and convenience that Microsoft has to be providing over a LAMP based solution in exchange for all those dollars.
6. Microsoft pricing is flexible.
Clearly with a LAMP stack the software costs are near zero but potentially at the expense of development speed or ongoing maintenance/support. Clearly the Microsoft significant software costs (though as I’ve illustrated above, Microsoft is looking to lower the cost barriers to getting started).
One of the programs I learned about is the Microsoft Service Provider License which is pretty interesting. Basically it allows you to license your Microsoft software on a month to month basis. You can add and remove additional MSSQL or IIS servers to your server farm on a monthly basis and pay only for the licenses you use that month. If you’re seasonal or have a major event that needs to handle a bunch more traffic, you can quickly scale up or down without a major software license investment.
I’d really like to get a ballpark on what the cost of Microsoft licenses are for a range of scenarios (small startup up to a MySpace type configuration).
7. Ray Ozzie
Just like Apple bought Steve Jobs for $400MM and got NeXT for free, I think Microsoft bought Ray Ozzie and got Groove for free. While it would be hard to match the impact Steve Jobs had on Apple, I really believe that Ray Ozzie has the opportunity to make a significant impact on the future of Microsoft.
Innovations like Live Clipboard & Simple Sharing Extension are important plumbing in the Web 2.0 world and by contributing these ideas in an open manner is a sign of Microsoft being a better corporate citizen.
Fortune has a great article about the impact of Ray Ozzie on Microsoft.
8. Robert Scoble
I think Robert is doing a massive service to Microsoft by exposing the blogging community to another side of Microsoft. Robert’s ability to both criticize Microsoft when they deserve it and publicly defend Microsoft when there is misinformation is great. He’s providing a human face to the company. His blog posts and the few discussions I’ve had with him have all been quite balanced. I think having Robert on board makes it harder for Microsoft to be evil.
Reading Robert’s blog was the first step in me considering Microsoft to not be COMPLETELY evil.
9. Being based on the Microsoft platform doesn’t limit your acquisition options.
This is subtle, yet an important consideration for some Web 2.0 startups. The recent purchase of Writely (which was a Microsoft ASP based service), showcases that it isn’t a prohibitive barrier in the Google acquisition process.
10. Microsoft wants to be a part of the community
The great thing I found about the Mix 06 and MTS events was the diversity of those in attendance. By reaching out to people that aren’t normally attending Microsoft developer events, I think Microsoft got to hear a much broader array of opinions and the interactive nature of many of the sessions showcased they really want to listen, learn and be a part of the web community.
Microsoft is interested in microformats & RSS, opening up their search to API’s and their contributions of SEE and Live Clipboard further showcase that Microsoft wants to really be a part of the Web 2.0 community.
11. Microsoft employees aren’t evil.
My impression of the whole Mix 06 event and the subsequent Microsoft Technology Summit is Microsoft is truly interested in getting feedback and having discussions from non traditional sources. Having Tim O’Reilly on stage for the Keynote at Mix 06 asking Bill Gates questions was interesting. It was great to see the contrast between the openness of Web 2.0 with the traditional closed nature of Microsoft.
Microsoft has dozens of Developer Evangelists whose sole job is to help developers understand the value they can get out of the Microsoft platform. One thing I liked was that most (all?) of them don’t have any sales quotas. There job is to truly evangelize the platform.
The many Developer Evangelists I’ve talked to I really enjoyed their demeanor. It’s not a hard sell at all. Without them saying it, I got the feel of:
“Here’s what were up to if it makes enough sense, we’ll help you become a customer, if it doesn’t at least we’re helping dispel a few myths and learning where we still suck.”
While at Mix 06, I chatted with a bunch of Microsoft people and they all were anxious to understand and discuss my needs as a Web 2.0 application developer. They all managed to provide a fairly balanced discussion. It’s clear that the people I talked to are passionate about the advantages of the Microsoft platform.I didn’t drink enough Kool-Aid to entirely wash away any doubts of corporate Microsoft evil status…but I can work on that.
12. Microsoft has good development resources
Learn ASP, is a website that has a series of free webcasts that showcase the differences between ASP, PHP, JSP, Cold Fusion. This allows developers familiar with a particular language to contrast and compare against ASP. I’ve only skimmed them but the webcasts are quite comprehensive and would be helpful in understanding if ASP.Net is the right solution for you.
13. Microsoft speeds web application development
Not so sure about this one yet. From the many demos I’ve seen, the tools look quite mature and well thought out. Unlike the old days of Microsoft where the HTML code generated by their tools was awful, the code I’ve seen it output has been clean and workable.
All the demos seemed to make for a pretty quick and easy development process. I haven’t had an opportunity to fully explore the all the tools to confirm their ease of use but I’m optimistic.
I’ve spoken with a number of ASP developers, many who’ve come years of PHP development and they swear by the Microsoft ASP platform as a better and quicker development platform.
I’ve had a few offers by passionate ASP developers to help me port Zigtag over to ASP.
Conclusion
Microsoft has definitely lowered the barriers to getting started with the Microsoft platform for developing Web 2.0 applications. Clearly there are many other issues to look at before adopting the Microsoft platform including, security, ease of development, vendor lock-in, performance, initial learning curves and of course the ultimate software license costs.
I plan to continue developing Zigtag in PHP and MySQL, I’ll probably dabble with some of Microsoft’s tools to get a better understanding of the advantages and to see if they provide a better development experience. I know there are a FEW people reading this that are surprised shocked I’d consider the Microsoft platform (myself included). Perhaps the koolaid will wear off?
I’m interested in what you the reader thinks. Why would you consider or not consider Microsoft in building your Web 2.0 company?
Disclosure: Microsoft did fly me out for both Mix 06 and the Microsoft Technology Summit, put me up in nice hotels and even got me drunk on my birthday.
Technorati Tags: ajax, atlas, microsoft, mix06, myspace, ozzie, Scoble, SQLServer, VisualStudio, web 2.0, web2.0, web20






I would definitely add .NET to this list. What programming language do you know? How about the rest of your team? Doesn’t matter! .NET supports them all! Obviously this is just one benefit, .NET is very a very solid platform in all respects.