Archive for the 'Opera' Category

Sputnik: ECMAScript 3 conformance test suite

Today, The Chromium Blog has officially released their ECMAScript 3 conformance test suite in a form that is more friendly to test in your browser. The test contains over 5,000 tests (currently 5,246) and continues to grow!

The Chromium Blog has also posted some initial results among the top web browsers for Windows (emphasis is mine).

In this example, when running Sputnik on a Windows machine, we saw the following results: Opera 10.50: 78 failures, Safari 4: 159 failures, Chrome 4: 218 failures, Firefox 3.6: 259 failures and Internet Explorer 8: 463 failures.

An experimental plot to illustrate how the latest stable browsers compare.

Putting that into terms of 100% conformance rates: Opera 10.50: 98.5% successful, Safari 4: 97.0% successful, Chrome 4: 95.9% successful, Firefox 3.6: 95.1% successful and Internet Explorer 8: 91.2% successful.

Running the test myself in the latest Opera 10.50 snapshot for Linux (Build 6242) I’m seeing a solid 77, proof that Opera 10.50 is progressing still!

As explained in their post, the goal of this test is not related to Javascript performance in terms of speed, but in terms of conformance to the spec. Ideally all browsers would be in the center of the bullseye, meaning they all conform and behave (nearly) identically.

The Sputnik tests have been released as an open source project, so if you’re interested in providing conformance test cases to improve the future web..now is a perfect chance to get involved. ;)

To run the test yourself or learn more about it, visit: http://sputnik.googlelabs.com/

Making My.Opera more social

I recently posted an idea in the “Idea Mill” for Gwibber which is a social client for GNOME developed with Python and GTK+.

My idea is to evolve My.Opera from a traditional web browser based social community to a client based community so that users can quickly and effortlessly update their status, reply and receive private messages, follow community updates and more.

This project will require a large effort to get going from the start, but would help the My.Opera community grow by making the service available to a larger crowd.

The current problem with My.Opera is that it depends on a community of Opera enthusiasts. Lets face it, Opera has a very small market share when compared to the current leading browsers. If the community is to truly succeed it would make more sense to remove the requirement of being an “Opera fan” and focus more on making the service a social success such as Facebook or Twitter.

With my idea, My.Opera could integrate with applications such as Gwibber and TweetDeck to allow users of the online service to easily follow others, review and update their private messages, keep track of community updates and stay updated in general with the activities available at My.Opera.com.

Here is my mockup for Gwibber:

As you can see, My.Opera would be able to attract users in a fashion nearly identical to that of Twitter with features that already exist and have existed for some time now.

The only current setback….My.Opera doesn’t offer an extensive API to make this idea possible. While they do have some API support in place, they lack what is needed (AFAIK) to make this support possible without fetching and parsing pages designed for a web browser.

The inclusion of this support would be very beneficial to My.Opera, especially when Ubuntu 10.04 is release with default integration with the social client Gwibber.

Making this giant step into the micro-blogging and “friending” era via clients would also be very beneficial to Opera Software ASA’s business model. With more people joining the My.Opera community (after seeing the service support in Gwibber and other clients) the number of people exposed to the Opera browser would be fantastic!

This could potentially be a game changing move for Opera and it would be wise to take advantage of it as soon as possible with the current popularity and high demand for social micro-blogging services today!

If you’re a frequent My.Opera user and you’re interested in this idea for Gwibber and potentially other social clients, please cast your vote to show support and let the My.Opera community developers know that you’re interested!

UserJS: Twitter-Rounded

I’ve thrown together a quick script for Opera that you can use if you’d like to see rounded corners (aka border-radius). It seems that Twitter currently sends Opera a style sheet with empty settings for rounded corners…

…so, all I did was write a script that will insert a link to a style sheet that’s stored here at kyleabaker.com which overwrites these empty styles with the correct ones.

If you’ve never used scripts before then you should first learn how to setup UserJS. After you’ve setup Userjs, you may need to enable UserJS for secure pages (https) in Opera’s internal configuration page….”opera:config#UserPrefs|UserJavaScriptonHTTPS“. Just check/enable that option. Make sure to click save!

Lastly, save the “Twitter-Rounded” script to your UserJS folder that you setup in the steps above.

Now you have a more pleasant looking Twitter page in Opera 10.5. ;)

