Posted
by
Soulskill
on Tuesday July 21, 2009 @07:45AM
from the not-their-best-work dept.

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."

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.

The reason for standards isn't to keep companies like Microsoft in check, though it has that result, and that is good for the marketplace. Standards are supposed to reduce costs. In this particular example, the way your iLO team *should* do the job is to first check for html compliance, then check for IE6 - as the largest-share noncompliant browser, then check for any other non-compliant browsers you can't afford to ignore. At that point, you have 3 ways to branch in your code - compliant, IE6, and unsupported.

The software industry is pretty nearly hopelessly fouled up, because of the lack of clear and properly used standards. A large part of this is Microsoft's fault, though not all, by any means. Unfortunately, rather than software getting better, other industries are getting worse. Customer lock-in is an addictive drug, and in the long term is probably as wise, even from a business sense.

Browser detection is almost always the wrong way to do things anyway. Test for existence of specific JavaScript properties/methods on objects to find out if they exist. You can generally check for IE-specific behavior just by testing for the presence or absence of JavaScript properties/methods.

By doing this, you won't have to do a browser check at all and your page will "just work" for any browser that implements either the standards-compliant behavior, the IE behavior, or both. You can do the same thing for CSS properties by trying to add the property, then going and trying to read it back for verification. If it isn't there when you go back and check for it, the browser doesn't support the CSS property.

I'm not familiar with Opera's behavior, but in my experience, roughly 99.5% of CSS and JavaScript that works with FireFox also works with Safari and vice versa (as long as you don't try to use bleeding edge HTML5 or CSS3 features). Any browser check that only tests for FireFox is almost always just guaranteed to make a bunch of users mad for no reason.

Does this really work? For the given example, does "if (document.gelElementsByClassName)" really mean that it will work the way you expect, for any and every implementation? That's the other part of standards - there's following the standard, and then there's "following the standard", which aren't necessarily interoperable... like Kerberos and a certain unnamed implementation.

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.

Some of their ethernet switches block non-IE browsers as well. I forget which is which, but I think the PowerConnect 6000s warn about the browser but let you through, and the 5000s just refuse to let you in when running firefox on linux.My experience is from a few years ago and perhaps they have fixed their firmware since then, I know I filed a complaint.

volkswagen beetles are a measure of volumefootball stadiums are a measure of arearound trips to the moon is a measure of lenghtparsecs are a measure of timeshitloads are a mesure of weightbajillions are a dimensionless quantityand the measure of power is a universal constant: 1.21 jigawatts

You asked for it, ladeees and gentlemen! It may not be that grand masterpiece, Ode to a Small Lump of Green Putty I Found in my Armpit One Midsummer Morning, but I think this little joy from Prostetnic Vogon Jeltz should be enough to warm your hearts:

Oh freddled gruntbuggly,
Thy micturations are to me
As plurdled gabbleblotchits
On a lurgid bee
That mordiously hath bitled out
Its earted jurtles
Into a rancid festering...[drowned out by moaning and screaming]
Now the jurpling slayjid agrocrustles
Are slurping hagrilly up the axlegrurts
And living glupules frart and slipulate
Like jowling meated liverslime
Groop, I implore thee, my foonting turlingdromes
And hooptiously drangle me
With crinkly bindlewurdles,
Or else I shall rend thee in the gobberwarts with my blurglecruncheon
See if I don't.

EconomyThe currency of Slashdot is the Karma Point (which recently replaced the archaic reputation point used under the barter system). In 2001, the Karma Point was cursed by an evil witch who got modded flamebait. Expert moneyologists agree that the curse is a serious matter, however its nature and effects are as yet unknown, although preliminary reports suggest a correlation between high Karma concentration and the Slashdot Effect.

Slashdot's primary export is journalistic integrity, and Slashdot has grown almost as rich as Oscar Wilde due to skyrocketing prices because of the global shortage, as well as the Federation of Planets adopting integrity as its staple food. Some analysts and economists have speculated that Slashdot does not in fact have any journalistic integrity of its own, and that all exports are either counterfeit or borrowed from the World Bank in exchange for several life-debts. If these accusations turn out to be true, then Slashdot could owe the Wookies that own the Bank several billion lives in payment.

Slashdot's primary import is n00bz, which upon arrival into the country are sent to meat factories to be processed into spam, an all-purpose household paste, good for use as a duct tape, glue, glue solvent, dodgeball, koala, roofing material or low-end computer. The manufacture of spam from n00bz is done through a process called pwnage.

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.

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.

A bit of exploration gives one possibility. This page, on Dell DRACs [dell.com] , which have a web interface, shows that the web interface supports really only IE and firefox, and those only on 32 bit machines.

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'? =)

I've already found a defect in the revised sniffer. The variable names "fire" and "moz" appear to indicate that the code above this line would fail on Iceweasel, IceCat, SeaMonkey post-renaming, Fennec, K-Meleon, Epiphany, and other browsers using the same HTML/CSS/JavaScript engine as Firefox. Why is it testing for "fire" and "moz", not "gecko"? Having an alert() pop-up on (I'm guessing) every page is an improvement against immediate redirection to an error page, but it's still an annoyance.

