Spatial Navigation and Opera

February 13, 2008

In Where the Heck is My Focus, I wondered why web developers don't pay attention to basic keyboard accessibility issues. I don't want to navigate the entire web with my keyboard. That's unrealistic. I was specifically referring to login pages, which tend to be quite spartan and minimal. On a simple login web page, the standard keyboard tab, enter, focus order navigation scheme is quite useful and much more efficient than using the mouse.

But why is keyboard navigation so unrealistic for the rest of the web? Probably because the existing keyboard navigation paradigm was developed for the earliest GUIs, where forms had at most dozens of selectable items.

internet properties dialog

Compare with the modern web, where pages regularly have hundreds of selectable items.

Yahoo! homepage

Presented with a 20-fold increase in selectable items, it's not too difficult to see why traditional keyboard navigation techniques completely break down. They were never designed to handle such complex navigation scenarios. Jan Miksovsky explains:

The first issue is one of scale: the page above has twenty times the number of focusable controls as the simple dialog. A user trying to use the keyboard to reach a link in the middle of the page might have to press the Tab key 125 times to reach it. (Or, if they were exceptionally efficient, they could tab around the other direction and only have to press Shift+Tab 75 times.) The second issue is that the page has a much more complex two-dimensional columnar layout that the dialog, but that layout cannot be captured in the one-dimensional tab order. To the user, the behavior of the Tab key is therefore quite unpredictable.

The other standard keyboard navigation technique-- explicit keyboard shortcuts-- are also inadequate for complex user interfaces. Microsoft Windows allows users to move the focus directly to a control on the dialog by pressing a keyboard shortcut, generally the Alt key plus a single letter in the control's label. (OS/X does this too, although I find it less discoverable and generally weaker in execution.) This system is workable for dialogs with a small number of controls and a reasonable distribution of letter frequencies in control labels, but is obviously unable to scale well beyond a handful of controls.

Incremental search is one way to find what you're looking for on a complex web page. Safari does incremental searching extraordinarily well, Firefox reasonably well, and IE not at all unless you install a third-party plugin. As useful as incremental search is, it can be a jarring navigational technique.

Jan describes an alternate navigational technique that can scale to hundreds of selectable items. It's not even new. You've probably used it before, but not on your desktop or laptop PC. That technique is spatial navigation.

A much better user interface for navigating screens with lots of elements is already ubiquitous-- but not on PCs. It's found on mobile phone web browsers, which of necessity do a good job at keyboard navigation. They support two-dimensional directional navigation by using Left, Right, Up and Down arrow keys (or a joystick) to move to the "nearest" element in the corresponding direction. For example, if you press the Right key, heuristics determine whether there's an element you might be trying to reach towards the right, and if there are multiple elements, which element you probably want.

Significantly, these heuristics respect the rendered visual representation of the page, not the structure of the document's object model or the original location of elements at design time. This is necessary to account for the fact that the user may be viewing the page at a different width than the designer used, with different fonts, at different sizes, etc. Directional navigation UIs also tightly connect keyboard focus and scroll position, allowing someone to continually press the Up and Down keys to move through focusable controls and to page over large blocks of text.

Jan said "directional navigation works so well on mobile devices, I'm hoping it will get built into a browser someday." What he apparently didn't realize is that at least one browser already implements spatial navigation. That browser is Opera. In Opera, you can press shift+arrow to move the focus to the next logical selection in that direction.

spatial navigation of the Yahoo! homepage in Opera 9.x

Opera's spatial navigation is fun to play with. Combined with the space bar and arrow keys to scroll the page, it's a surprisingly effective navigation technique even outside the constraints of mobile browsers where you usually see it. But there are some quirks. It isn't always obvious what selectable item is next in any particular direction. Also, heavy use of JavaScript page manipulation appears to interfere with spatial navigation in some cases.

Try it yourself. Despite the quirks, spatial navigation is worlds better than the insanity of pressing tab 125 times.

It's too bad Opera doesn't get more respect. I'm as guilty as anyone; when I'm testing something, I'll use IE, Firefox, and Safari in that order. Opera isn't even on my radar. That's a shame, because as you can see, it's quite innovative in some areas. It's also historically one of the fastest browsers on the market. Opera is the default browser on the Nintendo DS and Wii, and I've heard nothing but raves for Opera Mini and Opera Mobile on mobile phones. Yet Opera's PC market share remains vanishingly small, on the order of 1 percent-- a very distant fourth behind the big three. I suppose part of that is Opera's fault; Opera was sold as a product long after browsers were given away for free. That certainly didn't help their market share.

Regardless, it's worth checking out Opera for spatial navigation and other innovations it brings to the table. Now that the browser wars have heated up again, I hope there will be more cross-pollination of innovative features so everyone can benefit.

Posted by Jeff Atwood
83 Comments

I'm afraid that common users are going to browse the web just like they do now (with a mouse), no matter what improvements get thrown into their browser. That's the way they learned it, and it's really hard (if not impossible) to change that...
Unless, of course, they disable the mouse :)

