miscoded

the web is a hack

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";
}

Facebook monitors your alert() usagebrowser.js updates: Hotmail, Tuenti, AOL Webmail

Comments

tomassplatch Monday, July 20, 2009 12:38:08 PM

Hilarious! Thank's for sharing! smile

Zotlan Monday, July 20, 2009 12:49:31 PM

So which was the lucky company that got the order?

Navarr Barniernavarr Monday, July 20, 2009 12:52:27 PM

I read that and was just like "oh my god."

Sucks for them =\

Andrew Gregory Monday, July 20, 2009 1:13:50 PM

lol Serves them right!

theoddbod Monday, July 20, 2009 1:40:42 PM

What i want to know is, did you tell them this, and how rude were you? bigsmile

Unregistered user Monday, July 20, 2009 2:10:25 PM

Anonymous writes: And thats why you dont use opera Opera bceause everone knows that all webminds use firefox

Unregistered user Monday, July 20, 2009 2:15:50 PM

Anonymous writes: So, was the guy who was responsible for the idea of outsourcing fired? Was it the CTO? :)

Unregistered user Monday, July 20, 2009 2:24:09 PM

Anonymous writes: ^--I don't think you get it.

Unregistered user Monday, July 20, 2009 2:45:19 PM

Anonymous writes: I dont get it

ColKilkenny Monday, July 20, 2009 2:46:40 PM

That is kind of funny, or not. cheers

Tamil Monday, July 20, 2009 2:48:18 PM

yikes

Unregistered user Monday, July 20, 2009 2:48:44 PM

Anonymous writes: hahaha

Unregistered user Monday, July 20, 2009 2:53:21 PM

Anonymous writes: Who's fault? This is unlucky for that company, but I would also blame the lack of compatibility between browsers for this.

Unregistered user Monday, July 20, 2009 2:53:37 PM

Anonymous writes: Was it someone on this page? http://en.wikipedia.org/wiki/Category:Software_companies_of_Norway

Olegmelnichuck Monday, July 20, 2009 2:57:54 PM

Brilliant! They should be on top of the Fail blog bigsmile

Unregistered user Monday, July 20, 2009 2:59:04 PM

Anonymous writes: A sysadmin using a browser? Real sysadmins use elvis :-)

Hasanblu3c4t Monday, July 20, 2009 2:59:54 PM

hahaha... doh

Unregistered user Monday, July 20, 2009 3:01:42 PM

Anonymous writes: I hope the sub-contractor got a good thrashing, promptly fired and banned from doing on web development for all eternity. It's one thing to not officially support something (even though, it's pretty lame to not support all of the main browsers), but it's an offense to all things holy when you redirect someone to an error page if they aren't using a browser you intend to support.

Unregistered user Monday, July 20, 2009 3:03:55 PM

Anonymous writes: > ...it's an offense to all things holy when you redirect someone to an error page if they aren't using a browser you intend to support. And, more importantly, it's an offense to your employer to redirect someone to an error page if they're using their own browser! (I mean, seriously, how dumb can you be?)

Unregistered user Monday, July 20, 2009 3:04:39 PM

Anonymous writes: Uh, no, it is a hardware (server) company who also sells consumer machines, and is worldwide, so my guess is the almighty Dell(?).

Unregistered user Monday, July 20, 2009 3:05:53 PM

Anonymous writes: Can you at least tell us which company won the contract?

Unregistered user Monday, July 20, 2009 3:06:19 PM

Anonymous writes: Dell right? I use 5 browsers on a regular basis at work. The Dell remote access cards (DRACs) redirect to an error page for every single one of these browsers saying they're ALL incompatible. If I change the user agent through an HTTP proxy, ALL of the same browsers DO works with the DRACs, (if you discount them requiring administrative permissions to access the server console plugin). :-) FAIL

Charles SchlossChas4 Monday, July 20, 2009 3:10:18 PM

Originally posted by Andrew Gregory:

Serves them right!

Servers them right
lol

Any idea for Solar Panels on the roof?

Unregistered user Monday, July 20, 2009 3:12:33 PM

Anonymous writes: Great story. If it is Dell, it is even funnier. I user to work as a sub for Dell. If you walked into a meeting with a non-Dell laptop, they would tell you leave. However, to be fair, it does seem like an easy mistake to make on Dell's part. The vendor who did the admin pages may have used ActiveX or something, making it incompatible with Opera. The sales rep who shipped over the demo system probably didn't even know what Opera was.

Unregistered user Monday, July 20, 2009 3:22:05 PM

Anonymous writes: My take is HP.

Unregistered user Monday, July 20, 2009 3:32:05 PM

