Most Expensive JavaScript Ever? 405
ekran writes "A while ago Opera Software needed more servers. Not just a few servers either — they were planning Opera Mini's growth, implementing Opera Link, and My Opera was also growing quickly.
Most of the major hardware vendors grabbed their specs and came back with offers and sample servers shipped all the way to Oslo for testing. One of the biggest vendors, however, did not do their homework. They shipped the server, but when the Opera sysadmins started up the web-admin interface, they were met with a JavaScript statement that managed to piss off the whole company including the CTO. The script, apparently, locked out the Opera web-browser."
So who was it ?? (Score:4, Interesting)
I browsed the comments on the Opera blog and I could not find any definitive answer although HP and Dell are mentioned as possible culprits.
So who was the culprit company ??
Now that it is on /., I am sure that a member of the Slashdot intelligence community could come up with the answer. I offer a reward that will be paid in SMP currency, not in NOK. Sorry about that but I do not have any NOK at my disposal.
currencies:
NOK = Norwegian krone
SMP = Slashdot Mod Points
HP probably (Score:4, Interesting)
Had the same thing on the webadmin interface for one of their ILO's. Or more precise, it wouldn't work on anything but IE. Hadn't seen that for quite a while.
let me take a guess (Score:4, Interesting)
Remember kids, IBM Hardware = Good. IBM Software = Kill it with fire.
Re:So who was it ?? (Score:5, Interesting)
I browsed the comments on the Opera blog and I could not find any definitive answer although HP and Dell are mentioned as possible culprits.
Funny story. I have a large Dell LTO tape array, and it has a web-based management tool. Part of the management web pages generate on-the-fly images in XBM [74.125.47.132] format. IE had a security flaw in the parsing of XBM images, and since XBM images are so rare, Microsoft simply disabled XBM images entirely.
So, I am forced to use firefox to manage the tape array.
You think the code is bad? Take a look at page 5! (Score:5, Interesting)
http://www.digi.no/504306/her-kjores-egentlig-opera-mini&bid=5 [www.digi.no]
Notice anything odd about the large 48v DC power cables? Like the '+' and '-'... on the wrong lines...
Forget a javascript issue, that there is a pretty huge installation issue.
-Rick
Re:ok so the company lost money... (Score:3, Interesting)
If I'm working on a project with a limited budget and you were going to tell me that enabling support for Opera was going to add even 5% to my total costs, I'd cut it in a heartbeat, because anyone that is using Opera can just switch over to another browser to perform the task at hand*.
The exception to this rule is my wife's office, which mandates Opera use... but it's only because they manage classical musicians and they like the name... it causes them all kinds of problems.
Why "fire" and "moz", not "gecko"? (Score:5, Interesting)
Re: 5% (Score:3, Interesting)
In general, not supporting a 5% market segment because it would cost too much development effort may be a reasonable decision.
In this case, the real WTF was submitting the product in a bid for the vendor of said 5% market segment. And simply throwing an error if Opera is detected. That's like opening a business in a black neighborhood and putting up a sign that says "Niggers not allowed" ;-)
Re:ok so the company lost money... (Score:1, Interesting)
You are assuming WAY too much. Some subcontractor wrote software to a specification that said
Exactly correct, your post is right on.
Of course, nobody at Opera bothered to find and fix the problems that prevented the sub-contractor from supporting it in the first place.
While I do find this quite hilariously ironic, I find it even more ironic that Opera's incompatibilities came back to bite... Opera itself.
Re:let me take a guess (Score:4, Interesting)
I'm going to take a stab in the dark and guess it was IBM.
The IBM Blade Chassis management software works perfectly fine in Opera with no popups or warnings at all. It's actually nicer to use in Opera than Firefox.
Re:ok so the company lost money... (Score:2, Interesting)
I don't think they would have minded so much if it reported politely that it doesn't work with Opera, rather than just dumping unceremoniously to an error screen without any indication why. It would make people assume that Opera was itself the problem, when in fact in this case there is no real error.
Re:ok so the company lost money... (Score:3, Interesting)
The device we are currently releasing deliberately checks for and disables MSIE.
The reason is the code uses live embedded SVG visualization of the process which MSIE is simply not capable of.
There are no easy and simple alternatives (don't get me started on Flash), and the visualization part is an essential part of the user interface, with various modules clickable to change their state in real time. Also, the SVG files can be directly used as images in the documentation, being 100% valid pictures of projects of whatever the device is to drive. It is not intended for a wide audience and we can mandate the customers to use certain tools (you need training and certification to be allowed to access it at all).
Re:Bad web programmers (Score:3, Interesting)
The problem there is that not all browsers follow the standards. Specifically the one that most people still use. Especially in Corporate environments. I know that we make sure out stuff works on IE first, Safari second, firefox third, and then Opera. Because our traffic breaks down to 88% MSIE, 8% Safari/Safari Mobile, 3% FireFox, 1% other.
We've written standards complaint code before that works in everything but MSIE. The previous guy at my post held the opinion "They should upgrade to a real browser". Our company lost sales and he lost his job.
Re:For those new here... (Score:3, Interesting)
The biggest failing of Slashdot Karma is the resolution is so low its effectively useless. Most people's Karma immediately shoots to Excellent and stays there for eternity or to "shitty troll" or whatever is the lowest rung of ./ Karma.
Cmdr Taco made an enormous strategic blunder not making Karma a numeric value with no upper or lower limit cuz then it would be a ginormous horse race among karma whores to be #1 and trolls to be dead last. Comments from the #1 karma whore would be godlike in their powers.
Technically it's correct behaviour (Score:3, Interesting)
I've seen Opera do some funny things with some RIA's I've written, the same code works on webkit, trident, and gecko with no problems, but Opera does some funny things. My code is probably wrong(it's a hack job on some badly designed pre-existing code, not a clean rewrite), but nevertheless it works fine on everything else.
Seeing that I basically have 3 options.
Any of these three options can be correct, depending on the needs of the business and the severity of the problem. In all reality, no matter how big this guy thinks there server order was, it was probably only a drop in the bucket overall, and in all reality no one was fired and nothing really happened, they lost a sale. They lost it on something stupid, but it's only one sale no matter how big it is(and it likely wasn't really all that big).
Opera is not infallible, they've come up with a few fairly innovative design ideas, but they've always been crippled to a certain extent by ideology. Part of why Opera was and is so fast, and so light is that it is basically incredibly anal about exactly correct HTML syntax. In theory this is a good idea, but in practice it means that Opera has been plagued by pages which don't render correctly for it's entire lifespan. A lot of the web is sort of kludged together because the standards defining how to do things properly are always 2-3 years behind what people are actually doing, a lot of WYSIWYG editors spit out bad code, hand coders make mistakes. All these things happen, and Opera has never been even the remotest bit forgiving(oddly enough firefox is by far the most forgiving, substantially more so than IE) of any of it, which is one of the prime reasons IMO why it never really gets much market penetration despite generally speaking having most of the innovative web ideas before the competition. The fact that until fairly recently it was ad driven or cost money, isn't open source, and doesn't come installed on anyone's PC are of course others. There's really no need to switch to another browser which results in more broken pages, isn't free as in speech, and until very recently wasn't even free as in beer, no mater how innovative it is.
Re:I'm more curious who did their QA (Score:3, Interesting)
Third answer, they ran into opera bugs and didnÂt have the finding to spend the necessary time to work around them.
I recently had to do a degrated version of a site for opera because I ran into bugs and speedbumps not easily fixable and fixed
by opera already in their alpha version of version 10.
Sorry to say that while opera in its 9.x incarnation does not have many bugs it has some and some of them are really severe and not easy to bypass
because opera does not allow conditional css includes like ie does and it is not everyones idea to hack css via javascript for hours just to support that browser!
Re:So who was it ?? (Score:3, Interesting)
Heh.
Norwegian GDP (PPP) per capita: $55,200 (2008 est.)
US GDP (PPP) per capita: $47,000 (2008 est.)
There's much more to an economy than net output.
Re:So who was it ?? (Score:3, Interesting)
Yeah. Like huge oil production for a country with a small population. Rumor has it, if every Norwegian were given their "fair share" of the oil production when they hit 18, every single one of them would be a millionaire. If this is true or not, I don't know. But just comparing GDP from two so different economies is almost as pointless as comparing net output.
As a Swede though, I ask myself, what would their GDP be if it wasn't for the oil (and, erm, cod) and would they again be 'little brother'? =)
Re:So who was it ?? not (Score:3, Interesting)
It mostly works. It's possible, but not likely, that IE's version of getElementsByClassName does something differently than Firefox's version, but the odds are if they implemented it at all, it's correct.
There are lots of places where a check like this won't help you at all, though. For example, try to figure out which mouse button is pressed when an event occurs-- IE and Firefox/DOM use different methods: http://www.quirksmode.org/js/events_properties.html#button [quirksmode.org]
Now here comes the place where I get modded down for trolling: the IE way of doing things frequently, in fact almost always, makes a hell of a lot more sense than the W3C way. Examples:
1) The existence of "document.readyState" allows a Javascript to know if the document is ready for DOM manipulation even if the Javascript was injected into the page after the ONLOAD event already fired (for example, a Javascript which can either be included in the page or as a bookmarklet.) There's no way to do this using the standards.
2) The IE property name "innerText" makes a hell of a lot more sense than "textContent", since "innerHTML" is already in the standards. "innerHTML" should match "innerText", or "textContent" should match "HTMLContent". The standards make no sense here. Given, IE should implement "textContent" (and in fact I think IE8 does), but FF should also implement "innerText".
3) The above-mentioned mouse button handling code. In Firefox and other standards compliant browsers, there's no way to tell if two buttons were pressed simultaneously. Additionally, there's no (reliable) way for the browser to communicate that no button was pressed at all when the event occurred. The standards on this are retarded.
4) The way IE handles events makes it possible to include static event handlers (i.e. event handlers hard-coded into the HTML) and still receive an event object. As far as I can work out, there's no standards-compliant way to do this.