Jan Hani on February 14, 2008 1:01 AM

Hah. The hundreds-of-tab-elements brings to mind a project I worked on awhile ago for a class. We were creating a basic UI-and-database-backend deal in C# that ostensibly acted as an administration and part ordering tool for a fictional car shop. We ended up with this one guy who didn't know how to do much beyond dragging-and-dropping controls onto a form in VS, so we handed him a mockup and had him do the UI.

Needless to say, we hook everything up and start testing, and realize that he had set up a tab order o' doom across every form in the application. VS adds tab orders to controls in the order you add them, but he of course added them in the oddest order possible. The rest of the team got to spend a late night fixing the tab order of a couple hundred controls across twenty different forms.

Nate on February 14, 2008 1:05 AM

The best keyboard navigation trick is related to Firefox's quick find.

If you click the apostrophe key, you get a quick find that puts cursor focus on the first link text on the page with your search term in it. Pressing F3 will move you on to the next link text match and pressing enter will make you actually go to the link.

Alternatively if you're not wanting to focus on link text, you can just do a normal quick find with the forward slash key to make the cursor focus on a bit of text and then hit tab to focus on something you might need.

Only Firefox's quick find allows you to move page focus with text like that, and it acts like a quick jump to wherever you want to go on the page (provided there's real text on it).

Antonios on February 14, 2008 1:14 AM

My biggest concern is the accessibility issue with pages containing lots of links / image buttons / AJAX-wotnots. Here in the UK we are LEGALLY obliged to make our sites accessible; but to be frank it is often ignored because it is just impossible with the paradigm as it exists, especially when you factor in the customer's "I want a cool site like X" factor. One solution I've implemented for a customer is a "low-fi" version of a web application, which has very simple controls and layout, so that TABs actually work; but many customer are not interested in paying for this... And the first person that says "but you can do it all with CSS", will be put up against a virtual wall and virtually shot ;)

Syd on February 14, 2008 1:19 AM

To anyone mentioning any inline-find type functionality in Firefox: Opera, of course, has the same functionality, on the ',' or '.' keys for 'find links' and 'find text' respectively. This is absolutely not the same as spatial navigation: Spatial navigation can for instance easily navigate collapsed/ing js menus, something you'd be hard pressed to do with any inline find functionality

Arve on February 14, 2008 1:23 AM

"...spatial navigation is worlds better than the insanity of pressing tab 125 times."

Opera's spatial navigation sounds like a great improvement for sighted users, but tabbing isn't quite as insane as described. In Safari I can press the tab key once and hold it down for 12 seconds to cycle through every single link on yahoo.com (the page in the screenshot above), about half of that to get through the left-hand column of nav links. 125 keypresses are not needed.

(Actually, I hold option-tab, because I have the "each item" preference turned off. If I were going for a link near the bottom, I would hold shift-option-tab. Just plain tab cycles through form elements only)

Unfortunately, in Safari jumping to page anchors only scrolls the page, and incremental search only moves text selection. Neither changes the focus, so they don't assist keyboard navigation. (In MSIE 5/Mac text search used to select highlighted links.)

Michael Z. on February 14, 2008 1:24 AM

In text browsers where this is a problem, they solve this by numbering every link. So you can type the number and then press enter and it takes you right there. Very efficient.

e on February 14, 2008 1:27 AM

You're making this harder than it is, what you should be doing is using the accesskey attribute on alements you want to have keyboard accessible. That's been in the HTML spec as long as I can remember!

Shortcut keys will always be faster than clumsy arrowkey presses or sequences of tabbing. It's highly unfortunate too many webdevelopers completely forget about this, or worse aren't even aware it can be done.

kris on February 14, 2008 1:41 AM

I think the best idea is to have some sort of virtual finger so you can navigate directly to the link and click. My mate had one connected to his pc and it allowed him to move this image around and use the image to click it for him. This way even with 500 links on a page he saw the one he wanted, moved in it's direction with a wave of his hand and the use of this 'device' and simply 'clicked' on it. Genious

j/k guys, go, geek out over keyboard navigation. I'm a big fan of pressing escape to close a form.

p.s. I've been reading everyday for a while now and browsed a good number of previous blogs. Great work.

Robert on February 14, 2008 1:58 AM

I remember when Firefox first came. It was advertised like a saviors first coming to earth, but every single thing it was praised for had been standard in opera a long time already.

Add-ons are for extra features like FireBug. Basic userfriendliness, like mouse gestures and spatial navigations should come out of the box, like it has in Opera for years.

I would love to have FireBug in Opera, thou...

Vegar on February 14, 2008 2:00 AM

So you do read what I post here. If you want a new topic for a blog post, try benchmark loading times in games with solid state hard drives against normal ones. I'm I the only one that liked pc gaming because loads didn't exist or where very quick?