amyt writes: A snippet from HP's ILO 2(Integrated Lights-Out 2) login: var fire = detect.match(/firefox\/([\d\.]+)/); if( ( ie!=null && ie[1] >= "6.0" ) || ( fire!=null && fire[1] >= "1.0.2" ) || ( moz!=null && moz[1] >= "1.6" ) ) { // supported browser; do nothing } else { alert( "Integrated Lights-Out 2 supports Microsoft Internet Explorer version 6.0 or greater, Firefox version 1.0.2 or greater, and Mozilla version 1.6 or greater. Some functionality may not work and pages may not format correctly on other browser platforms. This browser platform reports it is \""+navigator.userAgent+"\""); So it doesn't explicitly support Opera but it doesn't just dump you to an error page either.

Unregistered user Monday, July 20, 2009 3:33:01 PM

Anonymous writes: lol...oh ya some "outside subcontractor", sure. Even if he this was subcontracted, that person received browser specs/requirements and obviously the vendor did not include Opera--or should i say, the costs associated with supporting Opera. So don't blame the subcontractor, how come no one at the company "tested" in their QA Lab with all the supported OS/browser requirements? Right, some "subcontractor" i'm sure.

Eira Monstadcitoyen Monday, July 20, 2009 3:38:51 PM

Priceless bigsmile

Unregistered user Monday, July 20, 2009 3:41:33 PM

Delliteful writes: Five browsers? My guesses are... -IE -Firefox -Chrome -Opera -Safari. Do I win anything?

Unregistered user Monday, July 20, 2009 3:43:27 PM

Anonymous writes: Maybe error.htm is some abbreviation for a custom Opera look-and-feel? E nhanced R eally R ich O pera R endering?

Unregistered user Monday, July 20, 2009 3:50:48 PM

U-R-Blogspammer writes: No plans on actually telling us who it was? Yeah, of course not. You just want the hits...

Unregistered user Monday, July 20, 2009 3:57:22 PM

Anonymous writes: I had a router once that had admin screens that didn't support Firefox. No error message, but every form submit was just ignored.

Unregistered user Monday, July 20, 2009 4:01:28 PM

Anonymous writes: Bell Canada's Internet services has a similarly stupid issue, it deliberately screws up the rendering of it's routers' web-interface, but I change the ID, and it works fine.

FataL Monday, July 20, 2009 4:16:13 PM

lol
Priceless!

Unregistered user Monday, July 20, 2009 4:28:05 PM

Anonymous writes: It was probably just put in for last minute debugging purposes and someone forgot to take it out. small blunder, although it caused a HUGE loss.

Unregistered user Monday, July 20, 2009 4:31:48 PM

Anonymous writes: Why wouldn't he indent his code properly? And why would he create an object called "is" ? That is greater mysteries to me, than why someone chooses not to support Opera (hey, they used to be ad based!).

Unregistered user Monday, July 20, 2009 4:34:29 PM

JoaCHIP writes: Oh wow. I've always advocated against browser checks, but this one just might go into geek history! :D

Unregistered user Monday, July 20, 2009 4:44:26 PM

Anonymous writes: this is a no brainer, you do NOT want to drive an administrative page with a suboptimal browser like opera.

Unregistered user Monday, July 20, 2009 4:45:25 PM

Anonymous writes: this is a nobrainer, you really need to use a major market browser to drive administrative pages. Opera hasn't been maintained since the early 90s.

Charles SchlossChas4 Monday, July 20, 2009 4:48:41 PM

Anonymous suboptimal does not describe Opera at all, this might tho:

"I've seen people ask why Opera even exists. Well, if it didn't the other browsers wouldn't have new features to copy."

dustinwilson

Unregistered user Monday, July 20, 2009 4:55:31 PM

Anonymous writes: You guys have a crap recruitment process and the new info is you have a crap outsourcing process as well. My point is from the top management to the lower level you guys never know how to make any decision or choose any god damn thing. Probably you outsource to those guys because their hair looks white.

Unregistered user Monday, July 20, 2009 4:56:11 PM

Anonymous writes: The photo in the news article linked shows the servers they bought. I think I see the HP logo, so I guess that rules out HP as the culprit.

Unregistered user Monday, July 20, 2009 5:05:42 PM

Anonymous writes: What is opera?

Charles SchlossChas4 Monday, July 20, 2009 5:11:33 PM

Opera is a web browser
http://www.opera.com/

Unregistered user Monday, July 20, 2009 5:16:57 PM

Anonymous writes: Why should I even use a proprietary closed-source browser which costs money?

Unregistered user Monday, July 20, 2009 5:18:55 PM

Anonymous writes: Testing IBM.com on Opera 9.64. All I get is a blank page.

Unregistered user Monday, July 20, 2009 5:19:45 PM

Anonymous writes: can't wait to add that code everywhere!

Unregistered user Monday, July 20, 2009 5:23:10 PM

Anonymous writes: Wait... IBM did load. It just took a very long time.

Unregistered user Monday, July 20, 2009 5:26:26 PM

Anonymous writes: Fail. Dell is only required to sell hardware. If you don't like it, reformat and install your own software on it.

Unregistered user Monday, July 20, 2009 5:27:00 PM

Anonymous writes: DELL DOES NOT WRITE JAVASCRIPT. THIS STORY FAIL!

Write a comment

New comments have been disabled for this post.