Developing for the Web exclusively for two browsers
52 CommentsPublished January 3rd, 2008 1:36 PM EST By Daniel Goldman
A complaint I hear many times about Opera is “why don’t some sites work in Opera when they do perfectly in Internet Explorer (IE) and Firefox?”
The answer to that question is quite tricky. There can be many reasons for why sites wouldn’t render or work properly in Opera.
A common issue is that certain Web developers assume there are only two browsers in the world, IE and Netscape/Firefox. These developers write code that specifically is on the lookout for only those browsers, leaving out alternative browsers such as Opera and Safari.
What do I mean by this? I suggest you read the blog post by Haavard, who works in Opera’s QA department, about this very issue.
His post highlights the urgent awareness that is needed among Web developers. Developing websites for only the top two browsers prevents millions of alternative browser users from accessing those sites.
If you enjoyed this post, then make sure you subscribe to my RSS Feed.



using
True, it is sad that you can see an example in picasaweb (google) and spreadsheets (google again)
using
it’s weird as two partners of Opera, as Yahoo & Google are so incompatible con the Opera browser… If not, try to use docs.google or yahoo beta mail…
using
google sites, same as yahoo sites fail also because of problems on opera side. in very popular userJS fix-google or something like that, there were more opera bugs fixed than google bugs, so go figure.
and btw, where are the webDev tools for opera? where is the JS debugger? you expect webDevs to do work for you, arent you? there is little demand for opera-compatibility, mostly because people that do websites use firefox for that (firebug), so they’ll always make it work in firefox (and ie6/7 obvioulsy) and probably would do the same for opera, if there were tools. there arent, game over.
it is frustrating enough to see that opera always knows better in gray areas. as if the webdev life wasnt hard enough. so they ignore opera alltogether – 1% less users, 50% less work. a bargain. you can mention mobiles etc, but sorry, if many people complain to nintendo, that they have poor internet channel experience, because sites are broken, nintendo will find another browser vendor. firefox isnt as slim or fast, but it works.
so stop whining about cruel world, better do something about it.
where are the tools again? id like to know about progress on that more than about ANOTHER man in speedos that ruin opera image (if it wasnt bad enough on the web already)
using
w2, you know where the dev tools are, so why do you bother asking? There is no point in ruining every single blog post with your off-topic ****.
The only person whining here is you. Other people are just pointing out how many sites assume that there are only two browsers, IE and Netscape, out there. No amount of dev tools can fix that.
using
“so why do you bother asking?” because there are no tools for opera. ‘dev console’ that is offered now is a POS compared even to IE’ tools (VS+webDevToolbar)
as long as opera thinks that webdev tools are ‘off topic’, web developers will consider coding for opera as ‘off topic’.
you will shout, that i cant speak for all webdevs. true, but they speak loud enough for themselves with their actions. quite a lot of mainstream webpages are broken in opera. my rough guess is that more than half of top20 alexa sites are broken in opera – be it 9.2x or 9.5, later one didnt really improve a thing when it comes to real-www compatibility.
“No amount of dev tools can fix that.”
first try it, then talk BS.
offer webdevs a tool, that would bead firebug (or it similar) – theyll use it.
offer them a browser that isnt a collection of weird quirks commited in the name of holly standards (that arent compatible with itself) not the true standard, that 99% of the market obeys – theyll use it, and develop for it
offer them a browser, that is as flexible as firefox, has a clear future plans as firefox, and allows itself to be extended as firefox. you might spread illusions about opera having it all from the start, or living in the past ‘opera created/invented it in 1998′ – WHO CARES? firefox implemented it better, that is something that means NOW.
only after doing that, you can claim, that ‘it cant fix that’. before doing it, better shut up, because you look like a whining kid, that looks for reasons of a failure everywhere but not in himself.
using
w2, here we go again…
using
w2 knows that Opera is working on new dev tools, but since when did he care about facts, eh?
When a site doesn’t even know about Firefox, but only Netscape and IE, why would they use Firebug?
Anyway, here’s w2’s useful contributions to OperaWatch:
- Opera releases new version. w2 responds: “But where be this dev tools?!”
- Opera posts a new article on dev.opera.com. w2 responds: “But where be this dev tool?!”
- Opera find a cure for cancer. w2 responds: “But where be this dev tools?!”
No matter what is posted on OperaWatch, w2’s predictable response is: “But where be this dev tools?!”
using
“people that do websites use firefox”
That’s exactly the problem.
Don’t develop for a browser. Develop for standards.
Developing for a browser leads to monoculture.
Which leads to bad implementations (ie. IE).
Which makes me cry when I try to develop simple cross-browsers things.
That’s only the diversity of browsers that will help standards to be followed.
And that’s only the correct uses of standards that will make people choose their favorite browser.
So for the web sanity,
authors : please use standards !
end users : please use a standard-compliant minor browser !
Opera, Konqueror, iCab, Safari, … All these are great, really.
Don’t start aguing this or that browser is the best. Because even if it’s true, we’ll be in the same sh*t if that best browser takes 100% of market share.
using
W2 seems to be forgetting, that people do and can develop web sites without developer tools.
using
>A common issue is that certain Web developers assume
>there are only two browsers in the world, IE and Netscape/Firefox.
Um, I doubt that “Netscape” belongs in there at all. Netscape’s market share is and has been below even that of Opera for quite some time.
The problem is Web developers developing for three browsers, IE6, IE7, and Firefox. The good news is that in most cases if the site was developed to work in Firefox it will also work reasonably well in Safari and Opera — certainly a lot closer than if it had just been developed for IE.
So, rather than simply coming down on developers for writing to IE6/7 and Firefox, I think you might also want to consider that Firefox’s success in taking market from IE has immensely helped alternative browsers by requiring that Web developers write much more sane and much more standards compliant code than they would have if it was just an IE world.
- A
using
>When a site doesn’t even know about Firefox, but
>only Netscape and IE, why would they use Firebug?
Um, care to point out the sites that don’t “know about” (I assume you mean “are coded to work with”) Firefox but do “know about” Netscape? There just aren’t m/any out there. Developers either code for IE only or for IE+Firefox. There simply aren’t any real number of sites that give a hoot about Netscape. As I said in my response to Daniel, Netscape has even smaller market share than Opera.
- A
using
Ummm, Asa, maybe you should read Haavard’s post? He’s got a site that only looks for IE and Netscape. No mention of Firefox anywhere. Or Opera for that matter. Yet Firefox is effectively saying “Hi, I’m Netscape!”, and thereby “works” for that site. Somewhat amusing given how often you criticized Opera for pretending to be IE? …Oh, I see now…
While Firebug is nice, and an Opera equivalent would be fabulous, it (or its lack) has absolutely nothing to do with site compatibility. IE’s developers tools are not much better than Opera’s, yet IE enjoys vastly better “site compatibility” than even Firefox with its Firebug tools. “Site compatibility” is not a technological problem that is solved by browsers or devtools, but a web site developer attitude problem.
using
I did read Haavard’s site and yes, he did run across at least one site that sniffed for Netscape — probably a site written years ago. That’s pretty clearly an anomaly and not the common case.
- A
using
Oh, and I’m not terribly critical of Opera spoofing the IE agent, I’m critical of Opera actually chasing the IE DOM implementation — a futile and ultimately unsuccessful strategy.
- A
using
“IE’s developers tools are not much better than Opera’s,”
this is the point i stopped reading, as you know little about tools as it seems.
a lesson – you can use Visual Studio (2005 and 2008) to debug JS for IE – with breakpoints, stack tracing, on-the-fly var changes etc. there is NOTHING comparable available for opera. IE has even debugging mode buit-in!
JS development does not require tools – true, you can always write 100% working code on the first go. but thinking so and relying on it is VERY stupid. people make bugs, people fix them. in opera, they need to stick to 20th century methods using very unfriendly tools, like that error console, that is simply bad. or be back to alert-driven development.
is it clever to assume, that all webdevelopers are VERY skillfull, and have lots of free time and incentive to toy with opera’ quirks, in situation, when opera is a marginal player on the market? why are you so naive? it isnt, but you, as a company, seem to do it every day.
web site developer attitude problem is a reaction to opera attitude problem. opera is a small player, but behaves as a big, all-knowing player sometimes. and seems to always know better, and never admits to any mistakes.
“end users : please use a standard-compliant minor browser !
Opera, Konqueror, iCab, Safari, … All these are great, really.”
end users couldnt care less about how ‘great’ these browsers ‘are’. they dont work on mayor sites, so they arent that good. simple as that. end user point of view differs from browsers point of view.
“w2, here we go again…”
yes, Daniel. but maybe instead throwing it away immediately think a little more about how REAL world works. that webDevs, like all people, are in majority lazy, and are not so skilled like they should. you can mock them, or you can help them. giving them tools they can use, that help these less skilled can only benefit you.
you’ll gain nothing from webDevs without tools. because you require them to do more work to code for opera (coding for standards is a myth, as long as opera implementation isnt exactly the same as firefox, there IS still a need for forking) but give them nothing to help that out. there is a post by hallvors about how he debugs JS problem. it is a good 15min read and about an hour of real work. in firebug/visualStudio it is as simple as ‘trace this variable’ and minute later problem solved. this is why not providing tools is a showstopper for big webapplications. you can write posts like havaard ones, you can make conferences or stunts. it doesnt matter it doesnt change a thing. google/yahoo/ms pages compatibility did not change, and is very bad.
and btw. telling that opera works on devTools has as much substance as telling that we all work on the World Peace. it means nothing.
ps. visual studio express editions are free, just in case anybody mentions ‘the price’.
using
Still developing for one browser!!!
http://www.ravenmotors.net/
using
http://my.opera.com/hallvors/blog/2007/09/09/the-backtrace-of-an-y-mail-debug-session
there is the link i mention above, from hallvors blog. all that script tracing with proper tools takes about a minute. freeing you to do more, fix more, making a world more standards- and opera-friendly. a bargain, isnt it?
using
““IE’s developers tools are not much better than Opera’s,”
this is the point i stopped reading, as you know little about tools as it seems.”
Actually, I know quite a lot about various tools. The thing is that over the years I’ve learnt to work with minimal tools – I don’t need fancy debugging crutches in order to work. That’s mostly because sometimes I have to debug without any fancy tools and I’ve had to work with otherwise competent people who became totally paralyzed and useless without their debugger.
As for *IE* developers tools – you’re quite correct – I know little about them. I don’t develop in IE, I develop my sites in Opera and Firefox, and I tend to use techniques that will work *wherever* I am – even on site with a customer far away from my usual tools.
Anyway, I’ve seen far too much stupid coding on the web. Based on what I’ve seen, the typical web developer just uses WYSIWYG tools and debugs with their eyes shut by trial-and-error until they’re happy. No amount of tools will help those people.
using
@Asa (I didn’t notice your comments for a bit): If you’re being critical of Opera chasing IEs DOM, then you’ll also need to be critical of Firefox and Safari too – all browsers have chased IEs DOM to varying extents, all in the name of “site compatibility”. Opera is/was doing nothing different to other browsers.
using
“end users couldnt care less about how ‘great’ these browsers ‘are’. they dont work on mayor sites, so they arent that good.”
Try to think better.
Read the good point from Asa : “[...] chasing the IE DOM implementation — a futile and ultimately unsuccessful strategy”.
It would be equally futile to make developers use Opera as a devtool instead of anything else I think.
I agree with Asa when he says Firefox success has greatly improved the quality of the web in general. The more successful browsers there’ll be, the better the web will be. But isn’t this success partly caused by Fx “”chasing”" (see the Havaard example) the Netscape implementation … ?
Anyway don’t snif. It’s bad for your health.
using
Originally posted by W2:
and btw, where are the webDev tools for opera? where is the JS debugger?
I know that “it’s on it’s way” and “when it’s ready” are not very friendly answers, but these things are coming. The delay is probably because they want them to be better than anything else that exists.
As far as the developer tools available for Mozilla based browsers, if they are so great, then why do they not automatically show developers how to write code that works just as well in Opera and Konqueror/Safari as it does in Firefox? If these developer tools helped people write standards compliant code, then the code should work the same in Firefox, Opera, and Konqueror/Safari, should it not? Obviously each browser has it’s own rendering bugs that the tools can’t be expected to account for, but the support for standards in each browser is greater than the number of bugs that break code. There is always a happy medium.
I also don’t think that Mozilla is helping the situation. They’ve given Opera Software another type of bad code that they have to try to account for on the web. That annoying “almost standards compliant” code that renders OK in Mozilla/Firefox, but that breaks every time in other browsers. If it was just Internet Explorer that they had to worry about, then they would have less to worry about, because it’s so much easier to add support for broken code designed for Internet Explorer than it is to do that and add support for broken code for Firefox as well.
Once again the solution proposed by the Mozilla fan-boys is “if you were more like us, then you wouldn’t have a problem.” But lets think about that for a moment. If Opera was more like Mozilla/Firefox, then what would be the point of it’s existence? Just another Firefox clone? Where does that take us? Does that mean Presto becomes Geko? Where’s the fun in that? I use Opera partially to escape Geko, and partially to escape extensions. If Opera were like Firefox, then I would be left to write my own browser to compensate…
using
“That annoying “almost standards compliant” code that renders OK in Mozilla/Firefox, but that breaks every time in other browsers.”
So, if you don’t have a doctype, Opera spits you’re pages back out? I don’t think so…
using
w2 trolls again:
Maybe instead of repeating the same nonsense over and over, you could try to come up with something new. Or better yet, go post on a IE related blog, since that seems better suited for your browser tastes.
The bottom line is that you act like you have some new and revolutionary ideas, and you absolutely have to force them down everyone’s throat every opportunity you get. But it’s causing nothing but noise.
Only to those who are clueless and not up to date. For someone who obsesses this badly over Opera, one would have thought that you were aware of the latest developments…
using
[quote]Once again the solution proposed by the Mozilla fan-boys is “if you were more like us, then you wouldn’t have a problem.” But lets think about that for a moment. If Opera was more like Mozilla/Firefox, then what would be the point of it’s existence? Just another Firefox clone? Where does that take us? Does that mean Presto becomes Geko? Where’s the fun in that? I use Opera partially to escape Geko, and partially to escape extensions. If Opera were like Firefox, then I would be left to write my own browser to compensate…[/quote]
I think that you went a bit overboard. First, Opera also has it’s share of “alsmost standards compliance”. Many times Opera long time ago decided to implement something differently than other vendors, just because it though it is the better way. It was long ago, and for stuff that these days wasn’t that important. It backfires now. So called “standards” are to blame, as these aren’t really well-written. Even as trivial stuff as float’ing + overflow: hidden is written in a way, that it is a miracle, that most browsers understood that in the same way. Not to even start about JS/DOM differences, that are wast.
Opera, as a smaller player, should now bow down, and adapt to common rules. It is a bit humiliating, but that’s the way world works. It applies to stuff, that is badly described in the specs, not to obvious gecko bugs. I know of one gecko bug, that mozilla refuses to fix claiming it would break lots of sites, but it is only one bug.
You ask: “If Opera was more like Mozilla/Firefox, then what would be the point of it’s existence?”. Well, it made me think. Well.. standards, are standards aren’t they? Target for all browsers is to render everything in the same way. But to provide users different user-experience, just like: Opera (all-in-one), Firefox (add-it-yourself). Rendering, as a standarised item, shoult be identical, shouldn’t it? All manual gearboxes have the leaver, and the clutch, but there are tens of way of doing it. Same with rendering engines.
[quote]I know that “it’s on it’s way” and “when it’s ready” are not very friendly answers, but these things are coming. The delay is probably because they want them to be better than anything else that exists.[/quote]
Truth is, FireBug was created by one guy, as a side project in a timespan shorter than between now and abovementioned quote. Opera provided some bookmarklet tools, that arent bad, but are a bit weak. And because of that I think that they’ve stopped working on them, considerin this topic as solved and closed.
[quote]As far as the developer tools available for Mozilla based browsers, if they are so great, then why do they not automatically show developers how to write code that works just as well in Opera and Konqueror/Safari as it does in Firefox? If these developer tools helped people write standards compliant code, then the code should work the same in Firefox, Opera, and Konqueror/Safari, should it not? Obviously each browser has it’s own rendering bugs that the tools can’t be expected to account for, but the support for standards in each browser is greater than the number of bugs that break code. There is always a happy medium.[/quote]
I’ve to say, that I don’t understand what you’ve meant. First, FireBug is a tool designed for FireFox, and as such only supports FF quirks. That’s obvious I hope. Second, FireBug isn’t a designer’s tool, it is a debugging tool. Easing the process of finding and fixing bugs. You don’t write a code in it. I presume you know it, but it has to be said. Visual Studio OTOH is a full-blown IDE, and at least in 2008 edition does very well at supporting standard’s compliance. You can even configure it in a way, that it wont allow you to check-in code that does not validate. WebExpression/vs2008 are VERY GOOD WYSIWYG editors, that I recommend everyone to try before commenting on them. Because it seems, most of you never ever tried NEW MS tools, and live with bad memories of FrontPage.
Why standard’s compliant code does not work in all browsers (IE aside) is simple, and you’ve said it yourself – browsers have quirks, lots of them, and you need only few criticals to destroy whole areas of functionality. Opera has quite a lot of these, just like Firefox. But unlike Firefox it hasn’t got the market support. Users are not going to cry _en masse_ to site owners to “fix them”.
And until Opera starts to “behave like Firefox” in areas they differ, I can’t see any way of Opera improving site compatibility. But because it is a matter of prde, that both browser vendors are full of, I suspect no changes. It is the pride that is more importnat now than standards..
Simple truth is that you can have 100% valid page, that will fail in Opera. (same as in Firefox or any other browser). And in this case, it is Opera (and resp. Firefox or other browser) to blame.
And the last quote:
[quote]The more successful browsers there’ll be, the better the web will be.[/quote]
Does the world really need more successfull browsers? Given how popular that IE is, I don’t think so. Healthy competition – maybe, casual users? no. definately not.
using
Who is talking about doctypes? Those are only used by validators. The content type is served to the browser by the server in an HTTP header, and if missing it’s read from the HTML code (or determined automatically). This is done per W3C recommendations.
What I was talking about was code written by developers that is designed and tested only in IE and Geko-based browsers. This code tends to break in Opera (and often in Konqueror/Safari), even if it passes validation.
W2:
Note under the “website” field it mentions what tags you can use. BBCode is not mentioned. Please edit your mess, and submit it to Daniel via e-mail to be reposted (or ask Daniel to delete it so that you can repost it yourself). Thank you.
using
Asa: I’m not sure you know what you are talking about, in all due respect.
> I’m critical of Opera actually chasing the IE DOM implementation — a futile and ultimately unsuccessful strategy.
From a page you link to on your CSS3.info comment about FF3:
* The Internet Explorer elementFromPoint DOM extension is now supported (bug 199692).
* The Internet Explorer oncut, oncopy, onpaste, onbeforecut, onbeforecopy and onbeforepaste DOM extensions are now supported (bug 280959).
I’m 100% sure these are not the only IE DOM extensions you support either.
As far as supporting standards; yes FF is far better than IE, and getting the FF path is in most cases better better than the IE path, but in general the Safari path is better for Opera if it exists, as Mozilla has DOM extensions too, which we don’t support. A lot of the MS Live services use these for example (in their compatibility layer) and so do Google services. If you look at this CSS page that you also link to, you#ll see many
-moz-vendor prefixes. Not all of these are experimental CSS3 properties. Luckly CSS uses vendor prefixes, so designers can tell it is a vendor extension. I’ve often had the case with DOM where developers have sent bugs to me saying why doesn’t Opera support x, when it turns out it is a Mozilla extension to the DOM. I don’t want to speak bad about Mozilla, as they have a good standards based browser, but it does have a number of this stuff that causes us problems.> There simply aren’t any real number of sites that give a hoot about Netscape.
Again, not true. I work on web compatibility every day, often seven days a week. I see this all the time. Many are old pages, but we need to work on old pages. Not all relevent and good content is updated constantly. Banks are also sites that often only officall support Netscape and IE. Many sites may not be specifically targeting Netscape, but Firefox (and Safari) return Netscape when you test for appName. This means sites use Netscape in the browser sniffing. No, they shouldn’t do this, or browser sniffing in general, but they do. If FF change to reprot Firefox, you’d get similar issues. We tried changing to Netscape in builds of 9.5, but we got issues with important sites where they do test for Opera and expect appName to return Opera. even if they changed this to check for Netscape for Opera, the old scripts used by sites all over the web would still break. There really are not a trival amount of sites.
using
David, don’t give me that ****. Opera has been basically identifying as IE for years and chasing IE compatibility. This, as compared to Safari which essentially took the rout of spoofing Gecko and chasing Gecko compatibility, was foolish. Opera’s since turned around on this some but if you look at our undetectable document.all support, you’ll see our approach — which is to do our damnedest to not chase IE and to not advertise that we want IE code – ever.
Opera has been asking for IE code for years and then working hard to render it. We’ve been asking for Gecko/standards compliant code since forever and then making sure we can render that. Opera should have done what Safari did and realized that web developers were forking for IE and Gecko and picked the better side and chased Gecko compatibility. If they’d done that, more pages on the web that do the admittedly stupid “do you want IE or Gecko code” sniffing would be handing Opera the Gecko code which is clearly better handled in Opera than the IE code.
- A
using
Oh, yeah, and if you want to chase old pages, more power to you. I think that’s a foolish battle.
using
“* The Internet Explorer oncut, oncopy, onpaste, onbeforecut, onbeforecopy and onbeforepaste DOM extensions are now supported (bug 280959).”
id like these be suppoerted in opera too. f.. standards, soon evey next-gen wysiwyg web editor will use these if both IE and FF can use it (95% web acceptance equals indusytr standard).
or make it standard, many IE extensions DO have sense and sometimes are better documented than ‘oficial’ standards.
as for my previous post, try to read it anyway.
using
Asa, then please explain why oncut, oncopy and onpaste are supported in FF3 then?
You’ve just switched back to your previous statement because you know you’re wrong and being a hypocrite, if FF really wanted standards compliant code they wouldn’t try and include IE’s DOM extensions like this at all.
And yes, Opera identified as IE for years, purely for compatibility reasons. If you had to render sites correctly, the obvious choice is to identify as highest common denominator.
using
Asa: Gmail wouldn’t have worked in FF when they made it if you didn’t support IE things like.. well should we say XMLHttpRequest … You did support that didn’t you instead of the W3C standard proposal for DOM3 load and save….
Don’t be to quick to bash Opera when you haven’t covered your own ***.. Hypocrit
using
w2:
Which it does. Just like Firefox does. They both have to be compatible with real pages, which means being compatible with IE a lot of the time.
Definitely. It’s because we have a dominant browser which breaks the standards so other browsers vendors have to work on being compatible with that in addition to standards compliance. If browser vendors could spend all their time on standards compliance it would have been greatly improved.
Asa Dotzler:
Nice straw man there. You know, Asa, Opera needs to live in the real world. It doesn’t get compatibility for free since unlike Firefox, it isn’t basically just a new version of Netscape.
using
problem is, that opera has lots of time to add stuff that is purely experimental, like webforms, html5, svg etc. but somehow has problems finding time to implement fixes that destroys whole areas of functionality and site compatiblity.
truth is, that if opera removed svg, html5, webforms, etc stuff released recently it’ impact on site compatibility would be equal to ZERO! all that manpower put into abovementioned stuff was wasted when it comes to real world web compatibility. and it is the weakest link in opera. what is more fun, it probably is wasted in all aspects, because market adoptation of these technologies is slow, or nonexistant.
bad resources allocation it seems. not neccesarely related to any dominant browser. opera seems to not understand simple fact – until something is in IE, then dont waste your time working on it. it wont be used. and as such are a waste of time.
using
The problem, w2, is that all those “experimental” things are only that until another browser implements them. If Opera hasn’t already implemented them by then, people like you immediately whinge that Opera hasn’t been working hard enough.
You’re also forgetting that technologies such as SVG are extremely important to the mobile web – an area where Opera is the standout leader. None of it is a waste of time.
using
well.. point me to a mobile site, that uses svg as a main way of presentation. would you?
I happen to use mobile web quite intensively, and havent ever seen a site that uses svg.. is that ‘importance’ another urban legend?
“The problem, w2, is that all those “experimental” things are only that until another browser implements them.”
Until IE implements them. If you think otherwise, then you have no contact with the real market.
“If Opera hasn’t already implemented them by then, people like you immediately whinge that Opera hasn’t been working hard enough.”
no, i dont think so. have i ever ‘whinged’ about your lack of microformats or other geek-like stuff of the future? What i do make constructive remarks are things other browsers already have, and as such – things that are used.
It looks like that:
If technology A is supported by IE and FF, webDevs will use it regardless if opera/safari has it.
If technology A is supported only by FF, theyll do it as an option for FF users by forking the code
If technology A is supported only by Opera, theyll ignore it completly. thats the price opera pays for being minor player, and for being so arrogant for all these past years. ‘we know better’. maybe you know.. but it isnt opera that shapes the market somehow.
There is no point in Opera implementing stuff as a first browser. Just because, nobody cares, and there is a great probabilty, that other vendor (FF) is going to implement similar stuff under another name. That vendor, as a major player has lots of chances to make it into the market, while opera’ chances are equal to zero.
Implementing html5 and claiming technical supremacy by that move is pointless. Any competent webDev can list a few showstoppers, that keep opera away from compatibility with real-world-wide-web. Most of these being VERY old and equally annoying. Each new gizmo introduced instead of fixing these bugs make them (myself included) more and more angry with opera. To the point, when i introduce standard compliance bits (remove forking around opera bugs) just to make opera fail. It is VERY easy.
Andrew, it was you IIRC that made that fix-google script. You know how many opera bugs it fixed. you probably know better than anyone here how much fault is on the opera’ side. And how old these bugs are.
When you have a car with a flat tire you dont go chrome your air inlets. Opera has flat tires, and tries to mask that having the most shiny door handles and the most innovative whipers. Sorry, it still pulls to the left..
Lack of tools doesnt help either. When a standard webDev (1 year of experience, often a student) treis to fix a bug in opera he is helpless, and can only moan, seeing how much emphasis is put on widgets (that suck) and how tools subject was pushed under the carpet. And then opera cries to webDevs to fix their sites. How? Why?
using
Asa: when Opera started its work on compatibility, we weren’t choosing between “asking for IE code” and “asking for Gecko code”. We were choosing between “asking for IE code” and “asking for Netscape 4 code” and I’m sure you’ll understand why emulating document.layers and NS4’s horrible CSS violations was not an option to consider.
using
OK, W2, time to pony up. List those “showstoppers”! Every time Opera release a new x.0 or x.5 there’s a long list of new and improved web developer features. IMO, v9 was the first Opera version that finally achieved web-tech feature parity with IE and Firefox.
BTW, I didn’t implement the fix-google script. I *did* implement a Gmail patch a few years ago to workaround Google’s cross-browser hostile decision to use XMLHttpRequest when other cross-browser friendly equivalents had been around and in use for years. That’s the real problem – web developers who don’t even try to be cross-browser friendly.
using
onContextMenu – where is it?
i know that there is opera main context menu, but you know, pages could use it anyway for other stuff. oncontextmenu is a neat workaround for idiotic mouse button numbering. yes it is not w3c, but it is ’standard’ as in ‘industry standard’, that is much more important than w3c standards
opera attitude towards right clicking on pages is more than annoying- “we disable it!” thats rather stupid attitude, because webDevs use right clicking regardless of opera problems, causing lots of broken sites.
convince me that it was a good decision to completly ignore it, and you’ll get next one. im not in a hurry.
as for version 9 being OK. not, it wasnt – set/get werent there, next time you ask why yahoo mail wasnt working look there. same goes for overflow-x/y. but we got svg.. cute, isnt it?
i was talking about this script:
http://files.myopera.com/xErath/files/fix-google-services.js
sorry, for confusing you with xErath.
but somehow i cannot find any more recent version and im sure i saw one
btw. what about that ‘extreme importance’ of svg, any samples?’
using
You should ask this question to Apple OS X Safari users too.
For Yahoo etc, everyone either uses IE or Firefox, not default browser coming with OS X.
This also has another side effect. Mac OS X users choosing to use a Webkit based browser decides to hate Firefox rather than simply ignoring it otherwise.
I am NOT using Firefox because of a simple reason: Its maintainers abandoned Thunderbird without any logical reasoning, they send data to Google Inc. in every opportunity while open, community supported solutions like phishtank exists (FF 3 anti phishing), their developers think they are above common people (see above) and they have really lost the sole reason why XUL exists.
Opera cared more about Netscape’s death than Firefox developers or community. They forgot the huge support they got while kick starting project, that $2 M from AOL, everything. There was a sense of “party” at Mozillazine.
Speaking about Mozillazine, unofficial (!) site. Try to find a single Mac user got banned for demanding better OS X support on Opera forums. Now go to Mozillazine forums and count the number of blocked topics started by banned Mac users.
See? This is why “Firefox and IE ONLY” scheme must end. We, normally ignoring that open source project start to think about it and find flaws.
using
w2:
Problem is, these are future web standards, and surely you are not suggesting for Opera to stay behind everyone else? You are one of the people who keep complaining about Google compatibility, but you seem to be unaware that Google adopts these things at its own pace.
Truth is, that Opera needs to live in the real world, where things progress and Opera needs to be part of that progress.
You are just ASSUMING that it was wasted.
using
Asa: The Web is the greatest collection of knowledge, which surpasses even that of the ancient Royal Library of Alexandria. Saying that getting old sites to work is foolish, is like saying it is foolish to read works such as those of Plato or Homer. If we ignore old sites, then we deny our users rights to read and access those sites. There is a lot of useful knowledge in those old sites.
Adding support for IE only extensions helps a lot more than it breaks stuff. Otherwise Mozilla eouldn’t do the same. Document.all is something you hide support for, but as far as I’m aware you don’t do that for the many other IE extensions you support, such as XMLHttpRequest etc. It is hypercritical to insult Opera for doing things that ypour own company do. In an ideal world we wouldn’t have to add support for IE or Mozilla only extensions as they are not part of the spec and are often not documented well. However we live in the real world, and it isn’t a political battle of goodies vs baddies, and real world compatibility requires us to add many of this stuff as real web sites use it.
As Hallvord mentiones previously, IE was much better than Netscape at the time. Looking back in hindsight may be easy, but Safari is much newer browser than Opera, and the web had a very different landscape when it was created. We used to ID as IE which has caused problems in the past, but we moved away from that quite a while ago, as it isn’t needed as much now as it was in the old days of broken IE code or more broken Netscape code. Trident was actually a fairly good rendering engine back in the day, before they won the first browser war and stopped working on it. I don’t want to turn this into a peronal slagging match, so I’ll refrain from calling anyone foolish, or using profanity.
Opera works hard atrendering all content. We focus on the W3C and ECMA specs, but work hard adding IE and Mozilla stuff if that is the choice we have to make. Doing this hasn’t harmed our ability to deliver industry leading support for the web standards that we should support. We have the most complete SVG support, the most complete DOM2 (and probably DOM3), probably the most compete CSS support, and possibly even the most complete HTML support. I don’t kno much about XSLT and XPath, but we probably have competitive support there too. ECMAScript is probably the only one we are behind in or not neck and neck, but we are still probably better or competitive with the other none Mozilla browsers. Not supporting the bad IE or Mozilla extensions, would likely not change any of that. It likely wouldn't fix many sites that are now broken either. Hiding Document.all support may help compatibility, as thar is often used for the worst Object detection/browser sniffing hybrid of all time -
if document.all { browser ="IE"; }. It will also break sites that do object detection the correct way, and test for document.all before using it, but then do the wrong thing and don't supply a standards based equivalent. A high profile example of a site that used to do this was UCI Cinemas (which are one of the biggest cinemas in the UK). There are other sites as well. There is a balance, and if we find hiding support fixes more sites than it breaks then we will probably change behaviour.If you want to spread FUD about Opera, then you are welcome to do so, but we are not as stupid as you might think.
using
I believe W2 has a point. When real (non-javascript based) web developer tools come out, i think this will positively impact compatibility across sites. In Opera, it ranges from difficult to impossible to do some things that firebug does effortlessly.
using
I write sites according to web standards but I expect some level of sanity from browsers.
That Opera’s default for p tags in centre align is flipping stupid. I don’t care if the standard omits an alignment stipulation, in the interests of cross-browser development and user sanity, align left is the only sensible option!
I’m not going to pander to stupidity like that from a browser with negligible market share because I don’t have to and shouldn’t have to.
When Opera can’t get a simple default styling like p text aligned left correct, who knows what errors it will bring to the IE6/7, Fx browser environment I already have to support? It’s not worth the hassle. I design for standards. If that means weirdness in a browser that holds less than 1% market share, I think that’s the browser’s fault.
using
w2, SVG is not necessarily used on webpages, but rather in Opera Widgets, which currently run on Opera Mobile 9 and Opera for devices. I’d suggest you take look at this post.
using
pd: I’ve never noticed Opera aligning p elements as centre by default when they are not styled.
using
Oops@pd
using
“w2, SVG is not necessarily used on webpages, but rather in Opera Widgets, which currently run on Opera Mobile 9 and Opera for devices.”
so is it ‘mobile web standard and very important for it’ or ‘it is opera mobile standard and very important for opera’?
if it was the first, it would have been used widely on the net, but it isnt. so it is the second. and this is opera’ decsion to make it so.
given that people couldnt care less about widgets (they suck, plainly, and their usefullnes is pony compared to userJS, that was killed on purpose by opera as it seems) it was a wrong one.
so what was the svg for? it is a nice technology, but until IE has support for it, it is dead technology. like many other good technologies (betamax is a prime example) it is a bad sold technology and as such, no matter how good it is, it will die. implementing it and making a great fuss about is is nothing more than geek stunt.
all what widgets can, can be done with html+js. and because mobiles are getting faster and faster you’ll soon stop careing about computing cost of svg compared to JS. svg is a dead end.
“we have the most complete SVG support, the most complete DOM2 (and probably DOM3), probably the most compete CSS support”
but after you include the bugs or implementations that are not in line with ‘common’ standards into the picture it starts to look not so nice. seriously, instead of adding another XXIIth century technology spend a month on fixing bugs that are 4 years old. it would benefit you better. and maybe make some webDevs try yout product once more.
using
w2: I’m still waiting for you to pony up these bugs you’ve been talking about in almost every post, on at least three different Opera blogs. If we don’t have a list of bugs we can’t fix them, can we?
We don’t just add new technology, we also fix important bugs all the time. Opera Kestrel has a huge number of bug fixes. People used to complain about our rounding issues. Those bugs are fixed now. I’ve asked developers time and again to send me a list of important bugs to fix. I don’t often get replies, and if I do (Yahho! commonly report issues, and I get reports fro mthe likes of Apple, MS, CNN and Google, just to name some of the bigger companies) we work to fix them. I don’t know of a Opera bug that commonly causes problems for web developers that still exists in 9.5. If I did, I’d do my best to make sure Opera fixed it. The best I can think of is a issue regarding keyboard shortcuts in web apps, but that is due to spatial navigation, which is needed for accessibility support. And I for one don’t wan’t to ignore the needs of our users with disabilities.
If you are so sure there are major bugs all over Opera, that are causing Web Developers all sorts of issues supporting Opera, then send me a list, then I’ll look into it. I don’t just mean a list of the first bugs you can find, that may have little effect. All software has bugs, so there will be bugs you can find easilly. It is the ones that causes problems that are important to fix.
And before you say it, we know you want developer tools. You’ve said it on every post you make. I dunno what you expect us to do as they are in devlopment. We can’t just pull them out of thin air, although that would be fantastic.
using
“People used to complain about our rounding issues. Those bugs are fixed now.”
O rly? I know one rounding bug was fixed but I wouldn’t say that opera is free of rounding bugs just yet.
bug #236991 – onload and onerror don’t fire properly for images. First onerror wouldn’t fire twice nor would onload fire twice if you reassigned the source of an image. They have made some progress as onload now fires twice. In the process a new variation of the bug was created. Now onload fires after onerror. The bug was reported as a regression (high priority?) in November 2006.
bug #278053 – Line numbers from stack traces of inline scripts are relative to the script element instead of the whole page. This is a major inconvenience as a developer. So to find the broken line I have to find the write block of inline code, find what line number the script tag starts on and then add the number that Opera says the error is on.
bug #25695 – window.onerror is not supported. This is spec violation (high priority?) but as you can tell by the bug number, it is quite old. For the outsiders, opera is about on 306,100 now.
bug #138530 – Function.caller is not supported… another old spec violation.
bug #203301 – XMLHttpRequest does not support EventTarget interface (xhr.addEventListener). Another spec violation…
bug #303254 – Regression: xpath engine allows a very small number of predicates in xpath expressions. Since document() was added to the xpath/xml engine, the number of predicates that Opera will accept has been limited to 100. Way too low. (more info)
I’m not sure if these are the most important bugs. It doesn’t seem they are to the staff, but these impact me a lot. I have more if you would like.
using
David,
with all due respect, I’m not on an Opera’ payroll, so dont expect me to deliver you testcases or exact bug descriptions. You, as a company, haven’t shown me such courtesy when I asked about many things Opera related, so don’t expect me to do anything for you for free. Truth that hurts is that YOU should care and be nice to webDevs, not expect them to do things for you. Their actions shape your future, your action means nothing to them. Try to get used to that feeling and start to behave accordingly. You dont have any market presence to demand, you can only ask, but you can’t ask, if you give nothing in return. And to be honest, you gave us, webDevs NOTHING this year. So again, where are the tools?
What you got from me, whas a question, why you still insist on blocking right click functionality in opera? Why you are the ONLY browser that limits users experience in such way? How I should communicate to my client, that sorry, but we cant do in Opera. Nobody cares that it ‘isnt the good way’. It is the way world works, so it is the ‘good’ way, period. So again, why you block right click on default, why you dont have oncontextmenu?
convince me, that it is the good way to go, then maybe I can send you some of our bug tracker issues.
Or ask yourselves why you cant do ANYTHING on any MS sharepoint service? All i get when updating any item is ‘bad request’ (it has something to do with escaping urls, but it isnt my job to find what exactly, do t yourselves, untill then NO sharepoint portal works in opera, you can mask it etc, but it always fails at some point)
using
@davidstory, @zzzzing
Perhaps because I only know one person in the office who uses it, I assumed it was something perhaps local on his machine that was a browser, not local, feature.
These things happen when absolutely bugger-all people use a product
And no I’m not installing it on my machine as it’s already bloated with shiteware such as MS Office that I rarely use. I’ve got Opera and Safari Win on my secondary ’**** software box’ along with an enforced installation of Mohell (Novell) and IE6. I rarely start this box up other than to check that IE6 is not butchering a design.
FWIW I think I agree with what this post is saying anyway. For example a fellow developer has been lumped with some proprietary , ludicrously expensive piece of junkware that is – wait for it – optimised for IE6. Yes idiots writing, in this case, intranet software still optimise for that shonky browser. Anyway, she is developing in IE6 primarily now, possibly has beforehand (not sure) and then cross checking with Firefox. I think this is the wrong way around. Those who develop this way are essentially writing code butchered in all sorts of ways, then adjusting it work in Firefox. Coding with Firefox and standards as your default means you are coding for web standards in a browser that has few nasty bugs in it’s standards implementation. Then to get the same code working in IE6, relatively few tweaks are required.
Therefore designing with IE6 as your default might produce, for example, code that is 40% dodgy. Then correcting that to work in Firefox might fix the code to about 70% standards compliance.
Working with Firefox as your default should produce 100% standards compliant code for anyone with half-decent standards design skills. Tweaking this to work in IE6 will keep the code 100% compliant but probably lose you hair, or at the worst, make the code approximately 90% compliant. In this case, the code should ‘just work’ in Opera.
using
“I don’t know of a Opera bug that commonly causes problems for web developers that still exists in 9.5.”
“If you are so sure there are major bugs all over Opera, that are causing Web Developers all sorts of issues supporting Opera, then send me a list, then I’ll look into it.”
David, will my listing of problematic web dev bugs suffice? Would you like more? I was so happy you asked an open-ended question like that. I hope those bugs actually get some attention and just maybe get fixed.