
Most expensive javascript ever - pclark
http://my.opera.com/hallvors/blog/2009/07/20/most-expensive-javascript-ever
======
abdulhaq
Actually, Opera missed a trick here. They should have asked the supplier to
fix the offending software during the evaluation period, thereby chipping away
at the small mountain of similar admin interfaces/websites that fail when
presented with Opera browser. They might then have further benefited from the
supplier's hardware if it had been the best value.

~~~
dexen
I can't help but wonder why the parent post, insightful and well-worded, is
upvoted significantly less than the post starting with `I hate these sorts of
things...'

It's not like I hate these sorts of things so much, but still...

~~~
brown9-2
Well, you are missing his point. Opera could have used this opportunity to get
the "major hardware supplier" to add Opera support to their admin tool.

Instead of simply being insulted by the company's software, they could have
basically bought support for their product from this "major hardware supplier"
for free.

~~~
mrduncan
It's also possible that their move caused that supplier to add support after
the incident so that such a thing doesn't happen again.

------
codyrobbins
From an objective point of view, why should this matter to Opera when they
were trying to evaluating the best hardware for the large amount of money they
were spending? It's an emotional reason rather than a rational one, which
doesn't seem like a very good way to make a decision when spending gobs of
money.

Also, is Opera unable to recognize that the vendor has limited engineering and
support resources, and that supporting a browser with limited market share has
ramifications for both those things? Wikipedia says Opera has less than 1% of
browser market share. I have nothing against Opera, but from a neutral point
of view, can they really say it makes sense for the vendor to spend time and
money testing and supporting a platform that barely anyone uses?

I feel like Opera should be asking why the vendor feels the need to do this,
rather than getting self-righteous about it.

~~~
callahad
_can they really say it makes sense for the vendor to spend time and money
testing and supporting a platform that barely anyone uses?_

There's a huge gulf between "we don't support Opera" and "no version of Opera
is allowed to even try to render our pages."

~~~
codyrobbins
I agree. However, that's the point. Completely barring Opera means they're
certain they won't receive any support requests from people using Opera. Doing
otherwise means opening their support apparatus to people using Opera, who
might find all sorts of things wrong with the software and not realize it's
because the software isn't tested with it.

Of course, given the small number of people using Opera, the question is
whether there would really be much of a burden on their resources.

------
blhack
I hate these sorts of things _so_ much.

"I'm sorry, your browser isn't supported" What? Chrome isn't supported? Were
you people drunk when you wrote this?

Howabout a message that says "the browser you are using has not been
extensively tested, please use at your own risk.".

~~~
nimbix
Sometimes that's not an option. We were once forced to do the same thing.
Block Opera, that is.

We had a large-ish JS app which ran fine in FF and IE, but generated all sorts
of exceptions in Opera. The reason we didn't fix it was that every single one
of those errors read something like "There was an error in [function].". No
line numbers, no surrounding code, no nothing. So we blocked it.

(We did eventually fix the bugs, but only after a new version of Opera which
printed more informative messages was released.)

~~~
ars
So why _block_ them? Why not a message: "This site probably doesn't work in
Opera, but feel free to try."?

~~~
nimbix
Because sometimes it wasn't immediately obvious that something was broken
without looking at the error console. This was a business app and if, for
example, a form widget failed to work properly it could result in silent data
loss which wouldn't get noticed for a while.

------
tolmasky
I would have done everything in my power to get that line removed and then
taken the contract. The short sighted response is to be angry at this server
company, but realize that they have many other customers -- customers who may
not be using Opera because its not supported with the admin tool.

~~~
brown9-2
Why would Opera want to support a company that actively does not support
Opera?

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

The company didn't intend to block opera. Also, it's shortsighted to take a
vindictive approach to negotiations if you intend to gain market share.

Opera is a nice browser, but they're deluding themselves if they think they
can get offended when something isn't supported. They have the dubious honor
of being big enough to be known, and small enough to be ignored due to
compatibility issues. (There probably wasn't a check for Konqueror or
IceWeasel).

Opera could have used this as a chance to improve their market share and image
(so less admins get the impression that Opera is an also-ran browser that
nobody needs to support). But losing the contract, especially for an
outsourced component, makes them appear petty.

------
Keyframe
I've done a site about a year or two ago - I don't make websites, but I was
pushed into it. So, client wants modern, slick design, some JS functionality
etc... and in the end I've received an email with a question why doesn't it
work on their windows '95 IE5 computer. I've politely forwarded links to
microsoft site where it states '95 and IE5 are not supported anymore, so why
should I support it then? By that logic I should support commodore 64 browsing
the site.

However, if you are doing an application and you have time/resources/will to
test and develop on one or two browsers, then state it obviously on the
application gateway. This was just a lazy forwarding to error page. MobileMe
does a nice, polite notice if you are there with unsupported browser, check it
out.

------
limmeau
The article links to [http://www.digi.no/504306/her-kjores-egentlig-opera-
mini&...](http://www.digi.no/504306/her-kjores-egentlig-opera-mini&bid=6) for
pictures of the blade server. But that page also reports that they're driving
Opera Mini with... Pike! I thought I'd never hear of Pike again. (insert Kirk
joke if applicable).

------
mieses
is a significant percentage of Opera users non-Swedish?

------
ajross
Seems to me that it's mistitled. It's only an expensive bug if they lost the
contract, and the article doesn't say that. No doubt the parties involved
fixed whatever layout glitch or misconception led to the platform test and
moved on. Contracts that big are expensive for both sides to cancel.

~~~
mbreese
"cost them millions of NOK in lost sales"

So, yeah, I'd call that a big loss. According to the article, this was in an
evaluation period with several different vendors. This one little piece of
Javascript seems to have been enough to remove that company from the running.
I don't know if Opera would have liked that company's offerings otherwise, but
that would probably be enough to remove them from consideration.

I guess if you're trying to sell something to a browser maker, you might want
to make sure that your admin interface works with their browser.

~~~
slig
> This one little piece of Javascript

Not just that. The little piece just acknowledge the fact that the browser
isn't supported, so removing it doesn't magically makes things work.

~~~
mahmud
"Enterprise Software" deliberately insists on IE or another pet browser _just_
because it can. Half the time they're not even doing anything browser
specific.

Millions in lost sales should teach them to take standards seriously.

~~~
gaius
Not true. When a customer calls with a problem, if they're using some hoky
browser (no offence to the Opera folks, but even they have to admit they're a
tiny niche), then that's one more factor to eliminate before the problem can
be understood.

I would be very surprised if the profit on that one sale would cover
certifying the product and supporting it going forwards.

~~~
tokenadult
_I would be very surprised if the profit on that one sale would cover
certifying the product and supporting it going forwards._

What technical reason would a server company have for NOT supporting a largely
standards-compliant browser like Opera? Isn't the whole point of serving up
content to the World Wide Web to be able to communicate with multiple devices
all over the world?

~~~
gaius
Well, for a start, it would mean rolling out Opera to every developer, tester
and support rep's desktop, and it being someone's job to make sure it worked
on every PC they had, to keep it up to date and apply any patches. It also
means doing any manual QA cycles again with Opera, and/or rewriting automated
tests to use it too. All of those things have cash costs associated with them.

~~~
tokenadult
_Well, for a start, it would mean rolling out Opera to every developer, tester
and support rep's desktop, and it being someone's job to make sure it worked
on every PC they had, to keep it up to date and apply any patches._

Is it impossible to write a Web application that simply doesn't test the
limits of most browser implementations? Again, I'm asking an informational
question to follow up on your interesting response. What actually happens in
the typical case of a server vendor's application that is supposed to run on
an arbitrary browser if a browser the vendor hasn't considered is used? Does
the whole application crash? Or does it just look a little bit less pretty?

~~~
akeefer
It could be practically anything; sometimes it's a little less pretty,
sometimes it's a lot less pretty, sometimes a few little parts of the UI don't
work as intended (maybe changing field X doesn't update field Y like it
should, maybe button Z doesn't do what it should when you click it), and
sometimes it just starts throwing exceptions like crazy and completely blows
up. CSS is kind of sort of standardized, so you sort of have some hope there
that all standards compliant browsers (not that any of them really are 100%
compliant) will render the page about the same way, but once you get into
Javascript land the myth of standardization quickly disappears, and multi-
browser support becomes a never-ending nightmare.

Unfortunately, you don't know which of those end results you're going to get
until you actually try the thing out, and the answer could be wildly different
on different pages of your app.

It's still generally poor form to straight up disable a particular browser
unless you know for a fact that it doesn't work properly (generally in the
sense of you-can't-use-the-site, not things-look-kind-of-funny), but perhaps
in this case they did in fact know that their app didn't work with Opera.

