Opera 9.5 alpha, Kestrel, released

Ok, I never got around to blog the release of “Opera Mini 4 beta 2”:http://my.opera.com/operamini/blog/opera-mini-4-beta-2 — apologies for that. Let me instead introduce you to “Opera 9.5 Alpha”:http://my.opera.com/desktopteam/blog/2007/09/04/go-and-get-opera-9-5-alpha-3 – a.k.a. “Kestrel”:http://en.wikipedia.org/wiki/Kestrel.
A quick overview is available on a “separate product page”:http://www.opera.com/products/desktop/next/
So, what’s new? In a nutshell:
* History search
* Bookmark synchronization
* Dramatic performance improvements
* Web site compatibility improvements
* Improved standards support
* Huge improvements to M2
h3(#changelog). The Changelog
I wish I could get through all of the changelog here, but I’m afraid it’s way too long, and I could blog until 2011 about it, in which case Kestrel would already be severely out of date. Instead, I’ll just give you the links.
* “Unix”:http://snapshot.opera.com/unix/u950a1.html
* “Mac”:http://snapshot.opera.com/mac/m950a1.html
* “Windows”:http://snapshot.opera.com/windows/w950a1.html
So, let’s go through some of the changes
h3. History search
I’ve lost count of the times in the past, when I’ve visited some page, somewhere, and have been totally unable to remember where it was, on what domain, or even what the document title was. In other words, finding what I have already visited has been a very hard task, bordering on impossible. Enter history search.
!http://files.myopera.com/huibk/files/history-search.png (History search from the task bar)!
With history search, Opera creates a full-text index of each and every page you visit, and when you go to the address bar, you can simply start entering words you know have been on pages you’ve visited before, and items matching your search show up. It’s a kind of magic, really. At least compared to what browsers have done in the past.
Not only can you do this, but there is also an internal web page, named opera:historysearch that gives you a more traditional web search interface that allows you to bookmark your searches. Speaking of which …
h3. Bookmark synchronization
Bookmarks have changed in Kestrel. In the past, the only way to get your bookmarks from machine to machine was to export the bookmarks, copy the opera6.adr file, or use external software to transport them. In Kestrel, you simply log in with your “My Opera”:http://my.opera.com/community/ account, and sync your bookmarks, speed dial items and personal bar with the server (The synchronization is using https, fwiw, so you don’t need to fear that your data are being compromised).
So, you may say “I never use two computers, why should I sync?”. “Real men don’t do external backup. They just cry a lot – when their offices catch on fire!”:http://jenganauts.com/oscar/2006/08/18/holy-fing-crabs/. That’s why.
h3. M2
I have been absolutely dependent on M2 as my mail client for years, but it has had a number of annoying issues, related both to IMAP, and to indexing, where I’ve seen mail go into the wrong access point for no reason. I’m happy to report that I haven’t seen any such issues with mail with Kestrel for a long time.
h3. Keyboard shortcuts
Now, this change is probably somewhat controversial for old-time Opera users, since they probably have single-key shortcuts as part of their muscle memory. For newcomers, though, Opera is going to feel a lot less alien, as all single-key shortcuts have been removed in the default setup. This prevents these newcomers from performing accidental navigation, or from changing their browser’s settings without knowing how.
Those oldtimers who want the old setup back, can do so, though, by checking the box in opera:config#UserPrefs|EnabledExtendedKeyboardShortcuts (Alternatively, by going to Preferences->Advanced->Shortcuts and and check “Enable single key shortcuts”.)
Now, on to more developer-related stuff
h3. Selectors
Kestrel has top-notch support for “CSS3 selectors”:http://www.w3.org/TR/css3-selectors/, as shown in “this demo”:http://www.css3.info/selectors-test/test.html.
h3. Backgrounds
Kestrel has also added support for SVG in background-images, plus support for the background-size property. “David Storey”:http://my.opera.com/dstorey/blog/ has created an extremely “nice demo”:http://virtuelvis.com/download/2007/09/kestrel/itunestable/, also including a showoff of Opera’s extended selector support (mirrored with permission, as the My Opera file store doesn’t allow external referers).
h3. Overflows
Opera now support both the “overflow-x and overflow-y”:http://www.w3.org/TR/css3-box/#overflow-x from the CSS3 box model specification. This both improves web site compatibility, since there are a few sites out there that use this, and it allows you, as an author improved control over those scrollbars.
h3. getElementsByClassName
Library vendors, take note. Opera supports getElementsByClassName natively. This should allow for even faster “selectors”:http://mootools.net/slickspeed/.
h3. Dynamic media queries
In Kestrel, “CSS3 Media queries”:http://www.w3.org/TR/css3-mediaqueries/ support has improved, making them dynamic. For you, as a developer, you can now count on Opera actually applying the correct style when the user resizes his window, instead of re-rendering on a resize event. You can view this yourself “here”:http://virtuelvis.com/gallery/mediaqueries/ – note how the content changes in the max-width & min-width tests when you resize the window.
h3. Getters and setters
Opera now supports “Getters and setters”:http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Creating_New_Objects:Defining_Getters_and_Setters from JavaScript 1.5.
h3. Offline support
While Opera doesn’t yet implement a peristent storage, the “Navigator.onLine”:http://www.whatwg.org/specs/web-apps/current-work/#navigator.online is now supported, with window.online and window.offline events for when the value changes.
h3. Spatial navigation
Controlling keyboard navigation can be a major pain in web applications, in particular if your application is on a device with “keyboard” as the only input device, which is the reality if you want to make web applications tailored to mobile devices, or you want to accomodate those unable to use a mouse. Opera support for these scenarios have improved in two ways.
First, Kestrel supports a custom CSS pseudo class -o-prefocus that applies to form elements that have been reached via spatial navigation, allowing for better styling. Further, Opera also now support four methods on the document object, document.moveFocusLeft(),document.moveFocusUp(),document.moveFocusRight() and document.moveFocusDown(), allowing you to initiate spatnav on regular keyboard events. I have put up a very simple “demo”:http://virtuelvis.com/download/2007/09/kestrel/spatnav.html that demonstrates a use of this property. When you navigate of the right end of a table, the code in the example moves the spatial navigation focus to the far left of the table row below. The code is not commented, but should be fairly simple to understand.
h3. Text-shadow
Kestrel also adds (full) support for the CSS3 “text-shadow”:http://www.w3.org/TR/css3-text/#text-shadow property. Unlike WebKit’s support, Opera supports multiple text-shadows, comma-separated (More precisely: You can have 12 of them).
h3. There’s more?
Yes. There’s lots more, and like I said, I could continue posting stuff from the aforementioned “changelog”:#changelog until 2011, now go download a build for “unix”:http://snapshot.opera.com/unix/9.50-Alpha-1/, “Mac”:http://snapshot.opera.com/mac/o950a1_4404.dmg or “Windows”:http://snapshot.opera.com/windows/o950a1_9500_en.exe
Have fun.

Comments are closed.