Since I’ve been using Opera a lot more than usual since Opera 9 Preview 2 came out, I’ve repeatedly run into the canonical reason that sharing one button for stop/refresh is a bad idea: Reaction time.

When a button changes in response to your own actions, it’s easy to adjust. When a button changes in response to something over which you have no control, there’s a possibility that it may change between the time your brain tells your finger to click on the mouse button and the time it presses down, registering the click with the computer.

Case in point: A web page is loading slowly. You’ve already seen the part you’re looking for, and you don’t need the rest of the images, or the rest of the 587 comments on the blog post. Maybe all you needed to do was confirm you had the right site, and you need to copy the URL. So you go to hit Stop. The web page finishes loading before your finger finishes clicking, the button changes to Reload… and the browser starts reloading the entire slow page from byte one.

I’ve done this at least four times in the past week.

The bad news: I can’t find separate stop/reload buttons anywhere in Opera’s button collection. The closest I could find seem to apply only to panels, not to browser views.

The good news: The Custom Buttons page at NonTroppo.org has them!

Once I get these on all the computers where I normally use Opera, accidental reloads should be a thing of the past!

*This post originally appeared on Confessions of a Web Developer, my blog at the My Opera community.

The Opera web browser has introduced a Dashboard-like Widget feature in Opera 9 Preview 2. I believe this is the first 3+ platform widget framework out there.

Dashboard is, of course, Mac OS X only. Yahoo! Widgets (formerly Konfabulator) is Windows XP and Mac OS X only. The KDE Desktop (mostly used on Linux and *BSD) has plans to include floating applets in KDE4’s revamped desktop, Plasma. Opera runs on Windows, Mac, Linux, and a number of other platforms.

Opera’s taken a very similar approach to Apple’s. A widget is a bundle of HTML, CSS, and JavaScript. The most obvious difference is the structure of the bundle: Continue reading

Posting an Opera button on your website or blog is a great way to encourage people to try out the browser — but what if the visitor already uses Opera? It shows solidarity, but what if you could show them something else, something that is new to them?

You might want to replace your regular Opera banner with an ad for Opera Mini. Or show them another graphic of your own design. Or maybe not even a graphic, maybe post some sort of message, like “Opera spoken here!” or “Welcome, Opera visitors!”

It’s relatively simple to do this in PHP, or ASP, or some other server-side script…but sometimes you have to stick with static HTML. Well, client-side JavaScript can replace chunks of your page, and here’s how to do it.

1. Put the following script in a file called operalinks.js:

function replaceOperaLink(linkID) {

if(linkNode=document.getElementById(linkID)) {

if ( 0 <= navigator.userAgent.indexOf('Opera') ) {

var newButton=document.createElement('span');

newButton.innerHTML = '<a href="http://www.opera.com/">Glad to see you're using Opera!</a>';

var parentNode=linkNode.parentNode;

parentNode.replaceChild(newButton,linkNode);

}

}

}

For the innerHTML section, you can plug in a new link and banner, or a special message, or anything you want. (Just make sure that you put a backslash () in front of any apostrophes you use.)

2. Put a unique ID in the tag for your regular Opera button. Use the outermost tag that you want to replace. For example, let’s start it off with this:

<a id="OpLink" href="http://www.opera.com">Download Opera!</a>

3. Load the script in your document’s <head> section:

<script type="text/javascript" src="operalinks.js">

4. Call the function in the body onload event using the ID you chose in step 2:

<body onload="replaceOperaLink('OpLink')">

When the page loads, the script will check the visitor’s browser. If it’s Opera, it’ll replace the banner with whatever message you chose in step 1. It’s compatible with both HTML and XHTML, and you don’t need to worry about using <noscript> tags to make sure the banner still shows up for people with JavaScript disabled.

*This post originally appeared on Confessions of a Web Developer, my blog at the My Opera community.

Opera BrowserOpera Software celebrates its 10th anniversary today with an online party and free registration codes for a day.

I first discovered the Opera web browser in college, probably 1998 or back in 1999. A friend who worked with me at the Artslab showed it to me, and I was impressed by how fast it was and that the installer fit on a floppy. Opera was shareware only back then, with a 30-day trial period, and I had no objection to paying the $15 or $20 $18 it cost with a student discount. (I remember scanning my student ID and emailing them a JPEG to prove I was a student.)

By the time Y2K rolled around, Netscape 4 was showing its age, and Mozilla was still early in its development cycle. IE—well, IE had won the browser war, and was arguably better than Netscape at this point, but as far as I was concerned they had cheated to do so instead of winning solely on merits. Opera was a lean, mean browsing machine.

Things changed during 2000, though. Opera 4 and 5 started getting cluttered, and Mozilla was starting to stabilize. Side projects like Galeon started branching off of Mozilla. Pretty soon I was using Mozilla all the time on Windows and Galeon on Linux.

I kept up with new releases, though, and the latest version of Opera is excellent—on both Windows and Linux. I mostly use Firefox these days, but I’m using Opera a lot more than I used to—and not just for testing!

Check out Opera, grab a free reg code while they’re still available, or just drop in on the party.

Seen in rounds at WaSP Buzz, Slashdot, and Opera Watch.

Also interesting: the Opera 10th Anniversary T-Shirt reminded me of Joi Ito’s comments on wearing Firefox (via a*dot). I wonder how people would react if I wore a Firefox shirt and an Opera hat, or vice-versa?

(Other notable tens this August: Windows 95 and Internet Explorer)

It occurred to me today that if you lay out the three major players in computer operating systems and the three major players in web browsers, the results track remarkably well.

  • Windows and Internet Explorer. The dominant player. Obtained that position by being good enough, cheap enough, and promoted enough to win a protracted two-way battle. Detractors claim the victory was primarily due to marketing and business practices, not quality. Plagued by a public perception of insecurity. Currently trying to maintain that lead against an opponent unlike any they’ve faced before. Believes itself to be technically superior to the other options.
  • Linux and Firefox. Open source product with a core team and hundreds of volunteer contributors. Originally created as a replacement for a previous major player. Very extensible. Promoted as a more secure alternative, but has faced growing pains with its own security problems. Highly regarded among many computer power users, beginning to gain mainstream acceptance and challenging the dominant player. Believes itself to be technically superior to the other options.
  • Mac OS and Opera. Has been there since the beginning. Constantly innovating, pioneering ideas that get wider exposure when their competitors adopt them. Very dedicated fan base that never seems to grow enough to challenge the dominant player. Has been declared doomed time and time again, but keeps going strong. Believes itself to be technically superior to the other options.

It breaks down, of course. Traditional UNIX is missing from the OS wars, though it provides a nice analogy to Netscape for Firefox. The battle lines don’t quite track either, since the previous wars were Windows vs. Mac and IE vs. Netscape. And Safari’s missing entirely. But it’s interesting to see the same three roles in play.