Hoffmann on February 14, 2008 2:14 AM

yes, Opera is some brilliant software, I daily use the Opera Mini browser on my mobile phone.

Accesskey/shortcut functionality is good, but:

Most windows applications has shortcuts, but a terrible way of visualizing it. Check your firefox browser, you might see Bookmarks - Add as bookmark [ctrl-d]. That is good, but wait... the back, forward, home, etc. buttons dont have an accesskey? .. ehh wait it does, I know, but common people dont know and will never learn. Just ask your non-geek friends, what is the "windows key" for?

People forget the accesskeys if they dont see them all the time.

Accesskeys on the web can be very bad if every site has its own access keys.

Of cause people can learn how to use the keyboard, I know alot of non-techi who can work 100 times faster with keyboard and are happy to do so.

Peter Palludan on February 14, 2008 2:18 AM

Oh, you also forgot to mention how useful spatial navigation is on notebooks, it's way better than touchpads...

Try to do your homework about opera next time.

Hoffmann on February 14, 2008 2:20 AM

I blame big monitors.

Go back to using a 15 inch monitor for a couple of weeks and see how complex you make you google / yahoo / msn portable page

Robin Fisk on February 14, 2008 2:21 AM

Jeff,

I think you are now hunting the wrong game. Why on earth should anyone create a web page with 200 links?

First of all, there are probably two or three targets that the user is going to even notice, and if so: why provide him/her with 197-198 uninteresting?

Secondly, if you put 200 links/buttons/whatever on a page, it becomes virtually impossible to hit those targets even using an advanced pointing device like mouse or even better, a pen tablet. Don't forget good ol' Fitt's.

So the real wtf is-- well I think you've got it already.

Sami on February 14, 2008 2:42 AM

I have used IE6, IE7 and FF and found that they fail miserably again and again. Now that I have switched to Opera, I am happy. Very.
One wonderful thing I would like everybody to know is that Opera NEVER crashed in my PC.
And there is another big reason I use Opera now:
Better way to manage tabs in your browser: http://www.diovo.com/?p=33

Niyaz PK on February 14, 2008 2:44 AM

@Niyaz PK

You can also use vertical tabs in Firefox: https://addons.mozilla.org/en-US/firefox/addon/1343

molgar on February 14, 2008 2:53 AM

FWIW, the popular screen readers for the blind offer a few navigational aids in addition to tabbing. For example, they provide a command to show all of a page's links in a list box, so the user can use the incremental find feature of standard list box controls to quickly find and activate a link. Some screen readers also provide keystrokes to jump to the next or previous form field, button, check box, edit box, etc. I wonder how useful these features would be on mobile phones and similar devices.

Matt Campbell on February 14, 2008 2:54 AM

Thanks Jeff - I hadn't looked at the incremental search feature in Safari, assuming that 'Find On This Page' type features were all largely rubbish.

How wrong - the Safari implementation is really nice, if only there were hotkey combinations for the forward/backward arrows it'd be perfect.... (he says, hoping someone will point out that there are hotkey combinations but just that, as has also been mentioned here, on the Mac these shortcut key combinations can be hard to spot).

Thanks for the tip!

Rob Uttley on February 14, 2008 3:05 AM

"I don't want to navigate the entire web with my keyboard." Sure, I don't want either. BUT there are people out there who are forced into using keyboards or even less than a keyboard with as few as Tab+Enter equivalent devices, like tetraplegic people (or Stephen Hawking, to name a celebrity). The fact is they succeed in (I wonder if I could, guess no!).

So spatial navigation is certainly a great improvement for many people but Tab surfing won't disappear till we innovate with brain electrodes and other futuristic devices.

More generally, webdesigners and webdevelopers waited for years that as few computers as possible had 15" CRT in 800x600, 2 button mice and 56k to throw out support. This day has come but ... wait ... now has arrived iPhone and N90, Asus EEE PC, PSP, touchscreen laptops and there are still Braille tablets or Jaws and Home Reader assistive technologies, to name a few.
And if there are a bit of frenzy comments about start-ups in the mobile industry, I guess there is a huge pot of money out there for those that won't forget support for these stange tiny computers surfing at speed going from 3G down to ... 14.4k. ;-)

Even more off topic, googlebot is wget-ascii surfing, no css support, no images, no javascript and everybody loves him!

Felipe on February 14, 2008 3:08 AM

Just tried Hit-a-Hint a it looks like something I have been missing for a long time without recognizing it. Thanks for the tip!

Jozef Hanus on February 14, 2008 3:10 AM

What I miss most on Opera is the incremental search feature. I'd also want a quick-access tab keyboard shortcut.

Wilerson on February 14, 2008 3:30 AM

