Software Entrepreneurship Track - Tracking a Microsoft .NET based startup
Outside of my fulltime job, I have a couple of projects I am working on in my spare time. Both of these projects of course are RIA (Silverlight) ideas that are currently little side projects but hopefully will turn into something more. I have worked in over 4 environments that I would consider startups. All 4 have been acquired or sold while being an employee there. As an employee, I have gained a great deal of experience while dealing with the many benefits and drawbacks while working in startup surroundings. However, most of it comes from an internal perspective. As an employee, you don't see a lot of the external events going on and sometimes the big picture. Until you look at the startup process from an external vantage point do you appreciate what it takes to take an idea and mature it into a successful business.
I wanted to write about a great resource for Microsoft based startups from a high level vantage point. This article focuses on one company's technical implementations of a new business model. I am not affiliated with it in any way and all this information is what I have found out from tv, podcasts and web searches. Why is this on my site? The information below is a great way of looking at a technology from another angle for a startup. Furthermore, its based on .NET; how can you go wrong?
Several months ago, I watched several entreuprenurial shows on the MOJO channel. One of the shows was called Start-Up Junkies which followed the start of the company called Earth Class Mail. The company featured was trying to develop a system to make postal mail available online and easy to manage like e-mail. The show mainly focused on the business plan and raising capital for the business. It essentially was a reality show on a startup. You have all the drama, hardships and the roller coaster ride of a startup well on display in the 8 episodes. If you have Mojo as part of your cable/satellite, you can catch re-runs of the show. However, it's just easier to watch all the episodes at your leisure on Hulu. After watching all the episodes several months ago, some of the insight in the episodes kept repeating in my head. So I decided to write about some of my thoughts on it.
Reality Episodes and .NET stuff
The first few episodes (while still interesting to me) focus more on the finances and raising capital. I highly recommend you check all of them out regardless of your background. However, Episode 8 is the episdode developers/software entreupreurs will DEFINITELY want to check out. As a .NET developer, episode 8
has everything you can think of:
- Description of re-write from LAMP -> Microsoft .NET
- ASP.NET Exceptions (I counted at least 4 different ones)
- Lambda expressions whiteboarded (you gotta love that)
- Developer & QA bug/defect meeting
- CEO & VP of Engineering uncomfortable conversations over software deadlines
- Deadline for a presentation
- Multiple plans in case of failure
- Showing less (don't push this button)
- Recruting employees from Microsoft to the startup
- Cross referencing of web/advertising campaign with Google Analytics & the content network (that is more in episode 7)
I am not going to go over the episode in detail. For those who are in the software business, you will definitely want to check it out. Just from the things I mentioned above, you should love the amount of .NET geek stuff in there for a 30 minute show! If you are a reality TV junkie and a .net developer, you are going to love the show.
"We just moved to the .NET platform so that we can scale"
-- CEO of Earth Class Mail
Gotta LOVE that quote! Even though I am passionate about .NET, I think the quote misrepresents the facts. Let's put the quote in context. Earth Class Mail is in the busines of providing your postal mail online by having it scanned and materializing it digitally. They were originally written in PHP and based on the LAMP architecture. There are gigantic sites that have millions of hits per day that obviously scale very well (in fact, some would argue better than .NET) that are written on LAMP. That comment taken literally is completely false. If you look at the Hulu message boards of Google online, you will see a lot of people referencing that comment and essentially making fun of it. Ron (the CEO) even repeats the quote on other message boards :) ("...our platform is built on .NET now in order to support millions of simultaneous users").
Literally, that is a ridiculous comment. However, let's evaluate a couple of things. First, this is the CEO talking. I don't know Ron, nor have I ever met him; however, let's assume that his developer skills are average at best. He is most likely repeating talking points from a meeting with his engineering staff. How can this be taken out of context? Let's dig deeper into the technology they are using. The following I am going to go over is NOT part of any of the shows directly. Several months ago I came across the interview with Matt Davis with Scott Hanselman who was/is (?) the architect at Earth Class Mail. This interview was done in October 2007, back in the beta days of .NET 3.5.
If you listen to the interview, you have a little more insight as to why they went with .NET and why you could argue that .NET is the platform that would scale for them. I am going to look at it from three different perspectives.
In the interview, Matt asserts that the original system was done by Russian contractors and completed using the LAMP architecture stack. It was a 2 tier stack largely focusing a lot of the logic on PHP. Obviously, there are many applications that can be built on the LAMP stack that scale and run some of the biggest online businesses today. Matt (in the interview) and Paul Irvine who was the VP of Engineering at Earth Class mail (in the MicrosoftStartUpZOne interview) both obviously agree that the LAMP architecture could scale. It was the orginal LAMP prototype that was not built to scale and needed to be replaced. Going back to the original statement about moving to .NET for scaling. The comment is not too far fetched if you are scaling your business with a new system that replaces the old one. It's technically a valid statement, even though they could have just re-architected the original LAMP system to scale.
Earth Class Mail is in the business of providing your postal mail online to you via the web (SaaS). This involves sorting the mail, scanning it and providing high-res images of the mail contents. This is the key part of their business. Obviously, there is a decent UI/graphical portion to the application(s) in the system. Listening to the interview with Matt, you understand that they went with .NET 3.5 and WPF for some of the presentation enhancements to the system. .NET is probably the only framework that allows you to create a rich UI experience (while still inside the IDE and using the same language) using WPF or Silverlight. This is where I agree 120%. While it is not clearly stated, the future presentation scalability of a system is greatly enhanced if it includes a native stack that will be improved. WPF and Silverlight are going to be the future mainstream presentation layers for most .NET based systems. This is exactly where the scalabiliy shines. You have the ability to leverage a common codebase and deploy fat client applications (local, administraton) via traditional methods or ClickOnce. If they want to provide a SharePoint web part with Silverlight with the Earth Class Mail technology, they can choose to do so. While the presentation offerings expand, they are using one native technology under the covers as the engine. From a UI perspective, the .NET technology allows you to scale a great deal.
A large part of Earth Class Mail's business is focusing on Enterprise level deployments. Not only are they targeting the electronic delivery of postal mail for the masses, but for entire countries and Fortune 500 companies. In fact, during the show one of the challenges that creeps up is them dealing with an enterprise level client codename "Cheetah". So what does this have to do with .NET scaling? Obviously, enterprise level deployments are usually synonymous with providing deep scalability. This is where I think .NET comes in. Open source and RAD alternatives are great in scaling and delivering rich systems for the masses (your average end user). This is where Microsoft is getting CLOBBERED by Google (Gmail, Docs, Maps), Adobe (Flash), Apple (iPhone). However, Microsoft's strengths are in its enterprise level products: collaboration (SharePoint), e-mail (Outlook), Business Intelligence (Analysis Services), Enterprise Reporting (Reporting Services), database storage (SQL Server), SOA (Biztalk & WCF), etc. A lot of these products have rich integration with each other and the .NET framework. If your focus is on writing an app that integrates with FaceBook, iGoogle, uses Amazon cloud storage and/or works on Macs/Linux, then obviously Microsoft technologies are probably not your top option. However, since most Fortune 500 companies are more comfortable with Microsoft based technology from the workstations all the way to the enterprise applications, using .NET is a no brainer. The amount of scalability that can be achieved with all the Microsoft products together is enormous.
The Power of the Microsoft Partnership
Earth Class Mail has huge potential to be a multi billion dollar company. Having them utilize the .NET platform is an obvious big win for Microsoft. Microsoft is trying to market its tools not just for the enterprise, but for startups as well. Earth Class Mail in return for being a partner receives huge benefits of its own. Microsoft obviously provides its partners with technical advise, training resources and their own internal roadmap insight. Furthermore, a Microsoft partnership goes further in opening doors for strategic growth and exposure that are not possible for a small company going at it alone. A perfect example of this is shown in Episode 8. Earth Class Mail featured at the Microsoft booth at the Post-Expo. Furthermore, the CEO is invited to deliver one of the key speeches at the expo. These are excellent examples where a strategic partnership with Microsoft goes well beyond just the technology and can open up an "enterprise geared" startup valuable avanues.
Here is a good list of all the items offered by Microsoft for startups. Also check out the Microsoft StartUpZone for more information.
In conclusion, scaling needs to be looked at from different perspectives other than just a literal comment. Of course, .NET is not the only platform that can scale. However, in terms of what the business is and who it is targeting, I think that chosing the .NET technology was an obvious and correct choice for them.
I just wanted to write a few notes about the show and anyone who is thinking about doing a .NET based startup or is a developer might find not only interesting but entertaining as well.