Most expensive javascript ever?

I've wanted to tell this story for a while, and I don't think I'm spilling any beans or disclosing any sensitive information at this point.

So, a while ago Opera Software needed more servers. Not just a few servers either – we were planning Opera Mini's growth, implementing Opera Link, and My Opera was also growing quickly. We predicted crazy server load increases for the foreseeable future (and man, were we right!)

Clearly we needed to make a massive investment on the server capacity front (basically buying these shiny things and then some.)

Management put a hefty check on the table – I'm sure our beloved sysadmins felt like kids before Christmas – and salivating sales people from major hardware vendors grabbed our requirements spec, dived into their CRMs and crunched their spreadsheets. They emerged with offers and sample servers shipped all the way to Oslo for our testing pleasure.

However, one of the world's biggest hardware vendors – whose name every single reader will be familiar with, and whose hardware a good share of you will be using right now – apparently didn't do their homework. When Opera's sysadmin booted up the server to test its web-based administration interface, they came across a single JavaScript statement that managed to piss off everyone up to and including the CTO.

This single statement, apparently written by some sub-contractor they had outsourced admin interface programming to, cost them millions of NOK in lost sales.

And the code they sent all the way to Oslo for testing? Here's an extract:

if (is.opera)
{
window.location.href="config/error.htm";
}
Advertisements

263 thoughts on “Most expensive javascript ever?

  1. Anonymous writes:I think you guys got it all wrong. Don't blame the guy who did the out-source work. Blame the people making opera which is an awful browser to care about.

  2. Originally posted by anonymous:

    I think you guys got it all wrong. Don't blame the guy who did the out-source work. Blame the people making opera which is an awful browser to care about.

    Sounds like a person who does not know to much about features in other browser and where came from

  3. TS writes:Well, the fact that there is such a dumb browser switch already tells about the incompetence and retardedness of the development department there: We´re no longer in 2001 where one had to consider such pile of quirks like IE5.5, NS4.x. It´s 2009 now, and browsers like FF 3.x, IE7+can handle basically the same JS code with only a few minor differences (e.g. event handling in IE) – and running that code on Opera 9.x+, Safari or Chrome basically out of the box.Or in short: Every wannabe web developper who still handles browser differences by checking the browser version rather than doing it the javascript way (checking if a certain js object exists) has not only been sleeping for almost a whole decade, but also writes code which is both potentially outdated with every upcoming browser update and prone to loosing users by blocking browsers which might already be able to run the script right now if the checks have been designed properly.Besides, Opera might have a small market share, but on some mobiles or consoles it is the default browser normal users won´t replace for another. And when I look around, IE is typically used by lazy or less skilled users, FF for the tech-geeks, Safari by the Macies, and Opera by the "content matters most"-heavy users. Thus, one can expect that IE users are less important than one might just expect from the market share while Opera users are quite important multiplicators for website market share.

  4. Anonymous writes:You…you've got to be kidding me…I find it hard to believe a professional would have made that mistake…it's just so…fail.

  5. Originally posted by anonymous:

    You…you've got to be kidding me…I find it hard to believe a professional would have made that mistake…it's just so…fail.

    it is said but true

  6. Anonymous writes:Shouldn't the opera version number at least be checked, as well?If every copy of Opera 10 does in fact have an embedded web server as well, and there are botnets built around it, some would call this "a sensible self-preservation" step. (Not sure I would, but I haven't done the research)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s