Opera 10.5 Pre-Alpha Internal Release

I’ve just given a leaked release of Opera 10.5 Pre-Alpha a test drive and I must say that I’m very impressed with the changes I’ve noticed thus far!

I look forward to testing the Official Opera 10.5 Pre-Alpha release on Tuesday, December 22. However, until then I’ll be digging through this leaked version.

Note that Opera has officially warned against installing such leaked builds, stating that the official release will be “much better and you don’t risk getting nasty trojans on you pc.” ;)

Here are some screenshots I’ve taken. I don’t cover everything, but just enough to give you a good idea of what we should be expecting. I also won’t be detailing all of these pictures, but a picture is worth a thousand words right? Inspect them and see what you can find!

I did notice a lot of skin changes and a couple of bugs here and there dealing with the skin, but it’s overall very much improved. The internal “opera:*” pages also seem to be using a different style than previous builds, but then again they may have dropped using the Opera logo in the top of the pages.

Notice the border-radius support!

Try this build at your own risk!
http://rapidshare.com/files/323481638/Opera_1050_20192_in.msi
http://depositfiles.com/files/e01z2q5qp

Opera Google Wave Skin

I’ve been using a new theme lately for Ubuntu that is based on the appearance of Google Wave. One thing that I hate about Opera in Linux is that it doesn’t automatically inherit the current themes appearance. The only way to make Opera match your current theme is to download a skin for that theme or to make one yourself.

I’ve decided to modify the standard skin by updating the background behind the tabs and changing the scrollbar images to match the rest of my current themes scrollbars.

There are still several more tweaks to make, but for now I’m very satisfied with the integrating feel that these small changes have made.

opera-google-wave-skin

I may upload this Opera skin later, but not while I’m still tweaking it. In the meantime, if you want this skin then just contact me and I’ll send you what I’ve made so far.

Opera 10.10+ Wishlist

Now that Opera 10.10 Beta 1 is out, the Desktop Team has calmed down a bit with fresh snapshot releases. I take this as a sign that Opera 10.10 Final is very near. On that note, I decided to throw together a list of changes I would like to see greeting us on the road to the next big release.

There is no particular order to the following wishlist items, but they are a bit rambled on…