If it is intentional, then my question becomes as follows: Why would a reasonable site owner only want to support Firefox?

You're assuming "reasonable."

The thought process (if it may be dignified with such a term) goes something like this, I suspect. These are sites which, until fairly recently, only supported IE. The developers only ever use IE, it's all they know, and they don't really want to know about anything else. As far as they're concerned, the big blue E is the internet. Yes, there are Windows

Don't forget this was demo hardware from companies responding to a tender. At this point Opera was still evaluating the hardware. Two things seem to have happened:
- the software was implemented with an abort for Opera, either because QA was not done for Opera.
- the vendor didn't appear to know what the primary product of Opera was, and what the browser requirements of their admin interface were.While the first scenario is bad enough, the second is just unforgivable, since it shows to the customer that the vendor apparently made no attempt to know who their customer was.

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 fixedby 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 bypassbecause opera does not allow conditional css includes like ie doe

Having tested web based software for IBM before, I'm going to take a stab in the dark and guess it was IBM. Anyone here ever use SCM (Storage Configuration Manager)? It's utter shite; slow, buggy, and unsupported on anything other than firefox and IE.

The British cartoonist Giles is said to have made himself practically sacking proof by one of his cartoons. The Duke of Edinburgh remarked that "The [Daily, owned by Beaverbrook] Express is a bloody awful newspaper."

Giles promptly did a cartoon of his employer being led off in chains by Yeoman Warders, watched by the Duke, with the caption

"Ah well", said Lord B, as they trotted him off to the Tower, "At least he reads it, or he wouldn't know it's a bloody awful newspaper."

I started as a web developer in the mid-90s.
I know how hard it is to develop for multiple browsers and versions. When Netscape and Internet Explorer 4.0 came out, they quickly gained the majority of market share. Many colleagues did not want to keep their sites compatible with 3.x browsers because they felt it was a pain. I would always hear the sentence, "They only have a 5% market share."

To me this was and still is a ridiculous attitude. You're OK randomly raising your middle finger to 1 in 20 potential customers visiting your site? What if that 1 in 20 is the wrong person? Obviously, in this case, they definitely raised their middle finger to the wrong people.

But this gets even worse, because Opera is not obsolete and is fairly standards-compliant. To top it off, the vendor specifically broke the web site for the browser they were too lazy to design for, rather than doing something that makes sense -- like investing time and money to reach a small but tech-savvy segment of the population.

All told -- shamefully -- it makes me feel a little Schadenfreude that it bit them in the rear.

48V DC is an odd beast, with odd standards going back to the early days of the Bell System.

In a 48V DC system, the positive side is grounded. This is to prevent corrosion on phone lines in the ground that happens more readily if the system is negative ground.

Since positive is ground, the "live" wire is negative, or -48VDC. Since this is the wire you don't want to lick, or allow to touch the chassis when powered, it is colored red in many deployments. The black wire is ground, you can lick* it all you want.

* -48V DC won't really sting you much if you just touch it unless your hands are wet or you touch it with a wet part of you like your tongue.

(a) you can kill yourself with 48V if you're unlucky. It is very unlikely, anything below 60V is considered to be "safety extra low voltage" or SELV, but it's possible to induce fibrillation.

