The Good Life... a weblog about life, technology, and the Opera web browser

Posts from February 2006

Date
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

Acid2 - Containing page (updated!)

Update: This post was originally made on February 10, 2006. However, we found that we needed to do some additional information verification the next day and took the post down. Verification now complete, the original post is back:

Two more Acid2 fixes came in build 7981. These changes make no visible difference in the rendering of the test. Instead, they remove the scrollbar on the page in which the test is displayed. As with several other items, this part of the test is not mentioned in the Acid2 guide. Personally, I didn't even notice the problem until a colleague pointed it out. Now, on to the bugs.

In the Acid2 test, the HTML element is set to overflow: hidden, which should hide the scrollbar on the page, regardless of the page's length. However, in Opera, if the CSS overflow property was set on the root element of a document, the property would not be propagated to the viewport. For HTML documents, that meant setting overflow on the HTML element would not change the overflow property on the BODY element. This bug is now fixed and the scrollbar no longer appears on the Acid2 test page. Check this test to see how your browser handles it.

Unfortunately, Opera had another bug which would break Acid2 after the above fix. In particular, if a link went to an anchor in an element set to overflow: hidden, Opera wouldn't scroll to that anchor. Check this test to see how your browser handles it. Though the URL for the Acid2 test is http://webstandards.org/act/acid2/test.html, the visual portion of the test is at http://webstandards.org/act/acid2/test.html#top. Thus, without fixing this bug, there would be no way to scroll to the visual portion of the test. Thankfully, these two bugs were fixed simultaneously.

There is no updated rendering screenshot, as the rendering itself didn't change, just the existence of the scrollbar for the page. Load the Acid2 test in Opera 8.51 and Opera 9.0 Preview 2 to see the difference.

Opera on the Nintendo DS

Opera is going to be available for the Nintendo DS! This is probably the coolest deal we've made ever. Included on an optional memory card, you just plug it in and voila! the entire Web on your DS. You already take your DS with you everywhere, right? Now you can browse the Web from anywhere you can play Mario Kart online. How cool is that?!

Read more in our press release and have a look at some pictures from the Nintendo press conference (with Japanese text), including shots of Opera on the DS.

Update 1 (10:30AM): NintendoDS Advanced has some nice details about how browsing will work:

"It is also now known that the forthcoming Nintendo DS web browser will fully utilize the properties of the portable device. Web pages on the DS will span both screens of the handheld, with the touch screen functioning for forms of input. The browser will also fully recognize stylus movements associated with the touch screen in order to adjust the viewing angle of the bottom screen."

I'll keep posting more interesting links as I get them. Here's an appetizer:

Weeklies

Today, we start a pilot program of semi-weekly releases. While preview and beta releases provide extremely valuable feedback and bug reports, weeklies will further improve our ability to fix the issues most important to our users and receive feedback about new features while the changes are still fresh in our developers' minds. Users will also get a closer look at our development process and see what life at the Opera HQ is really like.

Weekly snapshots will normally be released on Fridays (despite kicking this off on a Monday), though we will skip weeks when we feel the builds are not good enough for release. Some platforms may be held back while others are released, though UNIX is mostly likely to be affected because of the sheer number of builds that need to be created and tested. Current plans are to continue these weeklies until the release of Merlin final.

We've created a new blog for our Desktop Team to announce and provide you with information about our snapshots. Feedback from these releases should still go in our Beta Testing forum or the opera.beta newsgroup. Weeklies do not replace preview or beta releases. Instead, they are an additional type of release that improves the others.

These weekly releases don't have anywhere near the same quality requirement as our preview, beta, or final releases, so users should expect to experience problems. Normally, we perform security and regression testing prior to every release, fixing most problems before users ever know about them. Now, these types of problems will be much more visible, though they will still be taken care of as soon as possible. Due to these lowered quality requirements, it's imperative that users back up their files before installing these weekly snapshots: data loss or corruption is even more likely than with preview releases.

Without further ado, get our first weekly while it's hot! We're interested in your feedback about the weekly release program, as well as the builds themselves, so please let us know what you think.

Opera 9.0 Preview 2 mini feature tour

Most of the big Preview 2 features are already getting a lot of attention in employee blogs. There are, however, a couple new things not getting a lot of attention that deserve a special mention:

Spatial navigation improvements

Spatial navigation is a quick way of navigating forms and links on web pages. Hold down Shift and use the arrow keys on your keyboard to jump to the nearest link or form element.