Wishlist

  • Download Opera updates via BitTorrent technology that is already present in Opera to take the bulk of the stress off of servers and mirrors for those already running Opera.
  • Allow Opera to download efficient updates. Instead of downloading the entire installer each time, why can’t Opera download the changes and apply them to the present installation (updating the version of course)? This could dramatically improve the length of time it takes to update Opera, especially on slow connections.
  • Remove the Unite Applications that are installed by default with Opera and download them when they are needed. I extracted the classic installer for Opera 10.10 Beta only to find that the Unite Applications that are installed by default consume approximately 2.12mb, thus dramatically increasing the installer download size! Why couldn’t these be installed via the Internet when the user decides to activate Opera Unite?
  • Install Opera with an Operating System focused skin by default. Opera for Mac is already installed with a tweaked default skin, but what about the rest of us? The current default skin is a major improvement over skins in the past, but on Windows 7 it really doesn’t fit the feel. This is one reason that a lot of people stray away from Opera.
  • Update skins, widgets, unite applications, userjs, usercss, etc. Why has a proper updating system not been put into place to alert you of a skin update? Or to alert you that your favorite widget just got updated and you’re using one that’s a year old? It seems that this may happen with Opera Unite eventually, but what about the content that we’ve used loyally for years?
  • A real User Javascript manager solution. We all know that Firefox has a wealth of add-ons available and one of those just happens to be the equivalent of what I’m talking about. Why has Opera supported User Javascript for so long, yet left the benefits hidden to most users by not supplying an easy solution? There is currently a very handy UserJS manager that has been implemented by an Opera user via an Opera Unite Application.
  • Better memory usage and garbage collecting. If you’ve ever opened several tabs (we’ll say 50+) and worked your way through most while closing them as you go, then you know that Opera’s memory footprint can grow madly. One thing you might have assumed, but not been aware of is that when you close these tabs and empty the trash…there is no release of all of that memory that Opera just claimed. While many loyal Opera fans will tell you that Opera gives this memory back if it’s “really” needed, it shouldn’t just hang onto it in the first place. We all want an optimized application, shouldn’t that be try for memory usage as well?
  • Opera Dragonfly updates! I remember when Opera Dragonfly updates were fairly often and sometimes significant changes would appear even between snapshot updates! Opera Dragonfly has slipped out of the spotlight due to limitations on updates that depend on Core updates in Opera itself. With or without these limitations, I’m sure we would all like to see how Dragonfly is improving. One improvement I’d like to see (that has already been mentioned by @hicksdesign) is UI integration with the rest of Opera and the current skin. Other than that, editing of style sheets in entirety on the fly is one of my most craved updates. A ruler or grid would be nice as well as not having to reload the page before editing it. Also, I’d like to have Opera Dragonfly open on one page while not seeing it on every page that I switch to. ;)
  • UserJS on HTTPS prompts at startup are driving me insane! Why Opera hasn’t implemented an option to ignore this prompt is beyond me. It could easily be configurable via opera:config, but continues to annoy the users who are well aware of what they are doing in the first place.
  • More options synchronized via Opera Link. Also, why can we finally have a completed web front-end to Opera Link? I’m tired of not having passwords stored in the Wand for one computer that I know are saved on another. Shouldn’t all of these settings be synchronized by now? Opera Link (it seems like) was released ages ago and is still far from feature complete!
  • General polishing on common bugs that are persistent in Opera such as redraw bugs, Google Gears and other Google products that just seems to hate working with Opera (Google Wave).
  • A faster JavaScript engine! Frankly, I’m tired of the whole battle over which browser is faster strictly based on Javascript, but the differences at this point in the game are a little ridiculous. Opera apparently has a full team working on the next javascript engine for Opera, named Carakan, and I think we would all welcome it into the next Opera release with arms wide open.
  • One thing about the BitTorrent dialog bugs me. I usually select to use my default torrent application rather than Opera which happens to be uTorrent, but the “Open” and “Save” buttons can be a bit confusing. Why would these not be relabeled to “Start” and “Save“? The Opera download manager already uses the Resume and Restart terminology so it would make more sense to me if it were consistent. If you think about it as follows you might find the confusion: So, I want to save this torrent to my computer right? Or do I want to Open it? What’s the difference? Oh, so apparently save only saves some weird “.torrent” file to my computer. I guess I needed to click open. Shouldn’t they have named it start…or something more logical? :P
  • During Fullscreen mode I often wish I had an easy access bar that I could hover that would drop down the tabs and address bar for tabs open in the current windows, similar to how Firefox manages tabs in Fullscreen mode. I don’t understand why Opera makes this task so out-of-the-way.
  • Windows 7 Jump Lists featuring frequently opened tabs as well as currently open tabs and maybe the last x number of closed tabs.
  • Windows 7 Aero and tabs pulled up into the title bar for more space efficiency.
  • Source View updates. Any update to the source viewer would be welcome. This feature of Opera has been abandoned for far too long (…remind you of Duke Nukem Forever anyone?).
  • I think Opera should remove the Rewind and Fastforward navigation buttons (as well as the home button) by default (for fresh installations). These buttons tend to simply add clutter to the navigation bar for new users who will most likely never use them intentionally. I’ve even started removing them first thing for all instances that I install for friends and family just so that Opera has a simple default feel. Simplicity is one reason that so many people are flocking to Google Chrome.

Have other wishlist items that I forgot? Leave ‘em in the comments!

New: Netflix Watch Instantly Timer

I’ve just posted a User Javascript file that allows you to get a quick glance at the total time that you’ve spent watching Netflix Watch Instantly programs.

netflix-watch-instantly-with-userjs

So far I haven’t had enough time to make the script Greasemonkey compatible, but it should be shortly. For now, it works great with Opera.

Thanks to @fearphage for helping me get this sorted out with Greasemonkey as well!

Head on over and grab the script so you can keep tabs on how much time you spend watching tv…online…on netflix. ;)

Why Browser Sniffing is a Bad Idea

For many web developers, browser sniffing has become almost routine. Have you ever noticed that short list of “supported web browsers”?

While browser sniffing may seem like a good idea at first, you may be setting yourself up for problems later.

The biggest problem with browser sniffing is that it is usually relied on far too heavily to even consider removing later. The inner workings of a site can be based (unknowingly sometimes) around working specifically for specified web browsers and nothing more.