Obviously, this kind of message is a kind of honeypot for firefox plugins groupies ... And obviously, Opera addicts (like me) tend to say the nordic browser did it ages ago.
However, using Opera since quite ages (I used the ad-sponsored version wayback in 2000), I've never missed any feature of Firefox which, for most of them, were already present in Opera.
As for keyboard navigation. I began with the simple "A" key, which brings you down to the next link, but soon became a shift-arrows addict, since it provide most efficient page navigation.
In fact, i began to use my opera muscle memory anywhere, hopping anyone would implement the mouse shortcuts (left-right clicks, and all those sorts of things), the ctrl and ctrl-shift clicks, and all other real innovations this browser provides.

Nicolas Delsaux on February 14, 2008 3:35 AM

Hit-a-Hint is also just what I've been looking for, but I'll have to re-program myself to use Page down and Page up now instead of Space and Shift-space!

Mike on February 14, 2008 3:52 AM

Wilerson, use / or . to incrementally search for text and , for links.

igorsk on February 14, 2008 4:04 AM

"spatial navigation is worlds better than the insanity of pressing tab 125 times."

Well, I guess, but isn't using the mouse or trackpad worlds better than that?

I mean, I guess I don't see why the mouse isn't the most appropriate and reasonable tool for finding control #125 in the middle of a dense page. It doesn't take long and there's no ambiguity.

I guess I see "spatial navigation" in browsers (other than mobile ones, of course) as a solution in search of problem. But maybe that's because I use a laptop and thus have a trackpad at my fingers at all times—I rotate my wrist a total of two inches, a lot more efficient than using a mouse, and once your motor skills adapt to the trackpad you can do just about everything you could do with a mouse with it. (I can't play FPS with a trackpad for the life of me, but that's really the only thing I use a mouse for. I prefer the trackpad even for things like graphic design at this point.)

Shmork on February 14, 2008 4:27 AM

Hi Jeff,

To carry the theme of the last couple of posts, I'd love to hear your thoughts on (generalized) touch screen interfaces, including the iPhone and other devices. (Partly based on this article - http://www.wired.com/gadgets/miscellaneous/news/2008/02/gsma_wrapup)
I work for a company that designs and builds operator control units for mobile robots, and we're working with touchscreens more and more. Love to hear your thoughts!

Justin on February 14, 2008 4:34 AM

Sami wrote "I think you are now hunting the wrong game. Why on earth should anyone create a web page with 200 links?"

200+ links is not unheard of. Just looking at Amazon.com's main page, I count more than 60 links in its left column alone!

Tabular data may also have lots of links for different points of interest.

Powerlord on February 14, 2008 4:50 AM

Keyboard navigation is one of my favorite features of Opera. If you do a lot of browsing, its a much more efficient way to use the web than a mouse, and much kinder on the wrist - especially when combined with Opera's keyboard shortcuts for handling tabs and so on.

I've converted most of my non-geek friends away from IE. While Firefox is great, Opera is much better suited for the less computer savvy, and much more secure than IE. Recommend Opera to an IE using friend today!

OperaFan on February 14, 2008 5:12 AM

I've also noticed how counter-intuitive it seems that Opera's market share in PCs is tiny, but they're leading in several emerging markets. I've come to the conclusion that when it comes to the Browser Wars, Opera may be holding down a fort in the field of PCs; but while IE and Firefox are fighting over the same old territory, Opera is really focusing on conquering the new world. My post on this subject gives the numbers for some of the things you mentioned:

- The Nintendo Wii has sold over 9.27 million units, which have access to the Wii “Internet Channel”, exclusively powered by the Opera browser as a free download from from April to June 30th. The download now costs 500 “Wii points”, the equivalent of $5.

- the Wall Street Journal reports that more than 15 million cellphone users have downloaded the Opera Mini browser.

- Opera is the default browser on over a dozen miscellaneous internet devices and counting.

- Opera also produces an Opera Mobile browser for the Symbian S60 and Windows Mobile smartphones, and recently announced an agreement with Chinese wireless service provider KongZhong to develop a browser for Chinese users, sharing "advertising revenues, search- related revenues and other revenues from “KongZhong Opera”".

The main thing is that Opera needs to do more to maintain their lead in mobile devices. With all the new custom operating systems and software platforms for cell phones, Opera better be trying to get partnerships as the default browser.

Jay Neely on February 14, 2008 5:22 AM

Yeah, Jeff - that one-dimensional tab thing is terribly inefficient for navigating a 2D web page. Somebody should invent a two-dimensional pointing device. /snark

I realize this is about how to navigate with the keyboard - but seriously? We've got perfectly good 2D navigational hardware, and I don't buy the notion that it's inefficient to reach for it. I think you're trying to solve a non-problem.

Carl Manaster on February 14, 2008 5:25 AM

I can't really get into Opera. It's got a lot of great utility options, but there's so much feature bloat that it drives me nuts. It's not helped by Opera's inability to see past the binary on/off featureset.

You either use no tables, or you imust/i have the tab bar on. Where Firefox figured out that no one wants a blank bar sitting around uselessly, Opera's (and IE) have stuck to the same paradigm: even if it's not being used, it must stay around.

