Skip navigation.

exploreopera

| Help

Sign up | Help

STICKY POST

Introduction

My journal is Opera-related and technical. It will cover the main obstacles we come across when we use Opera on the Web as it is - the standard violations, the browser incompatibilities, the sniffers and faulty scripts. That is the whole mess a poor browser has to make sense of and believe me, Opera is doing a brilliant job.

User JS contest time!

,

Have any good ideas for User JavaScripts? Or is there some broken site that you would like to fix but never got around to? It's time to fire up the editors and get coding - the User JavaScript contest is open for entries!

(Hey, look at the gorgeous prize - wish I could take part myself, too bad I'm an insider :-p..).

Keep those user scripts coming and have fun :-D

Release blues

,

I'm getting used to this. I've even learnt to expect it and prepare myself mentally. It's still true: releasing something is the most depressing job for somebody doing quality assurance.

So we finally have a new flagship desktop version. The long-awaited Opera 9.5 launched with - I hope - all the hype and thunder we could drum up. Literally thousands of bug fixes since the 9.2x versions, a fancy new skin, new features like getters and setters and Dragonfly that will make much of my work much easier - and yet I can think of few other things than the REMAINING bugs that we should have fixed. It's QA release blues time. Happened every time since Opera 6 final or so.

And with a new release comes new problems. The worst current compatibility issue is a problem with the TinyMCE editor, where legacy versions of TinyMCE will re-arrange your sentences in somewhat unpredictable ways when you press enter. (This is caused by TinyMCE detecting Opera to work around a bug in earlier Opera versions - we've now fixed the bug and unfortunately their workaround still runs and messes things up). To put this problem into the right perspective, TinyMCE is the default editor for Wordpress, and all admin screens in the millions of Wordpress installations out there are now suddenly broken in Opera. Ouch, Sir. What a gotcha!

This is fortunately precisely the sort of things we have browser.js for. There is a fix in already, needs some more tweaking to run in Wordpress' admin screen but I'll get that done. So thank God and Lars Erik for browser.js - when I can throw some fixes in after the final launch, release blues isn't quite as bad as it used to be :smile:.

I'm crossing my fingers that the patch will eventually be robust enough to work with most legacy TinyMCE installations out there. Wish me luck - or even better, tell me where it fails ;-o

extending the web is hard

, , ,

The Prototype library defines a .replace() method on any element that replaces the contents of that element. The WebForms 2 spec defines a .replace attribute on INPUT type=submit that can be set to replace="values" to make a form submit not replace the entire document but simply update the form contents. You can't give two different things the same name. So if you use Prototype and call someInput.replace() your script will stop with an error in Opera because we support WebForms2 and "replace" is a property and not a method.

The wonderful flexibility of ECMAScript / JavaScript lets script authors define nearly anything and everything just about anywhere in the environment. That's why extending JavaScript is getting so complicated - anything we add to specifications and in browsers risks conflicting with something that an author already added somewhere. ES4 plans to come to the rescue with namespaces but until we get there we'll keep stumbling into problems when we try to improve the web. HTML5, you're overdue and welcome - but proceed with caution..

Employees anonymous are recruitment stars

There is a new recruitment video posted both on the desktopteam blog and on YouTube. I notice the comments and feedback are rather mixed. Some commenters think the video is trying too hard to be cool.

I think the main point of the video is easy to miss. The main point is that those people on the screen are genuine employees, not some PR agency cast. They probably came up with those words to describe Opera all by themselves too (knowing some of them I don't think it was scripted.)

Why is that point easy to miss? Because all of them except Håkon are anonymous. The video does not actually tell a casual watcher that these people work for Opera Software!

So the problem with the video is not that it fails to communicate "cool". The problem is that it fails to communicate "genuine". Simply due to the omission of people's names and titles. Someone please tell HR that "employees anonymous" isn't a group the target audience wants to join...

BTW, funny that one of YouTube's "related links" was Royal Opera House recruitment video - which does pretty much the same thing but pulls it off.. :smile:

You should consider joining Opera of course :smile:

nice stack, Firebug

, ,

One of the nice UI features of Firebug is that it goes to great lengths to give functions a recognisable description.

Sometimes it even goes too far... :

Firebug stack

:smile: p: :smile:

Script formatter user JS

, ,

The web is full of scripts that are "compressed" with all whitespace removed to make them download faster. Such scripts are hard to debug..

Here is a small user JavaScript which re-formats script source code to make those "compressed" files simpler to debug with Opera Dragonfly

Download User Javascript..

Note: this script is converted from PHP in a quick and messy way - apologies for any PHPisms, and for the variables that are still prefixed with a dollar sign. I've been using it for a while but I still find bugs and scripts that the formatter can not handle, so be prepared that there may still be some work to do.. Let's call it an alpha release :smile:

Dragonfly arriving

,

Dragonfly blog has details and download links. dev.opera.com has technical details and tutorials.

Now, this is an alpha release. Some issues you may have to overlook gracefully include:

  • If you enable breaking on every script, the debugger will also break when Opera runs browser.js or user scripts - but no code will appear in the code pane! You will have to click "run" one or more times to get past your user scripts.
  • It only responds every second time you press [F10].. :frown:
  • Live CSS editing is missing..
  • ..and so is HTTP logging and some other nice features that will arrive later.


That said, Dragonfly is already making itself useful in its present form. Have fun with it!