One poor use of browser sniffing that I came across today was for EyeWearSelect.com and it just so happens to be an easy fix.

On one of the EyeWearSelect pages, they show a thumbnail preview of a pair of glasses. Below the image is a link entitled “Click to Enlarge”, which uses some javascript to show you a larger picture in a pop-up window. Here’s how they begin the pop-up script..

if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}

Basically, the script says…true or false…this is Netscape? Also, true or false…this is Microsoft (Internet Explorer)? ..but what if you’re not using Netscape or Internet Explorer? What if you’re using Opera? or Konqueror?

If you’re using a browser that doesn’t match Netscape or Internet Explorer, then the future checks for isNN and isIE will never match and your browser will be “incompatible” with the scripts. In this case, the incompatibility is that the author never made it possible for those that are compatible.

A simple fix for this would be to change that bit of code to the following, which would basically check for Internet Explorer and then treat all others differently..

if (parseInt(navigator.appVersion.charAt(0))>=4){
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;
var isNN=!isIE;}

They won’t always be this easy for developers to correct, but this script could actually be cleaned up much more than just that.

In most cases, browser sniffing isn’t needed. The more efficient method to follow is capability testing.

If your code requires a web browser with capabilities that others (or not all web browsers) have, then you can use browser sniffing which is a form of hard coding the compatible web browsers…or you can test the browser’s capabilities and see if the javascript that you need to use will be supported.

By using the second method, you make your script much friendlier to the future of both the web and it’s browsers. You will also save yourself some work by not having to update the script each time you want to support another browser that would already be capable of using your script if it weren’t blocked in the first place. ;)

If you run compatibility tests and find that a certain feature will not be available, that’s the time to announce that the user should update their browser or use a different one all together.

Of all of the times that I’ve seen browser sniffing, only a couple have every been properly used. One of those was a browser sniffer that would display instructions and images explaining how to download and save a file to your computer. The images were of course specific to the browser that I was using for a more useful set of instructions.

If you should happen to come across a web site that suggests that your browser is not compatible, fire off an email and let them know that you would appreciate more accurate scripting and detection for your web browser let them know that you would appreciate more accurate scripting!

Opera Wishlist v2.0

It’s been a while since I’ve written my wishlist for Opera. Now that the top five features I’ve requested have been implemented in Opera 10 (to be released), I’ve got to start putting together some items for the next major update!

In my previous top five wishlist, I was hoping for features like Developer Tools, Auto-Update, more Widget Capabilities, In-line Spell Check and, last but not least, an Improved Interface.

I’ve updated my previous wishlist with links to reference when and how these changes took place, so if you want to look further into that just checkout the first wishlist (linked above).

For my new wishlist, I think the them follows the general theme of the previous one..or at least 3/5 of them. I hoping to see Opera become more noob friendly. In it’s current state, it’s very usable for anyone, however, they do tend to have a bit too much of an engineering took and a little skittish on the designer and user interface front.