There are lots of little things like that. It makes you realize the difference between open source and closed.

That, and it's closed source. I don't want be stuck with the option of changing browsers, using outdated code, or going into constant ads, and there's no part of Opera that says it won't do so in the future.

gattsuru on February 14, 2008 5:35 AM

Oh, and as a general aside, Amazon.com and yahoo.com are perfect examples of how not to build a site in the first place, even before trying to navigate sans mouse. Amazon's decision to not make the "Books" box act as a link of its own is inexplicable, and the entire "Featured Services" box and its dozen links should just be slapped behind a "Help" or "Sales" link.

gattsuru on February 14, 2008 5:41 AM

I've been using Opera for years and didn't even know it could do that. I like it!

Telos on February 14, 2008 5:46 AM

@molgar
I hate FF ad-ons.
Every essential feature should come default in a browser.
Not as an add-on.

Niyaz PK on February 14, 2008 5:50 AM

"I'll use IE, Firefox, and Safari in that order."

Jeff, I know your an M$ guy, but really are going to have to opine on this position at some point. I would expect the problems with IE7 to just leap out at someone with your technical level, like it does for most of us. IE still plays by its own rules, is still broken, and pilfered nearly all its new functionality from other browsers (and did so poorly IMO).

Please don't take this as blind IE-bashing. I evangelize Firefox because it's the best I've seen. If you're seeing something else, I'm all ears.

Frank on February 14, 2008 6:11 AM

I'm happy with both IE and Firefox, but I'll have to try Opera. Spatial navigation seems so intuitive.

PaulG. on February 14, 2008 6:14 AM

gattsuru: Hi, I'm nobody! (I like having my tab bar around even when there's only one thing on it. I dislike controls that appear and disappear depending on the state of other things in the system.)

Brooks Moses on February 14, 2008 6:16 AM

The "Hit-a-Hint" Firefox extension is of course built-in in Opera. Type "," and letters from the link label.

kL on February 14, 2008 6:17 AM

Several years back when I was in college I encountered Opera (I think it was version 6 at the time) in a web design class. My typical browser then was Netscape 4, and it would crash on me all the time. This was particularly annoying because I would typically have 6-8 windows open simultaneously, and the crash would take them all down and I would lose track of what all I had open.

Opera, on the other hand, has a killer feature for me: you can have it start up with all the same pages open that you had open the last time you ran it. And it had this feature eight years ago.

