Thursday, March 15, 2007

The Business Case For Firefox



The incredibly good software development book Peopleware documents something extraordinary: hard numerical evidence that normal office environments have a powerful negative effect on productivity, both as measured by lines of code written and by number of defects. Cubicles considered harmful. While the anecdotal evidence which the open source movement provides in favor of this conclusion is obvious, Peopleware takes it to the next level by providing actual proof. It forces you to realize, this thing which conventional thinking would label a self-indulgent luxury is no luxury at all: it's a powerful competitive advantage.

At my job, we're fortunate enough to have the luxury of requiring our clients, in some cases, to use Firefox, and refusing to support Internet Explorer at all. But the reality is, it isn't a luxury either. This, also, is a powerful competitive advantage -- and more so for our clients than for us.

Here's why. Many of our clients need us to develop enterprise software for them; software they use to run their businesses. It's not at all unrealistic to imagine this software still running a decade from now. So on the one hand, you have a standards-compliant browser which will remain backwards-compatible for as long as Web standards themselves do. Ten years probably fits within that time frame. And on the other hand, you have a notoriously quirky browser which may some day become standards-compliant, and which will remain backwards-compatible for only as long as Microsoft feels like it. And remember, Microsoft has the single worst track record for security and effortless upgrade paths of any software company still in business.



We charge our clients extra for Internet Explorer compatibility. This makes it obvious in the short term that there's a cost associated with Internet Explorer. But as awesome as it is, there's a downside, and the downside is, charging extra for Explorer compatibility is easily dismissed as developer caprice -- as a quirk, as a necessary evil or irritating side effect when you're dealing with a bunch of strange people who care more about science fiction than business reality. (Remember, that's often what Joe Suit sees when he looks at a software developer.)

The way to translate things for Joe Suit is to get him to do the math. Your initial expense to build the software is going to be X; your ongoing expense to add new features falls in the range of Y. However, if you're asking us to develop Microsoft-specific code, your upfront costs will increase by alpha; and if you're maintaining that code, your ongoing costs will increase by beta. Be honest, make alpha a lot but not too much, but beta is going to be huge. Firstly because any developer in their right mind hates Explorer, and should be compensated simply for even going near that toilet in the first place; second because bad design costs money. Maintaining for Firefox is simply less work than maintaining for Explorer. Less work means less cost.

Also, be sure to indicate that your estimate is much more uncertain with Explorer than it is with Firefox, because Microsoft has total control over Explorer and can do any crazy thing they want at any given moment. They have a very consistent track record, when it comes to Explorer version upgrades, of breaking sites that worked perfectly well under previous versions. Under those circumstances, it's hard to say how much more expensive maintaining for Explorer will be; all you know for sure is that it'll cost more. Possibly a lot more.

Joe Suit is used to the idea that Microsoft is a no-brainer over the long term, but it's not a no-brainer in this case. Even though the words are almost identical, there's a huge difference between a decision which is a no-brainer and a decision which is brainless. Developing for a platform Microsoft controls made sense in the world of Windows, but in the case of Explorer, it's nothing but madness, and I say this not only from a developer perspective, but from a business perspective as well. Your long-term costs go through the roof and the security of your investment disappears.



It's that simple. If your clients don't know that, well, that's why they hire consultants in the first place. Educate them, show them how much money they'll save by switching to Firefox, and they'll say, "wow, you saved us a ton of money already, and this is just the sales meeting."

