From testing out my demos in Opera Next over the past few months, I've been really impressed with the quality of their JS runtime and the UI. Unfortunately, their hardware-accelerated canvas support doesn't really keep up and their WebGL is outright broken - it looks like they went so far as to disable both by default in 12, a disappointment to be sure - and they still have serious issues with HTML5 audio (to the point of causing hangs/crashes).
Given that my only real exposure to Opera is from trying to ensure my stuff runs well in it, it's easy to get the impression that everything about Opera is broken. I wish they had a public bug tracker so it was easier to tell which things are known issues, which things have known workarounds, and which things I should file bugs about.
In particular, the audio issues are a point of frustration: At present, if you test the latest builds of Firefox, Chrome, Safari, Opera and Internet Explorer, Firefox is the only one that actually has low-latency, functioning support for <audio> that doesn't crash or hang. It's ridiculous. Chrome at least has a custom webkit-only API you can use to get working audio, but the rest of the browsers are just flat out broken. And in each browser's case, they've had multiple versions to fix basic issues (limits on how many sounds you can load in a single page context; broken events and APIs; absurdly long playback delays, etc). Oh, and Firefox still doesn't support the loop attribute. :|
> I wish they had a public bug tracker so it was easier to tell which things are known issues, which things have known workarounds, and which things I should file bugs about.
While it's not possible to track the status of a bug, you can submit them:
I've submitted quite a few over the years. I've even gotten emails back asking for more information. For example, I submitted a report about an issue with their hardware acceleration detecting the wrong GPU in a multi-GPU system, which they fixed.
This is just an indicator that we need a proper native development environment. Devs who embrace new web technologies like WebGL, <audio> or <video> forget that those are just Javascript bindings to the technologies developed in C/C++. Can we please have native code instead, so developer controls the underlying system without having to rely on the wits of browser makers? Google Native Client is a step in the right direction.
I don't see why more people don't realize, WebGL is a prime Microsoft threat and the key to moving away from the MS Windows monopoly. That's why Microsoft has done so much work to try to scare people away from WebGL (by sponsoring 'security research' and creating FUD content on Wikipedia (seriously, look at the history of that article, the person who created the whole 'security' section on WebGL has an ip that originates right next to Microsoft headquarters, and the 'security research' is done by a Microsoft shop)).
What the Opera, Webkit/Safari/Chrome, Mozilla teams should focus on is getting mouse capture and WebGL uniformly supported and turned on across browsers and one or two well-hyped and playable 3d first person games. Any industry player who has money and wants to oppose Microsoft should put money behind big WebGL game releases and hype for such.
You get that working across browsers and push that and things like Google Docs, EditGrid, ethercalc, Zoho Creator, LibreOffice etc. and you will see WebGL games starting to take down PC games sales and Office alternatives hurting Windows/Office sales.
Anyway, please give the people in charge of those programs and funds a link to this explanation if you know anyone like that.
For background, I write a lot of WebGL demos, I work for Mozilla on gfx optimizations (WebGL and otherwise) for the Boot2Gecko project. I also worked at Matasano Security previously, doing WebGL security research. As such, I tend to think that I'm pretty unbiased in this regard -- or perhaps biased towards WebGL, since I love it and want to see it everywhere. So with all that said, your characterization of MS's security claims as "FUD" are complete and utter bullshit. WebGL has a substantial attack surface in the browser (large API dealing with many issues from cross-origin restrictions to handling buffer locking and texture sharing, shader verification and translation, not to mention all the code required to actually make this stuff fast, which is what I work on), and it's only the tip of the iceberg that is the 3d stack.
Below the browser you have the userland driver components, which do things like further shader verification and initial stages of the compilation, validating index buffers, and simplifying the command stream. Below that you have the kernel components, which largely trust the userspace to have done their job properly, then do things like compile shaders for the specific hardware and put things into the proper form to send it off to the GPU, as well as handling synchronization and locking and all that. Then below that, you have a massively complex piece of hardware that under most circumstances is fully able to touch every single bit of your system memory (thanks, DMA), and that doesn't care one bit about security; it assumes that everything coming from the kernel is 100% safe and intentional. If you tell it to copy memory from point A to B, it will do it without complaining. Meaning if you wanted to, say, write over kernel memory from a buffer in the browser...
So let's look at what needs to happen to get ring0 (kernel mode) access from WebGL: 1) get your payload through/around validation in the browser, using available APIs, 2) get through/around userland validation OR attack the optimization/compilation steps that occur at that layer, 3) potentially attack optimization/compilation steps that happen in the kernel component -- optional, since this layer may not be your target, 4) GPU does your work for you.
At most, you're talking 3 layers to compromise. Compare to real-world vulnerabilities against other parts of the browser (see also: Pinkie Pie) where you're involving dozens of steps, and suddenly this doesn't look too difficult. The tough part is that it requires a significant amount of domain specific knowledge, but I'm certainly not the only one with it.
WebGL, as awesome as it is, is a security risk. It's one caused primarily by the fact that GPU vendors have never had to care about security along these lines before. It will be solved eventually, but it's damn sure not solved now.
This is a real shame, especially for HTML5 games. What's even worse is hardware acceleration on the 2D canvas appears to be disabled by default too, so HTML5 games in Opera 12 on a powerful desktop will run slower than an iPad or iPhone, because they have hardware acceleration. Looks like Opera 12 is a no-go for gaming.
Opera 12 is the first third-party web browser for Windows to offer an official 64-bit version. (Neither Firefox nor Chrome have official 64-bit versions for Windows. And I think Safari for Windows doesn’t have one either.)
Does this translate to any substantial improvements in speed? Does anyone here know of any benchmarks?
Very unlikely. 64-bit is mostly an advantage if you have to use a lot of memory or are doing processing on actual 64-bit integers.
For the kind of software like Opera (and Firefox and Chrome), the additional registers in 64-bit mode help a little, but that tends to be offset by most pointers now being 64-bits and the L1/L2 caches hence being less effective.
64-bit is not really useful for browsers with multi-process architecture like Chrome. It is very unlikely that a single tab will need 64-bit address space.
Kinda off topic, but Opera Mini and Opera Mobile for Android is vastly superior in terms of smoothness compare to all other available browsers. It is very noticeable especially if the page is heavy. A good test is to load this page http://www.html5rocks.com/en/tutorials/internals/howbrowsers... on your Android in different browser and test the responsiveness.
I use Opera Mobile exclusively on Android. Pages load faster and zooming with fit text to screen works really well.
My one frustration is that when launching a web page from another app it always opens a new tab so I end up with 10 tabs open and have to close them all every so often.
I've been using Opera Mobile for a while now. IMO it does tabs best for tablet browsing - however I've had to switch to Maxthon as Opera was just too unstable on my android device.
I really like Opera. I've used it for months, but every time i just come back to Firefox.
One big problem (for me) it's their release cycle. I know that many people hate the fast releases of Firefox and Chrome, but this way i get new features sooner than Opera.
Another problem are addons. I'm an heavy Scriptish/Stylish user, and there aren't equivalents for those in Opera. I know that i can enable the userscript folder and copy scripts here, but I'm honestly too lazy to do it, and loading CSS through javascript is just not fast enough.
Then there are the nitpicks. For example, on Firefox/Chrome "right click > search on google" open a new tab, on Opera it load Google in the current tab. Or, on Firefox/Chrome middle-clicking on the back button open the previous page in a new tab. On Opera this just doesn't work (at least, until Opera 11.64 - I haven't tried Opera 12 yet).
And Opera is not opensource. While it's not a so big deal for me, i prefer to use opensource applications when i can.
There are also features that i would love to see on Firefox. Tab Stacking is awesome, way better than Panorama. I really like also how Opera put the tab bar on the left, I find it better than Tree Style Tab.
I'll try the new version later, but i doubt that the new features will be worth a switch for me.
In the "Advanced" tab in Opera's preferences it is possible to uncheck "Reuse current tab". In my opinion it would be a much better default to have this unchecked.
With this configuration change "Right click->Search" will open a new tab.
>For example, on Firefox/Chrome "right click > search on google" open a new tab, on Opera it load Google in the current tab.
Uncheck Preferences-Advanced-Tabs-"Reuse current tab".
>on Firefox/Chrome middle-clicking on the back button open the previous page in a new tab.
You can clone tab, so it's possible to implement clone tab and go back macros with custom button like opera:/button/Duplicate%20page,,,%22Back%20in%20background%22,Rewind%20&%20Back
Opera is still not getting some basic features right and that is costing them users.
I remember asking for a feature in forums in days of Opera 11.00. The feature was something that every browser has: "Remembering contents of a text field." For example, when I enter my email address once in a website and then come back another day and write first letter of my email id, it is displayed in a dropdown. But Opera outright refused to even consider.
Now, they lack a good full screen mode and drag and drop support in GMail, two real deal breakers for me. I tried Opera 12 for less than 12 min and sent it back to dark corners of my HD!
FWIW we have the "wand" feature which will fill in, and submit, a form for you with previously used values (it's the key icon on the toolbar or ctrl+enter).
I know this is not quite the same implementation that other browsers have.
Opera has an inbuilt IMAP client... which I admittedly never use, but between that and Thunderbird, why would you even want to use webmail? Of course it should still work, even though it's silly, but you also "should" not even notice that it doesn't, is what I'm saying. Certainly if you imply your time is so precious, heh.
No one has mentioned that Opera 12 is the first GA browser (I believe) to support WebRTC. Basically you don't need to flash anymore to access devices such as webcams and microphones.
I built a really simple site to see how this all works. It will fall back to flash if you don't have WebRTC support which includes Google Chrome Canary and now Opera 12.
I extensively test my webs manually on basically all relevant browsers, up to few old versions, and on different OS' and devices.
My conclusion is that Chrome on Windows 7 is by far the most 'snappy' and Firefox on any OS most 'dev friendly' (even though Chrome is coming along that way very nicely).
That being said, Opera on mobile is very fine, but I still prefer using whatever stock browser is on particular device. Everything else is a little buggy.
What I found lacking in any of the browsers is the developer friendliness on mobile devices. Anyone has any recommendations on that?
One reason this is a big deal: Opera now supports CORS [1]. Until now, it was the only significant browser that didn't. (Even IE did, albeit - of course - in its own special way.)
I don't know why I would ever switch from Chrome or Safari to Opera. On a Mac, Opera still has text rendering issues (http://imgur.com/a/9bK1j), scrolling stutters, and there's a noticeable difference in page load speed (Opera is much slower than Chrome, at least on my computer).
For me, it is because it simply works straight out of the box, with all the features I use all the time.
For me, it is several of the following reasons:
* mouse gestures.
* the speed dial.
* the ease to create custom url-bar searches.
* thumbnail images of tabs (to check a potentially nsfw link at work).
* in page link or text search using ',' or '.'
* the ability to search for links in the sidebar, and select all of them (e.g. to copy to a wget script, etc.)
* the ease to customize the content block.
... and probably other stuff, which doesn't come to mind.
Also, and this is important: I'm not trying to convince you here. Just pointing out that some will say the exact thing on the switch from Opera to Chrome, Firefox or Safari, with good reasons of their own. Whatever floats your boat.
Also, mind you, I have firefox and chrome installed. Firefox I almost never use, and chrome is useful to see shiny WebGL stuff, which has a lot more support. Sometimes also to see new CSS-demos that are broken in Opera (mostly because of lazy developers who don't include the -o- extensions).
This might also be a font-issue. Most of the time websites embed different font-types like eot, ttf, woff and svg. But some types lack font-hinting. It depends on the order in the CSS file which supported font browsers will use.
The bookmark management, hands down. Other browsers are for testing and sites that don't work well in Opera; while Opera is for organizing all of the things, especially with things like nicknames for bookmarks and created searches. It also has plenty of themes which actually change how much space stuff takes up... hmm, it's kinda like KDE versus Gnome, with Opera being KDE ^^ There may be apps for Gnome to make it more configurable, but that's just not the same...
A word of warning: this update erased the persistent storage data for all sites. So if you're using plugins or if a particular site is using persistent storage, this will cause issues.
I'm a opera user and I was excited to see this news! So I've downloaded the 12th version and went on to test it in the shining page. But it says that my browser is not supported? http://www.shinydemos.com/touch-tracker/ -- Your browser doesn’t support all required features: Touch Events.
Anyone else having issues with iGoogle? I had it working in 11.6 by identifying as IE, since it would just show a blank page when identifying as Opera/Firefox.
Now, with 12.0, identifying as Opera/Firefox still shows a blank page and identifying as IE just shows the widget headers and no feeds.
I just wish they'd forgo the use of that cramped sans-serif header typeface. It looks like somebody just outlined and compressed it horizontally in Illustrator—awful.
[+] [-] kevingadd|14 years ago|reply
Given that my only real exposure to Opera is from trying to ensure my stuff runs well in it, it's easy to get the impression that everything about Opera is broken. I wish they had a public bug tracker so it was easier to tell which things are known issues, which things have known workarounds, and which things I should file bugs about.
In particular, the audio issues are a point of frustration: At present, if you test the latest builds of Firefox, Chrome, Safari, Opera and Internet Explorer, Firefox is the only one that actually has low-latency, functioning support for <audio> that doesn't crash or hang. It's ridiculous. Chrome at least has a custom webkit-only API you can use to get working audio, but the rest of the browsers are just flat out broken. And in each browser's case, they've had multiple versions to fix basic issues (limits on how many sounds you can load in a single page context; broken events and APIs; absurdly long playback delays, etc). Oh, and Firefox still doesn't support the loop attribute. :|
[+] [-] Osiris|14 years ago|reply
While it's not possible to track the status of a bug, you can submit them:
https://bugs.opera.com/wizard/
I've submitted quite a few over the years. I've even gotten emails back asking for more information. For example, I submitted a report about an issue with their hardware acceleration detecting the wrong GPU in a multi-GPU system, which they fixed.
[+] [-] kombine|14 years ago|reply
[+] [-] drhowarddrfine|14 years ago|reply
[deleted]
[+] [-] ilaksh|14 years ago|reply
I don't see why more people don't realize, WebGL is a prime Microsoft threat and the key to moving away from the MS Windows monopoly. That's why Microsoft has done so much work to try to scare people away from WebGL (by sponsoring 'security research' and creating FUD content on Wikipedia (seriously, look at the history of that article, the person who created the whole 'security' section on WebGL has an ip that originates right next to Microsoft headquarters, and the 'security research' is done by a Microsoft shop)).
What the Opera, Webkit/Safari/Chrome, Mozilla teams should focus on is getting mouse capture and WebGL uniformly supported and turned on across browsers and one or two well-hyped and playable 3d first person games. Any industry player who has money and wants to oppose Microsoft should put money behind big WebGL game releases and hype for such.
You get that working across browsers and push that and things like Google Docs, EditGrid, ethercalc, Zoho Creator, LibreOffice etc. and you will see WebGL games starting to take down PC games sales and Office alternatives hurting Windows/Office sales.
Anyway, please give the people in charge of those programs and funds a link to this explanation if you know anyone like that.
[+] [-] daeken|14 years ago|reply
Below the browser you have the userland driver components, which do things like further shader verification and initial stages of the compilation, validating index buffers, and simplifying the command stream. Below that you have the kernel components, which largely trust the userspace to have done their job properly, then do things like compile shaders for the specific hardware and put things into the proper form to send it off to the GPU, as well as handling synchronization and locking and all that. Then below that, you have a massively complex piece of hardware that under most circumstances is fully able to touch every single bit of your system memory (thanks, DMA), and that doesn't care one bit about security; it assumes that everything coming from the kernel is 100% safe and intentional. If you tell it to copy memory from point A to B, it will do it without complaining. Meaning if you wanted to, say, write over kernel memory from a buffer in the browser...
So let's look at what needs to happen to get ring0 (kernel mode) access from WebGL: 1) get your payload through/around validation in the browser, using available APIs, 2) get through/around userland validation OR attack the optimization/compilation steps that occur at that layer, 3) potentially attack optimization/compilation steps that happen in the kernel component -- optional, since this layer may not be your target, 4) GPU does your work for you.
At most, you're talking 3 layers to compromise. Compare to real-world vulnerabilities against other parts of the browser (see also: Pinkie Pie) where you're involving dozens of steps, and suddenly this doesn't look too difficult. The tough part is that it requires a significant amount of domain specific knowledge, but I'm certainly not the only one with it.
WebGL, as awesome as it is, is a security risk. It's one caused primarily by the fact that GPU vendors have never had to care about security along these lines before. It will be solved eventually, but it's damn sure not solved now.
[+] [-] dnissley|14 years ago|reply
https://twitter.com/#!/ID_AA_Carmack/status/8173219094948659...
[+] [-] rplnt|14 years ago|reply
[+] [-] AshleysBrain|14 years ago|reply
[+] [-] kprobst|14 years ago|reply
> you will see WebGL games starting to take down PC games sales
More like Angry Birds and whatnot... we're a long way from running something like Skyrim or Call of Duty on a browser.
[+] [-] demetris|14 years ago|reply
Does this translate to any substantial improvements in speed? Does anyone here know of any benchmarks?
[+] [-] gcp|14 years ago|reply
For the kind of software like Opera (and Firefox and Chrome), the additional registers in 64-bit mode help a little, but that tends to be offset by most pointers now being 64-bits and the L1/L2 caches hence being less effective.
[+] [-] gouranga|14 years ago|reply
I tried it and to be honest I can't tell the difference.
Also bear in mind that it needs 64-bit Flash and Java plugins which are notoriously problematic.
[+] [-] rieter|14 years ago|reply
[+] [-] ricksta|14 years ago|reply
[+] [-] Osiris|14 years ago|reply
My one frustration is that when launching a web page from another app it always opens a new tab so I end up with 10 tabs open and have to close them all every so often.
[+] [-] pbhjpbhj|14 years ago|reply
[+] [-] Spittie|14 years ago|reply
There are also features that i would love to see on Firefox. Tab Stacking is awesome, way better than Panorama. I really like also how Opera put the tab bar on the left, I find it better than Tree Style Tab.
I'll try the new version later, but i doubt that the new features will be worth a switch for me.
[+] [-] Tomis02|14 years ago|reply
In Opera Ctrl+Click opens a new tab, Ctrl+Shift+Click opens a new tab in the background. It's not a new feature. Learn to play your class. ;)
[+] [-] maggit|14 years ago|reply
With this configuration change "Right click->Search" will open a new tab.
[+] [-] anonymfus|14 years ago|reply
Uncheck Preferences-Advanced-Tabs-"Reuse current tab".
>on Firefox/Chrome middle-clicking on the back button open the previous page in a new tab.
You can clone tab, so it's possible to implement clone tab and go back macros with custom button like opera:/button/Duplicate%20page,,,%22Back%20in%20background%22,Rewind%20&%20Back
[+] [-] ishansharma|14 years ago|reply
I remember asking for a feature in forums in days of Opera 11.00. The feature was something that every browser has: "Remembering contents of a text field." For example, when I enter my email address once in a website and then come back another day and write first letter of my email id, it is displayed in a dropdown. But Opera outright refused to even consider.
Now, they lack a good full screen mode and drag and drop support in GMail, two real deal breakers for me. I tried Opera 12 for less than 12 min and sent it back to dark corners of my HD!
Goodbye Opera 12.
[+] [-] hoppipolla|14 years ago|reply
I know this is not quite the same implementation that other browsers have.
[+] [-] Tomis02|14 years ago|reply
[+] [-] MatthewPhillips|14 years ago|reply
[+] [-] JohannL|14 years ago|reply
And what is wrong with F11?
[+] [-] simonmales|14 years ago|reply
I built a really simple site to see how this all works. It will fall back to flash if you don't have WebRTC support which includes Google Chrome Canary and now Opera 12.
http://gotcaption.com/p/39
[+] [-] nuttendorfer|14 years ago|reply
Here's more if you are interested: http://my.opera.com/desktopteam/blog/2012/06/14/twelve-under...
[+] [-] dsirijus|14 years ago|reply
My conclusion is that Chrome on Windows 7 is by far the most 'snappy' and Firefox on any OS most 'dev friendly' (even though Chrome is coming along that way very nicely).
That being said, Opera on mobile is very fine, but I still prefer using whatever stock browser is on particular device. Everything else is a little buggy.
What I found lacking in any of the browsers is the developer friendliness on mobile devices. Anyone has any recommendations on that?
[+] [-] samstokes|14 years ago|reply
[1] http://en.wikipedia.org/wiki/Cross-origin_resource_sharing - secure cross-domain AJAX without hacks like JSONP, so you can do POST requests, set headers, etc.
[+] [-] cmelbye|14 years ago|reply
[+] [-] okamiueru|14 years ago|reply
For me, it is several of the following reasons:
* mouse gestures.
* the speed dial.
* the ease to create custom url-bar searches.
* thumbnail images of tabs (to check a potentially nsfw link at work).
* in page link or text search using ',' or '.'
* the ability to search for links in the sidebar, and select all of them (e.g. to copy to a wget script, etc.)
* the ease to customize the content block.
... and probably other stuff, which doesn't come to mind.
Also, and this is important: I'm not trying to convince you here. Just pointing out that some will say the exact thing on the switch from Opera to Chrome, Firefox or Safari, with good reasons of their own. Whatever floats your boat.
Also, mind you, I have firefox and chrome installed. Firefox I almost never use, and chrome is useful to see shiny WebGL stuff, which has a lot more support. Sometimes also to see new CSS-demos that are broken in Opera (mostly because of lazy developers who don't include the -o- extensions).
[+] [-] ernesth|14 years ago|reply
It is the contrary on my computer: chrome is painfully slow, whereas firefox is OK and opera is faster. I guess opera is not the best for everyone.
[+] [-] tintin|14 years ago|reply
[+] [-] rplnt|14 years ago|reply
It is (was some time ago at least) disabled by default in Chrome, Firefox and even on linux version of Opera.
[+] [-] antihero|14 years ago|reply
[+] [-] Tomis02|14 years ago|reply
[+] [-] JohannL|14 years ago|reply
[+] [-] arkitaip|14 years ago|reply
[+] [-] zxzwa|14 years ago|reply
Anyone has the same issue?
[+] [-] Tomis02|14 years ago|reply
[+] [-] sgift|14 years ago|reply
Edit: I've checked the w3 page - it is indeed for touch-enabled devices. Did you test it on a tablet/smartphone?
[+] [-] zxzwa|14 years ago|reply
[+] [-] kidproquo|14 years ago|reply
Now, with 12.0, identifying as Opera/Firefox still shows a blank page and identifying as IE just shows the widget headers and no feeds.
[+] [-] rolleiflex|14 years ago|reply
[+] [-] alanh|14 years ago|reply
[+] [-] siodine|14 years ago|reply
[+] [-] kakaroto_BR|14 years ago|reply
[+] [-] philippK|14 years ago|reply
[+] [-] ekianjo|14 years ago|reply