This worked reasonably well before, but could run into problems with certain form elements. Since form elements were automatically focused by spatial navigation, you could get trapped if you focused a TEXTAREA, for instance. To solve this, you must now press Enter when navigating to form elements to give them focus. There's a black border drawn around the currently selected form element, to help with orientation. I use spatial navigation a lot and find it much more comfortable to use with this change.

Unselect

"But Tim," you say, "how do I get out of a focused form element so I can get back to spatial navigation?" Well, that's easy. Just press ESC. This nifty little addition also works when you have text selected. So, say you have a link selected, but you want to scroll the page using Space. No problem. Just press ESC and you're on your way.

For tweakers, this change was done by adding the new command "Deselect all" to the ESC key definition.

display: inline on TABLE

About a month ago, I wrote about problems with the rich text editing toolbar at Gmail. After my post, I got an e-mail from a CSS WG member, stating that the next public draft of the CSS2.1 spec. would change the handling of display: inline on TABLE elements. In anticipation of that change, Preview 2 was updated to take these rules into account. Now, when display: inline is used on a TABLE, an anonymous table element will be created and set to display: inline-table. Thus, now the Gmail rich text editing toolbar is displaying as it should.

Improved message headers

Screenshot of old message headers

Screenshot of old message headers

Message headers were previously displayed using HTML and CSS. Unfortunately, the display was very inconsistent, since headers in e-mails aren't in a specific order. To counter this, we added toolbars to handle message header display. Now, your message's subject, date/time, sender, recipient, and attachments will always appear in the same order. You can easily add, remove, or reorder headers by right-clicking on the toolbar and clicking Customize.

Screenshot of new message headers

Screenshot of new message headers

The new message header toolbars also give us the added ability to add some new functionality to messages. For instance, you can now save all attachments to a message by clicking the Save button on the Attachments line of the toolbar. Additionally, each attachment name is a button, giving you quick access to Open, Save as, and Save to desktop. Executable files are blacklisted, showing a warning dialog if you try to open them.

Each name and e-mail address in a message is also a button. Clicking it gives you the option to copy the e-mail address, compose a new e-mail to the address, and add the address as a contact. If the e-mail address is already associated with a contact, you'll be able to show the contact's view ("Read mail") and change the contact properties (rather than adding a new contact). If the recipient of an e-mail ("To") is a contact, their e-mail address will not be shown. We're still debating this change, so feel free to post your feedback about it.

The old HTML/CSS headers are still available, if you prefer them. Enabling them is a two step process:

  1. Go to opera:config and disable the User Prefs|Show Mail Header Toolbar setting.
  2. Open the message stylesheet, mime.css (found in the Styles sub-directory of the Opera program directory), and remove the following CSS rule: div.headers {visibility:hidden;height:0;}.

When you select your next message, the HTML/CSS headers will appear.

OPML import/export

More and more sites are adding RSS and Atom feeds, allowing you to keep up-to-date with new content without visiting every day. Now, with our new OPML support, it's much easier to import your feeds to Opera from another program or move feeds between Opera installations. To import/export your feed list, go to File > Import and export to choose the correct operation.

CSS3 opacity

By popular request, we've added CSS3 opacity support, which allows page designers to make semi-transparent elements on their pages. Typical uses are slick visual transformations, though I'm sure there are other valid uses. Shortly after adding opacity support in internal builds, I surfed to a web page I'd been visiting frequently and noticed some new effects. A bit of investigation proved they were using opacity, though I never knew I was missing anything. That's what I call graceful fallback. It isn't much of a difference, but opacity can add some nice touches to otherwise static pages.

The best thing since...

Instead of sandwiches (two pieces of bread with stuff in-between), Norwegians typically eat single slices of bread with meat, cheese, vegetables, and/or spread of some sort. As I made my afternoon snack today, it occurred to me why this is: Norwegians don't like pre-sliced bread. In fact, Norwegians I've spoken to have turned their noses up at the very concept of sliced bread. I don't know the basis for this detestation, but I think it has a direct impact on eating habits. While pre-sliced bread is available here, there's a far greater focus on unsliced bread. Pre-sliced bread wasn't always available in the US, so I do wonder if single-slice-sandwiches used to be the norm there, too.

When home-slicing bread, it's tricky to make slices as thin as a machine. Two slices of home-sliced bread are quite thick and hard to fit in your mouth at once. Thus, the Norwegian tendancy to only eat a single piece of bread at a time. In a way, it's an interesting study of evolution: the failure of pre-sliced bread dictated a different default sandwich style. Back in college, I remember being encouraged to travel abroad because it would broaden my understanding of the world. I like to think I've achieved just that with this epiphany today.

The Opera Labs

