Live data from Hacker News

Building a Web-App the Microsoft Way

thinkvitamin.com

11–20 of 33 posts

Re: Building a Web-App the Microsoft Way

#11
post #3

The Microsoft platform has worked very well for Loopt as well, though I can't claim we're good enough to have had only two bugs since launch :) As for cost, we spend less on software licensing per year than we do for our least compensated employee by a substantial margin. We've also had no issues with security thus far (fingers crossed).

Just out of curiosity, why did you choose the MS platform? I mean what advantages did it provide over the open platforms that would actually be helpful for skilled programmers?

I chose Microsoft initially because it's what I knew best at the time, so it was the fastest way to get a working demo out the door. Then I stuck with it because:

SQL Server 2005: The only other options were PostgreSQL and Oracle. MySQL 5 had just come out and all the basic database features I intended to use (stored procedures, foreign key constraints, etc) were new, and thus untested. Oracle cost a fortune (I think I was quoted $65k/core as my only licensing option). SQL Server was a natural choice.

ASP.Net: At the time the only other well tested equivalent was Java, and my brief examination of it led me to believe it was basically equivalent for my purposes. It wasn't worth the switching cost. Rails was really new and also required full access to the database, which I don't grant to our web servers. PHP is extraordinarily difficult to keep clean when working in a team on a large project, so it wasn't really suitable (especially for the cell phone portion, which uses packed binary protocols). Python web frameworks were still in their infancy, or I would have chosen it.

C#: It's fine for a statically type language. I like that it's similar to Java, but a little more relaxed (delegates, unsigned types, etc.). I'm actually a horrible typist (20 WPM on a good day), so intellisense (increase speed) and compilation (find typos) were key. The .NET framework is actually really good and rivals Java's. MSDN docs are much more useful than JavaDocs in that they actually contain examples :)

Now, don't get me wrong. We're not a 100% Microsoft shop. We use Erlang (fault tolerant, distributed session state store), PHP (tile serving), Memcache, Apache (static content and PHP), PostgreSQL, Ubuntu and FreeBSD.

As for open versus closed source, not having access to the Microsoft source code has yet to be an issue. We've had to work around things once or twice (usually because what we were doing wasn't in the spirit of the framework), but we've never encountered an actual bug, and Microsoft's products have always worked as documented thus far. I'd rather not need source access than have to use it to get something working ;)

Ironically, the places where we've had problems are on the open source side. PHP x86 != PHP x64 (same release version, different behavior) on some distributions (cough RHEL cough), and PostgreSQL on FreeBSD 6 is anything but straightforward (max connection limit problems).

Re: Building a Web-App the Microsoft Way

#12

"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." This only addresses the development versions of their software. What about license costs for the production instance…

Before you've launched you can use the development versions. Once you've moved into an office the licensing cost doesn't really matter relative to other expenses.

We spend 13 times more money on cell phone contracts per month at Loopt than we do on MS software licensing (Office, Exchange, Windows Server, VS 2008, SQL Server, etc). Payroll is astronomically more. If the relatively minuscule amount of money you're saving from not licensing MS software makes a difference, I'd argue that you have bigger problems :)

There definitely are valid reasons not to use the MS stack, but cost isn't one of them in most cases. We've saved enough time by using it to more than cover its cost.

[Edit] For more on cost, look into the Service Provider License Agreement. You pay per month and only for what you used.

http://www.microsoft.com/serviceproviders/licensing/default....

Re: Building a Web-App the Microsoft Way

#13
post #9

ASP.NET and C# has worked well for Workpost so far. We were able to get version 1.0 online quickly and any issues we've had lately are not related to the platform. Scaling will be a difficult (but welcome) problem though SQL Server does not have to cost quite as much as most people think it does. Microsoft could, however, offer more incentives and assistance to startups who choose to use their platform. They've made…

Many of our best developers didn't know C# or ASP.Net when they started. That doesn't appear to be a huge problem if you find the right person.

We've actually received quite a bit of support from Microsoft (free software, design review sessions, books, etc).

http://microsoftstartupzone.com/blogs/ebt_success_stories/ar...

As for cost effective licensing: http://www.microsoft.com/serviceproviders/licensing/default....

Re: Building a Web-App the Microsoft Way

#14
post #12

"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." This only addresses the development versions of their software. What about license costs for the production instance…

