Skip navigation.

ODIN Blog

Opera Developer Network

Opera 10.5 Pre-Alpha build released. Here is what's new...

, , , ...

Today, we've released a pre-alpha version of Opera 10.5 on Opera Labs. Download it and give it a spin. Let us know what you think about it too!

Let's give you the lowdown on what's new in this build. Hang on tight, there's a lot of new stuff here!

Carakan - Our fastest JavaScript engine yet

Opera 10.5 pre-alpha is more than seven times faster than Opera 10.10 on the SunSpider JavaScript benchmark

This build introduces Carakan, our upcoming JavaScript engine. We're working on making it the fastest in the world and already you can see that it's pretty speedy! As you can tell from the above graph, Carakan has boosted our performance greatly compared to our previous JavaScript engine. The speed superiority is mostly evident if you test the Windows build, as we haven't started on optimization for Mac yet. Modern web applications are increasingly using JavaScript in much more complex ways, which need faster and more efficient JavaScript engines from browsers. Carakan promises to run JavaScript faster than ever, allowing modern web apps to run smoother than before. Bruce Lawson wrote a good overview of Carakan a few months ago and you can also read the Core Concerns blog post about Carakan and an older post on it too, for more details on the concepts behind it.

One more thing to note is that much work is ongoing to support the new ECMAScript Standard, ES5. One of the main things about ES5 is native JSON support, which we now have in our new JS engine. Hallvord Steen has written about it in more detail in his post on the Core Concerns Blog.

Vega - Our new graphics library

Opera 10.5 is more than three times faster than Opera 10.10 on the PeaceKeeper Complex Graphics benchmark

We initially wanted to just have a library for displaying SVG, but we gradually expanded it to support other graphics such as <canvas> etc. It enables greatly improved performance for complex graphics, and can even use a hardware accelerated back-end. You can read the Opera Core Concerns Blog post on Vega for more information on it. Along with displaying SVG, Vega is now used for all graphics rendering in Opera. This allows us to do transitions and transforms in CSS, but also things like rounded corners, box shadow etc. You'll notice small animations when opening/closing a tab, when alerts appear and when you drag tabs too, all of which are also achieved through Vega.

Presto 2.5 - Our latest rendering engine with even greater support for web standards

This build features Presto version 2.5 (the one in Opera 10.10 final is Presto 2.2) which is the newest version of our core rendering engine. Besides having the most complete CSS 2.1 implementation (it even supports visibility: collapse which was missing until now), it also has the latest support for many of the new CSS3 and HTML5 properties. Let's take a look at some of what developers should look forward to with this engine.

Rounded corners with border-radius

All web designers will love this! Using the CSS3 border-radius property, you can have rounded corners on your page without the need for images or any other similar workarounds. Check out Patrick's border-radius demo and Vadim's take on it for more rounded corner goodness.

Backgrounds and Borders

Presto 2.5 supports many of the W3C's Backgrounds and Borders Specification. Check out Zi Bin and Vadim's Dev.Opera article on Backgrounds and Borders (including the aforementioned border-radius) together with some nice demos which you can try in the build.

CSS3 Transforms and Transitions

Transitions basically transition from one state to another over time, while transforms can apply various functions such as translate (move), rotate, scale, etc. David has written a Dev Opera article on CSS3 transforms and transitions and has made a neat demo demonstrating it too.

Offline Storage and more

Presto 2.5 has support for both Web Storage and Web SQL databases. In Web Storage, you have the option to store the data temporarily (session storage) or for a longer time using local storage, which will store data until you explicitly clear it. Web SQL gives you the ability to create databases on the user's machine (using SQLite as a backend) so that you can store data in a more structured manner and even query it using SQL. Check out this example page demonstrating Web Storage and this example page showing Web SQL Database storage.

Other browser features

  • Private browsing: Open a new private window or a private tab. Christmas time is near, you might want to go online to buy a few gifts for your loved ones without them noticing which sites you went to.
  • Better integration with native systems: This means better integration on Windows 7 (Aero Glass, Aero Peeks and Jumplists), and a move to Cocoa on the Mac, where we have a unified toolbar, touch pad gestures and drop down menus. It also adds notification features, in particular 'Growl' notification support on the Mac.
  • You'll also notice that all notification messages are now non-modal. Which means that it will not impede your workflow by having a child window that you have to click to go on with your job.
  • Further improvements to the search box and the address box. Now its even easier to search right from the address box.
  • Type opera:cache in your address bar for an all new interface to your cache. It allows you to directly browse, preview and use the contents of the cache on a per site basis.
  • Opera Dragonfly in 10.5 pre-alpha features new and improved highlighting for clicking and selecting elements to inspect on a page. To open Opera Dragonfly, go to Tools->Advanced->Developer Tools.
  • New inline page search and password manager.

And much more. Download it and test it out. This is a pre-alpha release, so there may be issues encountered (especially related to media queries and web fonts). There are certain things like Opera Unite and the new widgets implementation (which we introduced in 10.20 alpha) which are not included in this build. One more thing to be noted is that the demos will work best on Windows for the moment, as right now we have done optimizations only for that platform. Also, there is no Linux build for 10.5 pre-alpha right now. However, we're working on having optimized versions for all major platforms as well as adding even more new exciting stuff for the alpha, beta and the final versions.

Canvas and SVG - which should I use when?

, ,

