Ross doesn’t trust Microsoft’s approach to Web

SocialText’s founder, Ross Mayfield, nails why a bunch of my friends don’t trust Microsoft and are finding what Microsoft’s Web offerings quite boring (or, even worse, worthy of derision).

As I’ve been going around the world I’ve been meeting with many people who’ve built their companies on non-Microsoft stuff. Some of whom have companies worth billions of dollars now. Some of whom you’ve never heard about unless you read TechCrunch. Here’s 12 reasons Web 2.0 entrepreneurs like Ross tell me that they aren’t using Microsoft’s stuff:

1) Startup costs. Linux is free. Ruby on Rails is free. MySQL is free.
2) Performance per dollar. They perceive that a Linux server running Apache has more performance than IIS running .NET.
3) Finding tech staff is easier. There are a whole new raft of young, highly skilled people willing to work long hours at startups who can build sites using Ruby on Rails.
4) Perception of scalability. The geeks who run these new businesses perceive that they can scale up their data centers with Linux and not with Windows (the old “Google runs on Linux” argument).
5) That Microsoft doesn’t care about small businesses. After all, Microsoft is an evil borg, but Ruby on Rails comes from a single guy: David Heinemeier Hansson. He has a blog and answers questions fast.
6) That open source makes it easier to fix problems and/or build custom solutions. A variant of the old “Google or Amazon couldn’t be built on Windows” argument.
7) On clients, they want to choose the highest-reach platforms. That doesn’t mean a Windows app. Or even an app that runs only in IE. It must run on every variant of Linux and Macintosh too.
8) They don’t want to take shit from their friends (or, even, their Venture Capitalist). Most of this is just pure cost-control. I can hear the conversation now: “OK, you wanna go with Windows as your platform, but is the extra feature worth the licensing fees for Windows?”
9) No lockin. These new businesses don’t want to be locked into a specific vendor’s problems, er products. Why? Because that way they can’t shop for the best price among tools (or move to something else if the architecture changes).
10) More security. The new businesses perceive Linux, Apache, Firefox, and other open source stuff to have higher security than stuff built on Windows.
11) More agility. I’ve had entrepreneurs tell me they need to be able to buy a server and have it totally up and running in less than 30 minutes and that they say that Linux is better at that.
12) The working set is smaller. Because Linux can be stripped down, the entrepreneurs are telling me that they can make their server-side stuff run faster and with less memory usage.

Now, why am I telling you this stuff? After all, I’ve just given you a list of perceived competitive advantages for Linux, Ruby on Rails, MySQL, and others. Isn’t this yet another example of why Scoble should be fired for being negative on his own company?

No.

See, I don’t want uninformed customers. That doesn’t help me. It doesn’t help Microsoft. It doesn’t help the customers. I want you to ask your Microsoft salesperson the tough questions before you buy into any of our new Web stuff. And, I start with the presumption my readers are smart enough to use Google or MSN or Yahoo to find out this information anyway. If you don’t get the right answers from Microsoft when it comes time to consider new Web technologies/methodologies/tools, er, if we don’t answer these points above, then I want you to run to the competition (and I’ll help you go there, just like I did when I helped run a camera store in the 1980s). And, when we bring services out, or bring new Web strategies out, I want you to trust us because we treated you right and gave you all the information.

Thanks Ross, though, for bringing your distrust out into the open. That’s helpful cause at least we can work on it now. And deal with it openly, without FUD, is what we’re going to do. Or, we’re going to be fired. That’s my cautionary tale to everyone inside Microsoft. Pay attention to this stuff or you’ll find yourself working somewhere else cause the customers went somewhere else.

What do you think? Did I miss anything in my list of 12?