21 comments:

  1. > Maintaining for Firefox is simply less work than maintaining for Explorer. Less work means less cost.

    Yes, but this comment only applies to IE6, which is as ancient and decrepit as Netscape 4.x in its day. And it's hated for all the same reasons.. rightly so.

    IE7, however, is perfectly capable of rendering proper HTML/CSS with minimal workarounds.

    You're painting with an awfully broad brush here.

    Also, Firefox has some quirks of its own, whether you choose to acknowledge them or not. Using Safari will quickly teach you that.. or are you proposing Yet Another Browser Monoculture?

    ReplyDelete
  2. I concur. Nothing beats Firefox.

    ReplyDelete
  3. Jeff:

    Yes, but this comment only applies to IE6... IE7, however...

    Those of us who have been around the MSFT compatibility block will remember that people say this every single time MSFT releases something.

    It's like listening to a battered spouse. "Oh yes, they abused us in the past. But now it's different, this time they've really changed."

    I have no evidence that they've really changed. If we build for IE7 with what you call "minimal workarounds," how do we know IE7.1 or IE8 or whatever won't break your pages again?

    MSFT's track record in this area is appalling. Remember the definition of insanity: doing the same thing over again and expecting a different result.

    ReplyDelete
  4. Jeff:
    > IE7, however, is perfectly capable of rendering proper HTML/CSS with minimal workarounds.

    While this is not completely wrong, IE7 still has fairly... interesting quirks (new ones I mean) and will still need tweaks.

    Yet, that's only if you're doing HTML/CSS. Now add Javascript to the mix, and where do you stand? Nowhere near Internet Explorer if you have any sense (and even further from Safari 2.0, Webkit is A-OK on the other hand), not only is Firefox' Javascript support much better (in consistency, regularity, features and speed if your scripting usage are heavy) but the dev tools just put you in another world.

    Firebug alone makes Firefox a joy, and pretty much everything else a pain (yet again Webkit stands out, the Drosera javascript debugger is quite good and their DOM Explorer is very nice) and it doesn't take in account the whole Firefox JS Console goodness, the Web Developer Toolbar, Greasemonkey and Tamper Data.

    > Firefox has some quirks of its own

    Yes it does, but they're nowhere near IE's (7 included) and it offers much to ease the pain.

    > Using Safari will quickly teach you that..

    The issues I run in with Safari (I guess you're talking about Tiger's Safari 2) are usually Safari issues, not Firefox issues (Opera is much better to make Firefox quirks stand out), and 9 times out of 10 these Safari issues are resolved in Webkit.

    Can't wait for Safari 3...

    ReplyDelete
  5. > And remember, Microsoft has the single worst track record for security and effortless upgrade paths of any software company still in business.

    I want to agree with this, but Microsoft has a good reputation at backwards compatibility on the desktop.

    ReplyDelete
  6. @peter --

    Microsoft has a good reputation at backwards compatibility on the desktop.

    My feeling is that this is false; however, I'm not sure. You could be right. But that's actually the problem from a business user's perspective. Microsoft has a good reputation as a desktop platform, but that reputation is misleading for anybody faced with the need to make a decision about using them as a Web platform.

    @jeff -- it's true, the brush is broad, but Reg's comments about the Microsoft compatibility pattern is dead on. moreover, the whole point is to use a broad brush. this is for people who need to make a case to business users. business users are used to the idea that Microsoft is a safe bet. if your platform is the Web, Microsoft isn't a safe bet. it's a stupid bet. if you're developing Web software for Internet Explorer, you are guaranteed to spend more money on it than you would if you were developing for Firefox, and the longer your software stays in operation, the truer that is. from a business user's perspective, that's what's important. the details you raise are relevant but I think they don't really affect the bigger picture in that sense.

    ReplyDelete
  7. > And remember, Microsoft has the single worst track record for security and effortless upgrade paths of any software company still in business.

    Maybe because either:

    1. Software companies in the business these days are fairly new-ish, their software is version 1,2,3,4,5 at most

    2. The rest died years ago while MS still stood.

    No pun/flame intended. MS shipped their products while other companies shipped their life supply away.

    ReplyDelete
  8. > I have no evidence that they've really changed.

    But that's entirely not the point.

    You say: Don't use IE.

    I say: Don't use browsers that are FIVE YEARS OLD.

    Which makes more sense, logically? To the extent that MS drops the ball and fails to release updated software in a timely manner, I agree.

    ReplyDelete
  9. Our company maintains 6 different online applications which worked just fine under firefox, and which we spent countless hours getting to work with IE6. They were finally working well with IE though.

    Firefox rolled out V1.5, and the 2.0, and there were no problems.

    After IE7 was released, we experienced a rush of calls informing us all 6 online apps no longer functioned correctly in IE7.

    I rest my case.

    This article opens up a new business strategy which we will be certain to implement soon. We will be able to quote an original price that is 30% less by removing the "buffer" for work on IE compatibility, and then quote that separately. Brilliance!

    DM w/ RD

    ReplyDelete
  10. I agree, support for IE should cost more. The problem is that for most web apps, you can't sell a Firefox only app. This can work only for very specific cases.

    ReplyDelete
  11. > if your platform is the Web, Microsoft isn't a safe bet. it's a stupid bet.

    The logic doesn't follow. It's stupid to bet on ANY company or organization; if your platform is the web bet on the HTML standards *that the web is based on*, instead.

    All this talk of "developing for Firefox" is simply repeating the sins of our forefathers.

    ReplyDelete
  12. jeff, what I mean is developing for Web standards. again you're mistaking my translation into something you can give to a business person for my actual point. Web standards are an abstract concept that mean nothing to a person with no direct involvement in the Web. in the context of client enterprise software, developing to Web standards means developing for Firefox, as far as a business user is concerned. it doesn't actually mean developing for Firefox, it means developing to standards, but to somebody with no background in the Web "developing to standards" just sounds like "using best practices." you're disagreeing with something that I don't actually believe; something that I'm only saying because I'm describing how to talk to clients, and "developing to standards" isn't a useful thing to say to clients while "developing for Firefox" is.

    ReplyDelete
  13. Actually for most web "apps", you can absolutely mandate the browser and the clients don't mind a bit. It's an app, not a web page. Firefox is simply the required VM to run the app.

    Supporting IE is always a pain in the ass, and every new version breaks something. Time and time again, this has been the case.

    Firefox on the other hand, works great, run circles around IE in JavaScript speed, and never seems to break my code.

    Now web "sites" are another matter entirely, you must support IE, in fact, it's very likely that most of your visitors will be using IE, it's the nature of sheeple.

    Don't confuse web applications with web sites, they are entirely different.

    ReplyDelete
  14. "Don't use browsers that are FIVE YEARS OLD"

    Don't use browsers from companies that allow their current offerings to be five years old.

    ReplyDelete
  15. > Maintaining for Firefox is simply less work than maintaining for Explorer. Less work means less cost.

    Yes, but this comment only applies to IE6, which is as ancient and decrepit as Netscape 4.x in its day. And it's hated for all the same reasons.. rightly so.


    Nonsense. I have a perfect example:

    softwareliberationfront.org is a standards-compliant web page with relatively simple XHTML+CSS source. While it is in some ways ugly as sin in IE6 on WinXP, thanks to IE6's standards noncompliance, it is actually broken in IE7 on WinXP. On some pages, links in the menu mysteriously stop working.

    ReplyDelete
  16. I totally appreciate all the comments, but really this is about how you can get what so many developers want -- to avoid IE and Microsoft and live life without having anything to do with them -- and get it not by cheating your clients or avoiding your clients' needs, but by simply leveraging what it is you know that your clients don't. it's not about CSS implementations, it's about, think the way your client thinks, and ask yourself if you can translate things which you intuitively know are true into words your client can understand. if you stand up for yourself and say, I'm just not going to code for IE, and back it up with action, sooner or later you look around and realize your clients are happier than they were before, and switching them to Firefox is one of the things you did which improved their life. If you're not a Web person, you don't know that this change can affect your long-term maintainability or costs. The point isn't the details of what's left of the browser wars; the point is that if you look at certain "developer luxuries" like working from home or deprecating Microsoft, you uncover something which only appears to be a developer luxury and is in fact a huge competitive advantage. The question shouldn't be how annoying Microsoft is this year versus last year. I don't care. The question is, what else do uninformed but well-intentioned businesspeople regard as developer luxuries incorrectly, when they are really also substantial competitive advantanges?

    ReplyDelete
  17. <a href="http://phenonline.tlg.pl">Phentermine</a>July 17, 2007 at 12:17:00 AM PDT

    Thanks

    ReplyDelete
  18. If you are a business owner and you would like to incorporate your company, you should understand that incorporating is a critical decision for your company. There are many legal and controversial issues related to incorporating. Learn how to incorporate your company here. The website also contains latest information and news on business incorporation compiled from various news sources.

    ReplyDelete
  19. And remember, Microsoft has the single worst track record for security and effortless upgrade paths of any software company still in business.
    I agree with that, Microsoft business strategy is rather aggressive. So if you want to be the richest person in the world, do as Bill Gates do:)
    If you want to have your own business, but you don not exactly know what it is gonna be, start from business franchise. Today there is plenty of franchise business opportunities, and you can start up franchise that is really interesting for you. Do not waste time, become rich!

    ReplyDelete
  20. The stock has gained 150% from Oct 8, 2007 to Oct 22, 2007.
    By the way check this company MDFI. Their stock is set to increase because of their association with Apple iphone and Complete Care Medical. Find more about this company and stock http://www.growurmoney.com/medefile/

    ReplyDelete

Note: Only a member of this blog may post a comment.