Before you've launched you can use the development versions. Once you've moved into an office the licensing cost doesn't really matter relative to other expenses. We spend 13 times more money on cell phone contracts per month at Loopt than we do on MS software licensing (Office, Exchange, Windows Server, VS 2008, SQL Server, etc). Payroll is astronomically more. If the relatively minuscule amount of money you're savi…

[deleted]

Re: Building a Web-App the Microsoft Way

#15
post #10

"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." This only addresses the development versions of their software. What about license costs for the production instance…

Let's go on the assumption .NET MVC/mssql is comparable to rails/mysql or django/postgres in quality, performance, time to build, etc. How could anyone consider using the option that is not free and open source?

If you're leaving an enterprise job where you developed years of expertise in .Net technologies and wanted to start building on a stack in which you are already an expert.

Re: Building a Web-App the Microsoft Way

#16
post #2

Microsoft has done some good work in the last couple of years at making their tools suck a lot less for web development. ASP.NET MVC, a newer framework with a Rails-like approach, is also coming along nicely. Honestly, the main reason most ASP.NET websites suck so badly is that the Microsoft tries to make its tools accessible to developers who don't want to bother to learn and use web standards, and when used by the…

Couldn't agree more, the bar for entry with MS tools is very low, so it's not a surprise that lots of applications written with them suck.

The biggest problem I have with MS tools in my day job is usually getting the 3rd party add on tools to work. And those are often license problems...

Re: Building a Web-App the Microsoft Way

#17
post #12

"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." This only addresses the development versions of their software. What about license costs for the production instance…

Before you've launched you can use the development versions. Once you've moved into an office the licensing cost doesn't really matter relative to other expenses. We spend 13 times more money on cell phone contracts per month at Loopt than we do on MS software licensing (Office, Exchange, Windows Server, VS 2008, SQL Server, etc). Payroll is astronomically more. If the relatively minuscule amount of money you're savi…

That's fine and I even like using .net, but at any point MS can pull a VB6 "not supported" on any technology or part of your stack while it has known vulnerabilities and you can't do anything but chew on it. How can you even put a cost on that?

Re: Building a Web-App the Microsoft Way

#18
post #12

"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." This only addresses the development versions of their software. What about license costs for the production instance…

Before you've launched you can use the development versions. Once you've moved into an office the licensing cost doesn't really matter relative to other expenses. We spend 13 times more money on cell phone contracts per month at Loopt than we do on MS software licensing (Office, Exchange, Windows Server, VS 2008, SQL Server, etc). Payroll is astronomically more. If the relatively minuscule amount of money you're savi…

costs may not be the biggest problem, but what about the freedom to make changes to the source (to fix a bad exploit, add a feature, ...)? I still remember the telecom, I used to worked for, being burned by them; we had to pay x thousand dollars for a pre-release patch/bug fix for their black box software...

Speed and quality of evolution/innovation is another factor. MS generally doesn't like open source (their sourceforge clone is a start, but really doesn't go far enough.), and it took forever for MS to catch up to open source with LINQ (and polish it). The same goes for their unit testing and ANT-like deployment tool. (Yes, NHibernate and NANT have been there; but MS pretty much snubbed them instead of embracing them.)

At the end of the day the MS copy machine is fast, but not as fast (or good) as the open source movement.

Re: Building a Web-App the Microsoft Way

#19
post #17
post #12

Earlier quoted context omitted.

Before you've launched you can use the development versions. Once you've moved into an office the licensing cost doesn't really matter relative to other expenses. We spend 13 times more money on cell phone contracts per month at Loopt than we do on MS software licensing (Office, Exchange, Windows Server, VS 2008, SQL Server, etc). Payroll is astronomically more. If the relatively minuscule amount of money you're savi…

That's fine and I even like using .net, but at any point MS can pull a VB6 "not supported" on any technology or part of your stack while it has known vulnerabilities and you can't do anything but chew on it. How can you even put a cost on that?

I agree with your main point ("don't be a sharecropper" [1]), but as for the VB6 example, I don't think this is particularly convincing. It's not like VB6 users haven't had enough time to move over to VB.NET, and if they don't want to, they can still create applications using VB6. Existing VB6 applications are not suddenly going stop working because Microsoft isn't officially supporting VB6. What does 'support' mean anyway?

[1] http://www.tbray.org/ongoing/When/200x/2003/07/12/WebsThePla...

Post reply on HN