As use of HTML5 is spreading, canvas and SVG (Scalable Vector Graphics) are being more widely used to create images within a web page. They are both supported by all major browsers (except Internet Explorer 8 and below) and are open alternatives to Flash for animation and graphic interaction. Why do we need two image-creation methods, however, and when should either be used?

What is SVG?
  • Has been a W3C standard for several years. With the arrival of HTML5 can be embedded into HTML pages.
  • XML-based language using tags to create image objects.
  • Resize as much as you want without losing quality.
  • Every element is available within the SVG DOM so you can attach JavaScript events to them.
  • Editing a single object or group of objects is easy.
  • Slows down with a large number of objects.
  • SVG is accessible - text is selectable just like regular text. Accessibility software needs to catch up, however.

What is canvas?
  • At the time of writing, part of the HTML5 specification.
  • Pixel-based images using JavaScript to edit pixels.
  • Images become pixellated when enlarged.
  • Everything is drawn with pixels. To change anything in the image you have to edit the pixels.
  • Redrawing the pixels in the canvas area is fast.
  • Slows down with a large drawing area.
  • Canvas is not accessible (as of late 2009) - text is unreadable by e.g. screen readers and search engines.

So what are canvas and SVG best suited for?
Because of its speed of manipulation, canvas is best when fast rendering and redrawing is needed, e.g. animations and games, such as in this example: http://www.benjoffe.com/code/demos/canvascape/

SVG is better suited for large-scale rendering and interactivity, e.g. maps and user interfaces, such as in this slideshow demo: http://people.mozilla.com/~vladimir/demos/photos.svg

It should also be noted that it's not necessarily a choice of using one or the other. If required, there's a happy middle ground where SVG and canvas can be layered together to make the most of their respective strengths.

N.B. To work around Internet Explorer's lack of support, please look at explorercanvas for canvas capability and Raphael for cross-browser vector graphics.

Further reading: SVG vs. Canvas on Trivial Drawing Application

Opera Indonesian University Tour 2009

Zi Bin and I had a wonderful two weeks touring Indonesian Universities with Putri. We visited 10 Universities in five cities and spoke to 2500 students.

Bruce, Zi Bin, Putri

My talk is available on Slideshare:

The resources that I demoed were

You can also download Opera Desktop which I was using to demo, and which includes Opera Unite, Opera Turbo and Opera Dragonfly.

Opera Developer Network has some beginner's canvas tutorials available:

  1. HTML 5 canvas - the basics
  2. Creating an HTML 5 canvas painting application
  3. Creating pseudo 3D games with HTML 5 canvas and raycasting
  4. Creating pseudo 3D games with HTML 5 canvas and raycasting: Part 2

Some other useful resources:

You can see the team blog as we went:

  1. First Seminar in Indonesia Uni Tour
  2. Sepuluh Nophember Institute of Technology, Surabaya
  3. Gunadarma University - Depok
  4. University of Indonesia & Meet-up @Wetiga
  5. We are the celebrities!
  6. "Bandung Bagus!"
  7. Yogyakarta, 23rd November 2009

Zi Bin's presentation is also available:

A more accessible Opera Unite

This week saw the release of Opera 10.10 final complete with a more accessible Opera Unite. If you've not come across Opera Unite before it's a powerful platform that turns your browser into a server. This means that you can share content you have on your hard drive - photo's, files, folders, music, hosted websites - without having to uploaded these to a website.

There are benefits for all users but for those who struggle with the accessibility of social networks where they'd normally share photo's, files and information Opera Unite offers a fast, accessible and usable alternative. With this release we've added in some accessibility enhancements that we believe will benefit not just disabled but all users:

  • Default applications now have better page structure
  • Higher contrast has been added to links
  • It is possible to exit Slideshow and the Fridge with the keyboard
  • ARIA has been added in some places to announce updates to screenreaders
  • Overall keyboard accessibility has received some general tweaking

We're not stopping there however and would love to hear your feedback, comments and ideas. Drop me an email or leave a comment if you have any. Finally a special thank you to our Accessibility Volunteers for their input and ideas.

Opera 10.10 final and 10.2 alpha

, , , ...

On Monday this week, we released the final version of Opera 10.10 for desktop, with Opera Unite as its main highlight. Gautam gave a fine description on the Opera Unite blog last week:

Opera Unite establishes your personal computer as a Web server. You are given a URL similar to http://devicename.username.operaunite.com/. You can have as many computers as you like, and each is linked to your username. This way people can find the real you. The unique you, physically on your own computer. Possibly at home, work, or at the coffee shop.

That unique you could be running one or more of the preinstalled or downloadable Opera Unite applications, or perhaps an app you built yourself. Note that we&#8217;re giving away prizes for new Opera Unite apps, so let all your creativity loose :-)

Quick links to some of the documentation we have prepped for you thus far:

You&#8217;ll find more articles in the Opera Unite section on Dev.Opera, and we&#8217;re also working on updating the Libraries overview so as to include Yusef and the various plugins. Stay tuned for more!

And now for the second half of this story &#8212; on Wednesday (some speculate that we never sleep) we released Opera 10.2 alpha, featuring Opera Widgets for Desktop. This release allows you to install and run widgets as standalone applications.

In other words, you can now build cross-platform applications for Windows, Mac, and Linux using Web standards, which is a very powerful concept. If you want to get started, have a look at Remigiusz&#8217;s Opera Widgets as standalone applications article.

So, lots of new stuff to play with &#8212; let us know what you think!