Let’s dive right in..

  1. Menu Systems. The menus for toolbars and even some main menu bar sub-menus are designed too complex and confusing. If you want one of your less tech. savvy friends to use Opera, don’t show them (most) of the menus! An example of simplifying the menu system would be to simply move the “Customize -> Remove From Toolbar” to the main menu or root level and rename it to “Delete” so that deleting buttons and other toolbar elements is written in clear English.

    This menu item was moved to a sub-menu to reduce accidental use, however, it is now placed far out of reach and over complicates such a simple task. The naming or wording of this menu item is also overly complex. Firefox uses a simple “Delete” menu item for the same task and it makes the whole thing seem so much simpler.

    This isn’t the only menu item or menu that is in desperate need of simplifying. I’d like to see each and every menu analysed and modified to make wording as simple as possible and follow general layout structures that all other competitors are using.

  2. Completed Opera Link. Depending on how heavily you use Opera, you may know by now that they have a feature that allows you to synchronize some of your settings between different computers by signing into your (free) My Opera account. This way you can have the same settings for Opera on two or more different computers such as the same Bookmarks or Speed Dial entries.

    I would like to see Opera finally complete this feature to support all of the other settings that you hate to update all of the time, such as Blocked Content, Mail Accounts or News Feeds, Widgets, IRC, etc. Currently, the only synchronized settings are Bookmarks, Speed Dial, Personal Bar, Notes, Typed History and Searches.

  3. <video> and <audio>. Opera already has some support for HTML5, however, the very cool parts are still lacking. Firefox 3.5 just released yesterday with support for the new <video> tag that will hopefully make the use of flash obsolete. An experimental build of Opera 10 with <video> support was released from Opera Labs a while back, however, they appear to have been slacking in this particular developmental area and Opera 10 is (as far as I know) planned to be released with the lack of support for the <video> and <audio> tags.

    This is a terrible move in my opinion. However, Firefox 3.0 was not released with these capabilities and only extended to support them later in Firefox 3.5, so it just might work out if they are added later.

  4. CSS3 Border-Radius Support. You can notice the lack of support for this CSS gem easily from kyleabaker.com. If you compare this page from Opera and Firefox 3+ you will notice that Opera doesn’t render the rounded top corners of the tabs in the header like Firefox does.

    This is a simple CSS3 feature, but it’s also one of the most noticeably lacking CSS3 features in Opera to date. It’s CSS3 candy like this that many developers are anxious to start using and it’s a shame that Opera hasn’t even offered a browser specific border-radius attribute as Webkit and Firefox have done.

  5. Bug Squashing Session. The last, but probably most important wishlist item is that Opera takes a break from implementing new features and puts some extreme focus into squashing every last bug in the database. While I know that this isn’t feasible, I do believe that a great deal of priority could be placed on this and then some of the lower priority bugs could finally get some attention.

    It seems that Opera is continuously releasing new features one after another. While this is great in one respect, it is also very troublesome in another. We all want to see breaking edge technology and sweet new features, right? But, at what cost are we getting these sweet new features?

    When Opera’s built-in source viewer was released, I remember finding it to be one of the most useful features in the browser for web development. I could easily make changes to a page and view them immediately without any need for uploading and refreshing the page!

    Now, one of the most limiting features of this source viewer that I’ve found is the lack of line numbers. Something this simple was filled as a bug some 2 years ago (plus or minus) and has yet to be fixed. This is obviously a low priority bug, but a bug squashing session that eliminated the nastiest bugs, allowing time to working on these easier bugs would be great!

One bonus wishlist request is for Opera to hurry up and release the next ECMAscript/Javascript engine called Carakan as soon as possible so Opera shows up better in all of these (unrealistic) benchmarking tests. It would be great if Opera 10 were released with all of these wishlist items, but it’s generally not a good idea to rush the release of anything. So it looks like I’ll have to patiently wait for these requests to make their way into my favorite browser.

In case you were wondering, the current version of the ECMAscript/Javascript engine in Opera is code named Futhark and was released with Opera 9.5. Prior to that, the engine named Linear B was used Opera 7.x to 9.2x. Even before that, Linear A was used from Opera 4.x to 6.x. There was no name given to the engine used (if any) prior to that. Comparing them all, I would have to say that Carakan definitely sounds the most impressive. If wish, you can learn more about Opera’s history.

If you have any ideas for an Opera wishlist, post them in the comments or post a link to your blog article about them!

Linux: Two Scripts to Help Debug Opera

Are you an Opera user and a Linux user at the same time? If so, then you could genuinely help Opera by sending in bug reports and specifically crash reports.

I’ve put a could of tools together for you in the form of scripts. If the idea of scripts scares you, then don’t worry. I’ve explained how to use them in the INSTALL.txt file that is in the zip archives for each tool.

They are really easy to use and can make your life much easier!

If you find that these scripts could be improved and/or extended, feel free to make changes yourself and/or pass them my way so we can all benefit from them!

Opera: Kill Freeze – The first tool is a script that will stop Opera when it’s frozen and, if you are using Opera 10+, prompt you with a crash log report so you can explain how it happened.

Opera: Crash Report Details – This tool will generate a text file on your desktop with some technical specifics that you should copy and paste along with your bug report. This information can greatly help with finding a bug and reproducing it so that it can be eliminated.

Do you have or know of similar tools? Let me know about them and post them in the comments!



 

March 2010
S M T W T F S
« Feb    
 123456
78910111213
14151617181920
21222324252627
28293031  
The W3C validators rely on community support for hosting and development.
Donate and help us build better tools for a better web.