Some other things it also has that I find useful are:
- Mouse gestures
- Completely customizable interface (and it's dead simple to do so)
- Ad blocking
- Custom searches - I can search Google by typing "g thomas edison" in the address bar. I can look it up in Wikipedia with "w thomas edison". (The wikipedia search I added, the Google one ships with the browser.

It's not perfect - no browser is - but it was a huge improvement back in the day, and it's still quite competitive. It has so many features built in that it is FireFox's opposite: instead of finding plugins to do what I want, I generally find myself turning off the features I don't need.

Tom A on February 14, 2008 6:22 AM

I never test things on opera. If it works on firefox or ie it will work on opera.

Joe Beam on February 14, 2008 6:44 AM

"IE still plays by its own rules, is still broken, and pilfered nearly all its new functionality from other browsers (and did so poorly IMO)."

Then I have to wonder... why on earth do I keep going back to IE?
I havent installed vista, but will consider it on service pack 2, just like I did with XP. I have tried to move to firefox. But I just slowly but surely transitioned back to IE.

One of the things I know about any product I dislike is the effort you have to go through to get things done. Specificly keyboard shortcuts. With IE shortcut key's are in alt text everywhere. So I can just hold my mouse over something and possibly get a shortcut key. Same with the menu, most if not all shortcut key's are listed.
But with firefox (Im probably geussing this) I have to find the shortcuts in the configuration among all the other shortcut keys.
If I'm wrong about that then oops :D But I have a tingle that I'm right.

Just like eclipse.
I'd take visual studio.net over eclipse any day, just because all the shortcut key's are listed every where, in eclipse I have to navigate 1000's of possible actions to find the one I want. That's why I never learnt short cut keys unless a coworker mentions them.

I havent used visual studio in about 2 years though, and firefox was briefly every now and then, so my perception could be way off.

This is just my opinion on why I think I'm still using IE.
not a flame war or anything :D

TrXtR on February 14, 2008 6:49 AM

I'll add my quick two cents in on this topic. For me, a website that automatically obtains focus into form fields (such as mininova.org) actually makes it harder for me to navigate given my navigating style. Rather that surfing to a new page on my laptop, using the arrow keys to scroll down and backspace to go back (my fingers *know* where these keys are), I'm stuck in a search box that is attempting to help me. I'm then forced to de-select focus of that box, and resume my regular surfing habits.

Frustrating, and a catch-22.

Garrett Combs on February 14, 2008 7:18 AM

Konquror has an interesting implementation of a similar feature. When you are viewing a page, you can tap the Ctrl key once, and all the links will be assigned some shortcuts - now all you have to do is press the key for a link and the browser will follow that link. For more info, http://lindesk.com/2007/05/konqueror-the-browser/

Binny V A on February 14, 2008 7:24 AM

"Every essential feature should come default in a browser.
Not as an add-on."

Your 'essential' may not be my 'essential'.

CS on February 14, 2008 7:40 AM

I don't want a new way to indirectly move a cursor to select a link on the screen.

Touch screens. Let me click the link directly.

S on February 14, 2008 7:46 AM

Huh, I regularly surf with Opera and had no idea of that feature! That's WAY cool!

summabeeyotch on February 14, 2008 8:03 AM

Based on one of your previous posts, I had installed Opera to try it out. I have a broadband connection (256kbps) but actually Opera was the slowest to work. Are there any specific settings that need to be tweaked or is it that opera works fast only on a Mac and not on PC?

Seshagiri on February 14, 2008 8:26 AM

I think Opera browser is so great. The market share is damn slow compared with another big two because Opera did sale them . But when Opera's free, we should think difference :)

nXqd on February 14, 2008 8:52 AM

Back when I was working on the Foleo for Palm, I really loved using the spatial navigation in our Opera port; shift-arrow was easy to hit on the keyboard and less annoying in many cases that finding the trackstick in the middle and pointing to something new.

Ben Combee on February 14, 2008 8:54 AM

I think ie 7 works just fine. I also make a living using MS products. Does that make me a bad person? I don't think so. Everyone has their own likes and dislikes.

It has become so popular to hate MS products just because they are MS products.

whocares on February 14, 2008 8:59 AM

I added spatial support for the WinCE port of IE4 (back in 1999 or 2000). It's the obvious navigation method for sub-PC devices since you're highly likely to have a direction pad/keys of some sort instead of a TAB key.

johnnylee on February 14, 2008 9:29 AM

IMO hit-a-hint isn't as good as simple inline search or the "/" search in Opera; simply because the latter is more natural...

I got all the four browsers [IE, Opera, Firefox, Safari] on my PC for diff family members -- it's how I compensate for the lack of multi-users in my PC :D
I still use IE cuz it's apparently the only browser to blend natively into the aero interface.. Otherwise Opera would have been a no-brainer for me.

Leafy on February 14, 2008 9:40 AM

You're making this harder than it is, what you should be doing is using the accesskey attribute on alements you want to have keyboard accessible. That's been in the HTML spec as long as I can remember!

Access keys are conceptually broken: They have to be relearnt from site to site, and they presume that you actually *have* a regular keyboard. Having it as a quick-access feature should rather be done based on roles.

For what it's worth: The accesskey attribute is gone from HTML5.

Arve on February 14, 2008 9:46 AM

Hey Now Jeff,
I never new Opera supported spatial navigation. I learned hot clicks / mouse gestures form Opera now I'm learning spatial navigation. You also had some great analytics on the browser showdown @ http://www.codinghorror.com/blog/archives/001023.html where Opera shows how fast it is. Someday spatial nav will be as mainstream as tabbed browsing where people can choose to use it or not.
Coding Horror Fan,
Catto

Catto on February 14, 2008 9:51 AM

I remember using Lynx -- a text only web browser that worked on the old CRT terminals -- to browse the early CERN web space when most of the early web consisted of text. That was back before Lycos became one of the first web search sites.

You could easily and quickly go to the correct link or input box on any web page via a few key presses. Of course, as far as I was concerned, CERN's HTTP protocol would never replace Gopher as a way of finding information on the Internet.

David on February 14, 2008 10:24 AM

Try Hit-a-Hint Firefox extension.

(I configure mine to use the keys asdfqwer instead of 1234567890, so I can easily type only with the left hand, and without having to move it.)

bart9h on February 14, 2008 10:42 AM

gattsuru: "there's so much feature bloat that it drives me nuts. (...) That, and it's closed source"

With bloat, I guess you meen 'it coms with a mail- and torrent client'? The mail-client in opera is superb, and nobody complains about a browser able to use ftp, so way complain about torrents? Any way - last time I checkced, Operas download was way smaller than Firefox + Thunderbird...

I love the way many talks about open source projects though, as if they singlehanded would keep the project going if everybody else abandoned it...

Vegar on February 14, 2008 11:31 AM

vote for Opera, years ahead

Mike F on February 14, 2008 11:36 AM

gattsuru wrote "I can't really get into Opera. It's got a lot of great utility options, but there's so much feature bloat that it drives me nuts. It's not helped by Opera's inability to see past the binary on/off featureset.

You either use no tables, or you must have the tab bar on. Where Firefox figured out that no one wants a blank bar sitting around uselessly, Opera's (and IE) have stuck to the same paradigm: even if it's not being used, it must stay around."

Right click the tab bar, click Customize..., look for the checkbox labeled "Show only when needed" and click it, then click OK.

Not only that, but this particular checkbox is available for all of the toolbars. I'm not sure how it would affect the others, though.

Powerlord on February 14, 2008 11:36 AM

Hey Jeff;

The other great web navigation technique (under Vista) is voice. It sounds really corny, but first time you see a browser correctly responding to you saying: "Microsoft es-q-el server 2005 management tools" instead of the multiple other "Microsoft SQL ..." links on the page, you'll be impressed.

Not as quick as the keyboard yet, but even "Show numbers..52...OK" can be rifled off pretty quickly. Of course, voice is bad for passwords and it really magnifies focus problems, but it's definitely a new way to search.

Good voice needs about 400-600MhZ of proc time and new phones are definitely pushing this. Most phones already have some form of voice commands, but I expect that even two-dimensional browsing will soon be pushed back.

Gates VP on February 14, 2008 12:14 PM

Has been discussed for Firefox since 2005, apparently never really implemented. But there is something way better than spatial navigation: Hit-a-Hint! Just look here: https://addons.mozilla.org/en-US/firefox/addon/1341

Nikolai on February 14, 2008 12:21 PM

Hi,
Vimperator (http://vimperator.mozdev.org) is a firefox extension, and has solved the problem of keaboard navigation by using something similar to incremental search. When you press [f], all clickable icons get a red label with one or two letters in them. Just type the two letters and your link is clicked. Neat! Works for most web pages.

BR and thank you,
Hugo

Hugo on February 14, 2008 12:37 PM

Hugo: Hit-a-Hint is exactly the same feature but without the whole burden of Vimperator (which is cool, but hard to master).

Nikolai on February 14, 2008 12:44 PM

Powerlord said: "Just looking at Amazon.com's main page, I count more than 60 links in its left column alone!"

My eyes! That's horrible! It's not a problem for the navigation. As we have seen, there is a wonderful variety of options that developers and usability engineers bring us all the time. Just to make bad pages somehow tolerable to use.

The reason Opera probably isn't as popular as the Three Magnificent might be those great features, which user has to learn. I really can't spend time _developing_a_dependency_ on a one great browser. (And I still remember the time they had commercials :G ...*shrug*)

And I stand behind my statement: a web page shouldn't contain 200 links. No, not on the same page. (http://www.apple.com/ isn't really the altar boy for a web page, but there the number of elements is correct.)

Sami on February 15, 2008 1:00 AM

This is a really great "new" thing :). Text browsers like Lynx or Links or w3m implement this from the very beginning I guess.

By the way, did you try to use cursor navigation in Firefox? Just try hitting F7. It does work quite well when you need it, and when not - just disable it by pressing F7 again.

Marius on February 15, 2008 1:09 AM

Check out the recent Opera 9.5 snapshots from http://my.opera.com/desktopteam, spatial navigation recently got a little visual makeover.

Joachim on February 15, 2008 2:11 AM

Opera single key shortcuts simply blow Firefox out of the water. I can browse with my keyboard, using z,x for back/forward; 1,2 for switching tab, '/' and ',' to search for text/link, plus spatial navigation with shift arrows. Plus I can map almost any action to key: zoom, fit to width, switching to user's css are those I use regularly.

I also think that having all as many useful features built-in as possible is better (than having them as extensions.) Think about vi/emacs.

Chick on February 15, 2008 4:48 AM

Spatial navigation was being evaluated back in 2005, and is currently an experimental features:
http://weblogs.mozillazine.org/asa/archives/007992.html
http://www.mozilla.org/access/keyboard/snav/

Here's the current discussion about including it in the official builds:
https://bugzilla.mozilla.org/show_bug.cgi?id=296855

Ori on February 15, 2008 5:12 AM

Another option for incremental search and only incremental search in IE is Inline Search from IEforge http://www.ieforge.com/InlineSearch/ which I personally find less bloated than IE76Pro but I am biased ;)

EuGeNe on February 15, 2008 9:32 AM

Am I the only one who has heard of ctrl-f? In firefox you can even turn on quick searching and search a page by just typing anything. If I want to follow a link, I type in the text that encompasses it. If the link is a picture, it doensn't work, but I can make due by typing in something near by and backtabbing.

Tim on February 15, 2008 11:30 AM

Also, spatial navigation works on ajax but not on flash. And I still hear some people say that in the future all webpages will be in flash...
Sure, all apps these days are written in java too! And desktop linux just got more users than windows last month. And the eastern bunny, turns out that he really exist!

Hoffmann on February 16, 2008 3:43 AM

Tom A wrote:
Some other things it also has that I find useful are:
- Mouse gestures
- Completely customizable interface (and it's dead simple to do so)
- Ad blocking

Opera ad block is painfully bad, it only works for blocking some images you do not like in webpages that you visit often. If you want really good blocking, try ad muncher (www.admuncher.com). It works so well that I feel kind bad for the non obtrusive ads...

Like he people said, Opera shortcuts are totally custumizable (preferences- advanced- shortcuts). Personally I like spatial navigation in ctrl + arrows since if I'm in a textbox with shift it would select the text instead of changing the focus. Opera is just genial in the way it is so simply in the default configuration but still is custumizable for those who want to. And man, there are so many things to custumize, and almost nothing requires hack and slash in .ini files or add-ons.

Hoffmann on February 16, 2008 5:34 AM

Good Post Jeff.

Google Toolbar v5 supports increment search in Internet Explorer 7.
http://sarathc.wordpress.com/2007/12/14/if-you-cant-do-it-we-will-do-it-incremental-search-googles-toolbar-v5/

Sarath on February 16, 2008 10:08 AM

Opera is massively underrated. I've been using it for a long time after switching to Firefox from IE (and Opera for a while before that). However, my single biggest concern in a browser is Mouse Gestures (well, after tabs anyways). There's an ok extension for FF, and the Opera ones are pretty good. I had an IE mouse gestures plugin that was simply horrible and did everything that I didn't want it to do, including crash. I've just switched back to IE though as I'm using ALToolbar ( @ http://www.altools.com/ ) for Mouse Gestures (disclaimer - I currently work for the company). There are a few other nice things in there too that speed things up, but the Mouse Gestures are just essential. It has incremental search with highlighting as well, which for the life of me I can't understand why it isn't in IE...

I still use both Opera and FF though. Depends on what I need to do and the OS I'm on. There is no "one browser to rule them all".

For market share, I see Opera at anywhere from 2% to 4% on some sites I run.

One very small thing in Opera that I've really liked was the "Paste Go -- CTRL + B" feature. Silly small, but convenient.

Ryan Smyth on February 18, 2008 7:46 AM

I love being both an Opera user and a .NET developer. When my fellow raging anti-Microsoft Firefox using programmers start lecturing me on how much better Firefox is than IE7 I immediately respond "yes I expect you're probably right, I wouldn't know because I use Opera". I love the utter silence that results, and the look on their faces of "I don't understand. Why doesn't he use IE, what is this 'Opera'?"

Many people seem to use Firefox simply because it's "not Microsoft". On the other hand I like to base my choice on whether the software meets my needs and how well it does so. Maybe I'm crazy.

AJ on February 19, 2008 4:00 AM

AJ, people like being different, especially bragging about beign different.

Hoffmann on February 19, 2008 6:14 AM

I still don't know why more people aren't using Opera as standard - it does everything built into other browsers, a whole lot of stuff that they only have through third party plug-ins and it still manages to be perceptibly faster than anything else out there.

It's been my main browser since about 2002 and throughout that time it is fair to say that any innovation I have seen in other browsers originated in Opera. It may not have the users but it has the serious thought put into every aspect of it's design.

I finally decided to buy a copy about a week before they started giving it away and then I was really glad I hadn't got around to it a week later...

Ben Moxon on February 6, 2010 10:20 PM

I am one of the biggest Opera fans you'll meet, but I still don't think it's for everyone just because it's so different from IE and FF. Certainly if you spend more than about 5 minutes a day navigating the web you will appreciate all it's features, like disabling GIF animation, scale the page (I used to hate this, but now images scale reasonably well and it works with many flash sites), paste and go, mouse gestures, the carthago skin, fast-forward, search from the address bar, search the page with one keypress, and of course, Commodore 64 mode! Even Speeddial is useful.

John Ferguson on February 6, 2010 10:20 PM

As Matt Campbell said above, screen readers for blind users offer some interesting alternatives. Well-structured HTML can be parsed and interpreted by the screen reader software, allowing the user to hear a list of heading elements, and navigate the page via the document structure. Of course, that's a must-have feature for blind users who can't view the page the same way sighted users can, but it's also a feature that any user could benefit from.

Simon on February 6, 2010 10:20 PM

I'm glad you mentioned Opera in one of your blogs. Yay.

Opera has more market share than 1%, MOST web stat software still don't detect Opera properly, and even if it can detect it, it usually fails when Opera is using Identify As feature.

Identify As seems to set randomly AFAIK, because when i got my new job, the first thing i did was install Opera, and i went to change it to Identify as IE, but it was already selected as Firefox.

I used Firefox till about 1.2 when someone showed me Opera. I haven't gone back since, it just is a far superior browser.

I also find coding for Opera easier than coding for IE or Firefox. Since it adheres to standards more closely than Firefox, and doesn't create its own standards like Firefox, i can code up HTML/CSS in half the time besides i only have to make a few minor tweaks for Firefox and IE6/7.

Phillip Haydon on February 6, 2010 10:20 PM

commodoro11@alice.it password commodoro

gianfranco on May 10, 2010 8:59 AM

One of my favorite features, Opera has..Pity that the browser is too unappreciated. The new Opera 11 is really not worse than latest Chrome.

0x39DC on November 15, 2010 2:50 AM

The comments to this entry are closed.