In addition to the release of Opera 9.0 Preview 2, today we opened the Opera Labs. The Opera Labs are a place to find information about new technologies in Opera releases and new products we're developing. We're planning a lot of exciting things for the Labs, so make sure to subscribe to the newsfeed (when it becomes available).

For all you preview and beta testers, the Labs won't replace our Beta testing site, snapshot.opera.com, but work along with it.

Merlin Preview 2, AKA Opera 9.0 Preview 2 released!

Today marks the second preview release of Merlin[1], the culmination of three and a half months of hard work. We did a lot of stuff in Opera 9.0 Preview 1 already, but we weren't finished. While Preview 1 focused on features in the rendering engine, Preview 2 includes several big user interface improvements, as well as new rendering engine functionality. And these changes aren't just fancy eye-candy (well, not all are), they address long-standing user requests, too. Read on for more details.


Feature highlights

The following is a list of the major new features/improvements in this preview:

Widgets
Widgets are small applications, often web applications, that run outside the regular Opera browser user interface.
Thumbnails
Small representations of a web page, thumbnails, will show when hovering over the tab bar. They can also be enabled for the Ctrl+Tab/Option+Tab menu[2], but won't show there by default.
Search shortcut editor
Search shortcuts (like 'g' for Google) can now be configured in preferences via Tools > Search, rather than via search.ini. Additionally, you can easily create new searches by right-clicking on a search field in a web page.
Content blocking
Tired of those pesky images of half-naked women on corporate web sites? Get rid of them with content blocking! Right-click on the page to open the content blocking editor for direct access to the filter.ini capabilities directly through the user interface.
Site-specific preferences
Many site-specific preferences, available in Preview 1 via opera.ini, can now be configured directly in the preferences via Tools > Preferences > Advanced > Sites. Settings that can be set site-specific are now grouped with site-specific preferences. Site-specific preferences are also available on the web page context menu or at the bottom of the Quick preferences menu (F12 on Windows and UNIX, Option+F12 on Mac).
BitTorrent
BitTorrent is back with a vengeance. First demoed in Opera 8.02 Preview 1, it's here to stay for Opera 9.0.
Improved history navigation
The history of pages you've visited can now be grouped by date and by site in the history panel[3] via a setting in the View menu, greatly improving your ability to find pages you've visited recently.

Featurelets

But let's not lose sight of some of the every day changes that on their own might not make a big impact, but put together improve Opera immeasurably. Here's a list of what I feel are the most important featurelets in this preview:

  • By popular request, we removed the bookmark indicatior (star icon) from the address bar that was added in Preview 1. Update: It turns out that some users miss the star. For you, there's a solution in our forums.
  • The built-in source viewer now contains basic syntax highlighting.
  • CSS and SVG errors are shown in the Error console (renamed from the JavaScript console).
  • The "Load image" context menu item for images will now reload images, even if they are only partially downloaded.
  • Typing a domain name (sans "www." and ".com") in the address bar and pressing Ctrl+Enter/Cmd+Enter will now auto-complete the address, as in other browsers.
  • Paste & Go has been moved to Ctrl+B/Cmd+B, after being moved to Ctrl+Shift+V/Cmd+Shift+V in Preview 1. The change in Preview 1 had the unfortunate side-effect of opening a new tab in the background, which often wasn't desired.
  • Individual sections and preferences in opera:config can be linked to using the format "opera:config#section|preference", i.e. opera:config#UserPrefs to access the "User Prefs" section and opera:config#UserPrefs|EnableGesture to access the "Enable Gesture" setting.
  • Improved stylesheets for virtually all Opera-generated pages, such as opera:config, opera:about, opera:cache, etc. Kudos to Moose for a job well done.
  • Added configurable stylesheets for the image display and error pages, also by Moose. They are available in the Opera\Styles\ directory and called image.css and error.css, respectively.
  • Improvements when navigating pages in history on pages with certain JavaScript event handlers. See our knowledge base for more details.
  • Experimental NTLM support (Windows-only).
  • New message count in Dock (Mac-only).

Bug fixes

And what's a preview release without bug fixes? Here are my favorite bug fixes:

  • Lots, and lots of bugs in our SVG, XPath, XSLT, canvas, and Web Forms 2 implementations have been fixed. We have lots more to tackle, but the worst should be gone.
  • The background of printed pages will be derived from the print stylesheets instead of the screen stylesheets.
  • HREF attributes aren't converted to absolute URLs in DOM and CSS anymore. This fixes problems seen with external link indicators in MediaWiki wikis in Preview 1, as well as many other issues.
  • Fixed problem with extra blank lines being copied from web pages and mail.
  • Fixed problem handling spaces and punctuation when searching for text in web pages.
  • Fixed GDI leak caused by favicons.
  • Multiple fixes for the FTP back-end, specifically related to the PWD and EPSV commands.