276 thoughts on “Ross doesn’t trust Microsoft’s approach to Web

  1. I think Microsoft technologies are costly in compression to other technologies that’s why Web 2.0 entrepreneurs like Linux supported technologies or may be open source is not available in Microsoft product.

  2. I think Microsoft technologies are costly in compression to other technologies that’s why Web 2.0 entrepreneurs like Linux supported technologies or may be open source is not available in Microsoft product.

  3. Yes, you missed that by default, Rails has support for more than one database, like PostgreSQL which is a good (if not perfect) choice when you develop applications for medium-to-big enterprises (in my experience, our enterprise manage about 1~2 Tb of data).

    In fact, .NET allows to do it so, the framework isn’t expensive (it’s free) but how does it cost to get a good component like CoreLab PostgreSQL?

    I don’t find MySQL a good choice, but it’s a looong story.

    Another stuff is that some features like partial rendering and ajax work with Rails is easier than with Microsoft Atlas (which is a community preview at this point)… What else?

  4. Yes, you missed that by default, Rails has support for more than one database, like PostgreSQL which is a good (if not perfect) choice when you develop applications for medium-to-big enterprises (in my experience, our enterprise manage about 1~2 Tb of data).

    In fact, .NET allows to do it so, the framework isn’t expensive (it’s free) but how does it cost to get a good component like CoreLab PostgreSQL?

    I don’t find MySQL a good choice, but it’s a looong story.

    Another stuff is that some features like partial rendering and ajax work with Rails is easier than with Microsoft Atlas (which is a community preview at this point)… What else?

  5. I can’t believe nobody hit this one….

    1a. Auditability.

    I’ve done a lot of work with financial and other organisations that are required to be able to prove that they know where all data coming in to a system comes from, exactly what pieces of the system can read and/or modify that data, and how it gets shipped out of the system (to storage or to other systems). For each of THOSE pieces, repeat the process, until you have a fully-defined (and -documented and at least in theory -understood) system, where everything that matters is known and pieces that aren’t relevant to the system in question simply don’t exist.

    Now, try that exercise in an all-Microsoft environment. Prove that there are no hidden pieces that can trash your data, or drop the network connection because of a driver failure, or which write data in a proprietary format that you can’t guarantee you’ll be able to open in 29 years 11 months’ time, just before your data escapes over the sunset horizon.

    Now try that same exercise with open-source systems. From the operating system to the Web server to the database system to all the other bells, whistles and blinkenlights, I can make sure that everything I need is in the system, and nothing I don’t need is. DVD player on a database server? Who needs it? What I DO need is to be able (or have the consultants my auditors retain able) to prove with legal and fiduciary certainty that the system as deployed introduces no possible errors into the data stream. I can preserve the entire definition of that system so that, in June 2036 or whenever, those auditors can build a real or (certified) virtual system that exactly reproduces what I’m doing today, run the same audits and tests, and prove once again that the system I and others long since retired ran against the data (then apparently in dispute) and all is, again, correct.

    I’ve been developing using Microsoft tools for nearly thirty years. I’ve got half a dozen computers stuck in storage back in the States dating from the Carter Administration. I’ve developed in assembler and FORTRAN and C++ and VB and Lisp and Python and PHP and 20 or so other languages on 30 or so different platforms, and there is no way I would recommend a Microsoft system in a regulated or fiduciary environment. I’ve seen too many examples of hidden defects in a system, or undocumented/unknowable interactions between systems, FUBAHORing systems with Heisenbugs.

    1b. Clean design.

    If you think about it, this is a handmaiden of 1a (and of the ‘scalability’ comments earlier). I should be able to take any component of the system I build, yank it and replace it with another component that satisfies the same interfaces and functionality, with no changes to the data or control flow of the system. I can’t do that in a Microsoft environment; too many of the “pieces” are tied together in mysterious and undocumented and unnecessary (from the standpoint of stated purpose) ways. And unless I can do that, I’m locked in; I no longer have control of my business or its processes; my vendor does. I have no desire – and my clients have no desire – to be the dog that’s wagged by the tail that’s tossed about by the flea at the tip.

    Other than that, Robert, I thiink you’ve hit the proverbial nail a good whack. Apologies if I’ve beaten it out the other side of the box, but closed boxes aren’t a good place to be in at all.

  6. I can’t believe nobody hit this one….

    1a. Auditability.

    I’ve done a lot of work with financial and other organisations that are required to be able to prove that they know where all data coming in to a system comes from, exactly what pieces of the system can read and/or modify that data, and how it gets shipped out of the system (to storage or to other systems). For each of THOSE pieces, repeat the process, until you have a fully-defined (and -documented and at least in theory -understood) system, where everything that matters is known and pieces that aren’t relevant to the system in question simply don’t exist.

    Now, try that exercise in an all-Microsoft environment. Prove that there are no hidden pieces that can trash your data, or drop the network connection because of a driver failure, or which write data in a proprietary format that you can’t guarantee you’ll be able to open in 29 years 11 months’ time, just before your data escapes over the sunset horizon.

    Now try that same exercise with open-source systems. From the operating system to the Web server to the database system to all the other bells, whistles and blinkenlights, I can make sure that everything I need is in the system, and nothing I don’t need is. DVD player on a database server? Who needs it? What I DO need is to be able (or have the consultants my auditors retain able) to prove with legal and fiduciary certainty that the system as deployed introduces no possible errors into the data stream. I can preserve the entire definition of that system so that, in June 2036 or whenever, those auditors can build a real or (certified) virtual system that exactly reproduces what I’m doing today, run the same audits and tests, and prove once again that the system I and others long since retired ran against the data (then apparently in dispute) and all is, again, correct.

    I’ve been developing using Microsoft tools for nearly thirty years. I’ve got half a dozen computers stuck in storage back in the States dating from the Carter Administration. I’ve developed in assembler and FORTRAN and C++ and VB and Lisp and Python and PHP and 20 or so other languages on 30 or so different platforms, and there is no way I would recommend a Microsoft system in a regulated or fiduciary environment. I’ve seen too many examples of hidden defects in a system, or undocumented/unknowable interactions between systems, FUBAHORing systems with Heisenbugs.

    1b. Clean design.

    If you think about it, this is a handmaiden of 1a (and of the ‘scalability’ comments earlier). I should be able to take any component of the system I build, yank it and replace it with another component that satisfies the same interfaces and functionality, with no changes to the data or control flow of the system. I can’t do that in a Microsoft environment; too many of the “pieces” are tied together in mysterious and undocumented and unnecessary (from the standpoint of stated purpose) ways. And unless I can do that, I’m locked in; I no longer have control of my business or its processes; my vendor does. I have no desire – and my clients have no desire – to be the dog that’s wagged by the tail that’s tossed about by the flea at the tip.

    Other than that, Robert, I thiink you’ve hit the proverbial nail a good whack. Apologies if I’ve beaten it out the other side of the box, but closed boxes aren’t a good place to be in at all.

  7. This may seem petty, but you have got to update the fonts on your site. Times New Roman reminds me of the first mid-nineties sites (since TNR is the default font) and is not the most readable (or good looking) font. Try Georgia, Garamond, Verdana…

  8. This may seem petty, but you have got to update the fonts on your site. Times New Roman reminds me of the first mid-nineties sites (since TNR is the default font) and is not the most readable (or good looking) font. Try Georgia, Garamond, Verdana…

  9. a very interesting post with many interesting replies. to me, it all comes down to hosting. it’s not that i cannot afford the web and db server here in my home, it’s that i can NEVER find a reliable host that will host MS for a reasonable price. i use ASP, ASP.NET and SQL Server daily for some of the largest automotive companies in the world but it’s all hosted on their own servers.

    i simply cannot do much freelance work for small to medium companies, because no host seems to offer RELIABLE SQL Server at a reasonable rate. Typically it’s $100s per month, and what start-up can afford it.

    having not touched PHP/mySQL for 5+ years I’m not considering going back to it just for work outside my 9-5. that kind of sucks with me though, i can knock up a decent, reliable database & website in a few hours on MS but where to host it!

  10. a very interesting post with many interesting replies. to me, it all comes down to hosting. it’s not that i cannot afford the web and db server here in my home, it’s that i can NEVER find a reliable host that will host MS for a reasonable price. i use ASP, ASP.NET and SQL Server daily for some of the largest automotive companies in the world but it’s all hosted on their own servers.

    i simply cannot do much freelance work for small to medium companies, because no host seems to offer RELIABLE SQL Server at a reasonable rate. Typically it’s $100s per month, and what start-up can afford it.

    having not touched PHP/mySQL for 5+ years I’m not considering going back to it just for work outside my 9-5. that kind of sucks with me though, i can knock up a decent, reliable database & website in a few hours on MS but where to host it!

  11. Pingback: Administrator

Comments are closed.