(b)If deploying a system like this, IEC says the positive wire should be BLUE and the negative should be GREY. If the wires are completely isolated (i.e. neither is grounded or connected to PE) the positive wire should be BROWN. In the US (Opera isn't in the US) the wiring convention is WHITE for the return and BLACK for the negative wire. Just DON'T ever use red and black and reverse their normal functions. 48V can make very impressive arcs.

To me this was and still is a ridiculous attitude. You're OK randomly raising your middle finger to 1 in 20 potential customers visiting your site?

They probably did a business decision that people in the last 5 percent to upgrade their web browsers buy less. You see, older browser versions tend to run better on obsolete PCs, and people who don't replace an obsolete PC are probably misers [wikipedia.org]: people who stretch their dollar so far that they are less likely to demand your luxury product. Case in point: PCs running IE 6 or Firefox 2 are likely to be at least eight years old.

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

I've been a Dell user for a long time but I have never used one that shipped with a web interface. But the specs probably called for some pretty special stuff and it may not have been loaded with Windows at all. So I just have to know. Who was it? Was it my Dell? I could sort of believe it if it was Dell... sometimes the people there leave me scratching my head wondering what they were thinking and if they listened to me at all. But my preference for Dell is due in large part to my experience with HP

The headline is misinformative. Based upon the headline I would have expected to read about a company hiring a bunch of developers for a lot of money to code something cool in javascript. Perhaps a more appropriate headline is "Javascript locked out Opera, Opera locked out the company."

Many years ago, we were bidding on a US Postal Service contract to supply computer equipment to all of their offices. We had several pallets of bid material on the loading dock, ready to go. Fortunately, one of the program managers made a last minute check and discovered (in time!) that nobody had bothered to tell the shipping department to ignore the standard, "Ship all contract proposals FedEx, overnight", procedure in this case.....

Opera web site is actually a pretty impressive piece of code. It has all that nifty stuff like drop-down menus, and yet it also renders perfectly in Lynx (with menus as lists) - disable CSS and JavaScript in your browser, and you'll see. Meanwhile, it validates to XHTML 1.0 Strict [w3.org].

It shouldn't be surprising, however, given that Opera guys are pretty keen on all Web-related standardization efforts - they've played a big role in initiating HTML5 effort (and are still very active in its development), before that they've participated in past W3C HTML/CSS standardization efforts, and they push for open standards (such as SVG) otherwise.

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.

Spend a few weeks I don't have debugging/rewriting the code.

Leave it as it is, and let the page render incorrectly, as I know for a fact it does.

Create a redirect on the page which sends the user to an error page explaining that their browser is unsupported and asking them to please use another one.

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.

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.

So basically, you admit your code is probably wrong, but you can't be bothered to fix it? Fine, but don't complain when your code stops working or fails in someone's browser and you lose business as a result.

The way I see it, this is only incidentally a story about stupidity. Not working in a standards-compliant web browser is a good indicator of poor web application quality. The cited behavior of deliberately failing in Opera would make me unlikely to pick the product, even though I'm a Firefox user.

Don't be a jackass. Their market share has nothing to do with the article. I don't care about Opera but the story is still funny as hell and worth repeating. I just wish that kind of stuff happened to me at work.:(

Why? I can see not bothering to test much on Opera, or putting a "We only support browsers X and Y." statement in the manual, or even not bothering about any issues that crop up if you use Opera to access the admin interface; but why would you deliberately add a check that breaks Opera?

It is common to deliberately add a check that breaks the whole stuff when some 'unexpected' condition happens. You know, assertions.

Which one is better? Not working at all, or seems like working but a not-so-commonly-used-some-sort-of-admin-command somehow gets screwed and the web browser fires a do-not-touch-this-unless-you-want-complete-meltdown-command because there was some minor difference on the javscript engine parsing some parameters? Yeah, can be extremely rare, but if it isn't tested, nobody can be sure.

Obviously, the best thing to do would be to test all possible conditions. However, if you can't, then there can be three choices:

1) Leave it to the users, Nah, I'm not gonna test it.2) Launch a big warning message and blame the users if something goes wrong, or3) Make it never work when some unknown condition is reached.

Number 1 is perfectly reasonable when the worst consequence isn't so bad. For example, a web forum interface, or things like Facebook. Maybe number 2 would be better in most cases. But, if an untested scenario may cause huge, irrecoverable damage, number 3 may be the best choice. (You should remember that the product in question was the server management console, which can bring the whole datacenter down when things go wrong.)

My opinion is that, deliberately excluding Opera was a quite reasonable idea. Trying to sell a product that deliberately excludes Opera (web browser) to Opera (the company) was the stupid idea.

You're missing one obvious factor. There are a lot of great browsers written using pre-existing code. Omniweb is a great Mac browser that uses Webkit for HTML, and Spidermonkey for Javascript. The behavior of that javascript is known, but browser detection routines for every minor browser made of major software is ridiculous. You write based on standards, and test in a few major browsers. #2 is the only option. NEVER BLOCK A USER.

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 projec

You are assuming WAY too much. Some subcontractor wrote software to a specification that said support browsers x and y with functionality a,b,c,..q and pass these tests. To make sure some clever tester didn't find some obscure bug with Opera that would keep him from getting paid he just errored the browser out. This passed functionality testing and was approved. Later this now approved and standard code was delivered with the imbedded management card of a server that just happened to be shipped to Opera. The two events have nothing to do with each other and it unbelievably unlikely that for an account the size of Opera that someone would have done regression testing on their software to make sure it works with Opera's product.

As Opera has been complaint to most standards for years, while it took other browsers years to do the same, it is the websites that have the incompatibilities, not Opera.

Driving your nice little environment degrading Toyota Prius to Germany and finding out they have trimmed all branches of trees so that only VW, BMW, Merc and Audi can pass through without being scratched would probably upset you just as much as your statement would to any Opera supporters. And you would not be blaming Toyota, you'd be blami

Driving your nice little environment degrading Toyota Prius to Germany and finding out they have trimmed all branches of trees so that only VW, BMW, Merc and Audi can pass through without being scratched would probably upset you just as much

Fantastic! I nominate yours for a Slashdot Achievement (which if they don't have then they certainly *should* have!)

since they are insignificant in the browser market I'd probably do the same thing.

Then you're a fucking moron.

If you were running a store with a physical presence, would you also ban customers who drove Toyotas, telling them "Toyota is insignificant, and therefore you are not allowed to shop at my store. Come back when you have a Ford or GM"?

If you were running a store with a physical presence, would you also ban customers who drove Toyotas, telling them "Toyota is insignificant, and therefore you are not allowed to shop at my store. Come back when you have a Ford or GM"?

If your store sells parts for Ford or GM vehicles but doesn't carry any for Toyota, and a Toyota needs special parking provisions, such a policy might appear reasonable at first glance.

Actually, he has a very valid point. In your Toyota example, you are forgetting that in order to support Toyota, you have increased development costs and time in order to support a very, very small percentage of users, compounded by the fact that supported browsers are free and can be installed in a matter of minutes.

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, becau

OK, let's assume that you would want to rent out parking space to a local shop. It might make sense to ban brand X cars, if they would require extra wide and long spaces. But if you really want to sell your parking spaces to a brand X car shop, this strategy would be full of fail.

Picture VW Polo next to Rolls Royce Phantom. Polo will fit nicely out the front of your local 7-11 / Tesco store; Good luck getting the Phantom in anything smaller than the Disabled spaces.

Though to be fair, if you're the kind of person who a) ows a Rolls Royce Phantom (or a Bugatti Veyron, or a Mercedes-MacLaren F1, or...) and b) shops at 7-11, you probably qualify for the Disabled spaces... Mentally.

Actually, he has a very valid point. In your Toyota example, you are forgetting that in order to support Toyota, you have increased development costs and time in order to support a very, very small percentage of users, compounded by the fact that supported browsers are free and can be installed in a matter of minutes.

If you hire a good developer your site should work for all browsers. It's not fucking rocket science.

If you hire a good developer your site should work for all browsers. It's not fucking rocket science.

more to the point, try doing less 'fancy schmancy stuff' and you'll find that simple web forms and UI's work JUST FINE with all browsers. even lynx.

I am not a fulltime web devel (I write software, not web pages) but I have been able to get some web sites up and running that use the form/cgi paradigm and they work across ALL browsers. what's not to work?

oh, you want flash and blinking and 'as you type' stuff that happens?

go elsewhere, then. go write some stupid windows program if you want to 'act that way'.

but that crap does not belong on serious web apps. 'web masters' (what a joke..) have ruined the web with all the blink/fancy crap they try to pull off.

the web was designed so that you would NOT have to check (!) what browser you are sending data to.

why the hell SHOULD a server-side program care how you render data? you've done your job, you tagged paragraphs as paragraphs, lists as lists, images as images. you did what html was designed to do!

just annoys the hell out of me that the web was NOT designed for 'making remote word processors'. it just was never meant for such things. we have twisted this nice interoperable (key term that has lost its meaning, sadly) web into some overly complex beast that 'needs' to know how you render data. or worse, wants to TAKE PART in the font sizing, spacing, colors and so on. what a huge mistake; and its already too late to fix the web at this point; too many idiots are trying to make web programming just another bloated GUI.

in a way, I wish we didn't have such fat pipes or such fast processors. maybe then we'd see a return to sanity and some level of minimalism. that's what web UI's were *supposed* to be. tag the elements and stay the hell away from FORMATING.

Stuff happening "as you type" is extremely useful in some circumstances. Excluding that functionality because it might not work is a terrible idea. Updates to small portions of the page instead of waiting for a page reload is a good way to make the site work better and faster.

you don't need a windows program to make it "act that way". You just need proper feature testing and graceful fallback. Unfortunately, that takes a while to test. If a browser has o

anyone that is using Opera can just switch over to another browser to perform the task at hand*.

Except Opera has a significant exclusive presence on appliances. For instance, I don't know of any other web browser that can be installed on a Wii or Nintendo DS system without a jailbreak, and there are plenty of phones for which Opera Mini or Opera Mobile is the best web browser. Or was this your * ?

Toyota has the #1 marketshare in the world at something like 15-18%. That's akin to Firefox in terms of share (20-something percent). Opera is lucky if they have 1% of the browser market. It's more like saying Ashok Leyland [wikipedia.org] doen't have a sizable marketshare, therefore we're excluding them from the market.

Opera is only insignificant in U.S. and Asia. It's much more noticeable in Europe in general, and very prominent in Eastern Europe and especially in ex-USSR / CIS countries [opera.com], topping at about 40% there (and yes, it does overtake Firefox there). Which is still a fairly large market - you might not care about it, but for a lot of companies, it would be silly to ignore it.

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