New preferences

For our tweakers, several new preferences have been added or enhanced, which extend the customizability of Opera. Here's some of my favorites:

  • Added "-1" to the list of allowed values for the User Prefs|Rendering mode setting, which changes the default rendering mode to Fit to window width, AKA ERA. Other possible values are 0 = normal (default), 1 = SSR, 2 = CSSR, 3 = AMSR, and 4 = MSR.
  • Added Adv User Prefs|Permitted Ports, a comma-separated list of ports that can bypass the security restrictions on accessing certain ports.
  • Added a setting to disable the HTML5 canvas element: User Prefs|Enable Canvas. This setting is not yet working, but will work in a future release.
  • Added "2" to the list of allowed values for the User Prefs|Color List Row Mode setting, which completely disables alternating row backgrounds in user interface lists, such as the Opera Mail message list. Other possible values are 0 = allow alternating row backgrounds (default) and 1 = improved coloring with dark backgrounds and light foregrounds.

Download it

All this and I haven't even listed all changes! See the changelog for more details and try the release for yourself!


Read more

Below are links to other information about this preview from my colleagues:

Enjoy!


Footnotes

[1] Our code-name for Opera 9.0.

[2] Toggle User Prefs|Use Thumbnails in Window Cycle in opera:config

[3] The view setting isn't saved on exit yet. That'll come in a future release.

Apology in advance

I'd like to apologize in advance to those readers that like the non-technical posts that sometimes appear here for the large number of posts about Opera likely to appear this week. I have a lot about Opera I want to say. We'll be back to intermittent Opera posts shortly. We appreciate your patience.

Opera 9.0 Preview 2 due tomorrow

As you may have read, Opera 9.0 Preview 2 will be released tomorrow (assuming no showstoppers are found) after three and a half months of development. In addition to the return of (improved) BitTorrent support, Opera 9.0 Preview 2 will sport Widgets.

Widgets are small (web) applications that run outside of the browser user interface, allowing you quick access to things like a calendar, the current weather, and recent news at the touch of a button (F6). We've made a handful of Widgets already, which will be available tomorrow. We'll continue to crank out new ones. And, since Widgets are basically just Web pages, you'll be able to make them and share them, too. More details will be available tomorrow.

Of course, that's not all that's new in this preview. Many, many, many, many, many bugs have been squished. This release is more stable than the first preview and many of the new technologies are more fully developed. We've also implemented several other new features, though you'll have to wait until tomorrow for full details. We have a feeling you'll like what you see.

When It's Ready

It's been a long time since Opera 9.0 Preview 1 was released. It's not surprising that there's quite a lot of speculation as to why that is. I hope to shed some light on the subject.

According to our Beta Testing site, previews "should never be installed over a final release" and are "not to be used as a substitute for a final release." They generally have many, many known bugs. Our main goal is getting feedback on new features, as well as finding severe problems we had not found in our internal testing. We don't kid ourselves; we know users will use previews as their primary browser, despite our warnings. But I really don't understand why users are surprised when they have to downgrade to the previous public release due to bugs, especially when they shouldn't do upgrade installs in the first place.

And what is it with the reluctance to downgrade? I saw a comment in the my.opera.com Beta Testing forum today from some guy that said Opera 9.0 Preview 1 was too buggy, so he's been using another browser. If you used a non-alpha/beta release before, why can't you use it again? There is no shame in downgrading. But I digress.

In Merlin, we've worked on cleaning up a lot of long-standing issues early on. Many of these changes were very high risk and broke lots of other stuff. That's expected with this type of development and part of the reason it's done early in the development cycle. So, we hunker down and fix, fix, fix. All this is happening while end-users are using existing preview, beta, or final releases and finding problems. Not to mention web sites being upgraded, specifications changing, etc. All of which can lead to new bug reports that should be prioritized. After all, we want our products to improve from release to release.

Add all this up, and we take a lot of time improving our product between releases. High risk fixes destabilize things for a while. Changes are interdependent. Things take time. If a preview has lots of problems, we have lots to fix before the next one, so there's lots of time between releases. Remember: we use our products, too. We feel the same pain.

All I'm asking for is a little trust and patience. If there isn't a new release for a while, it's because we're trying to make the next release as usable and testable as possible. If we don't say when the next release will be out, it's because we want to focus on fixing bugs, not looking at our calendars: it'll be out when it's more usable and testable than the previous release.