Identify Opera With Your Linux Distro!

If you’ve ever noticed your user agent string before, then you may have noticed that Opera identifies as running on a generic Linux platform. This can be a bit bothersome or annoying if you’re a Linux enthusiast like me.

Opera for Windows and Mac both properly identify the platform they are installed on, but Linux is a little more challenging due to the overwhelming number of distributions. You can easily adjust your user agent string to accurately reflect your platform and help promote both Opera and your Linux distribution when you browse and post online.

Before and after Opera user agent string.

To change this so that it reflects your specific platform, simply:

  1. Open “opera:config#ISP|Id” in a new tab.
  2. Enter your distribution in the blank box in the format “Distribution/Version”.

  3. Click the Save button and restart your browser.

This should successfully change your user agent from something generic like..

Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.6.30 Version/10.70

..to something a little more specific like..

Opera/9.80 (X11; Linux x86_64; U; Ubuntu/10.10; en) Presto/2.6.30 Version/10.70

Hope that helps! You can test your updated user agent strings in the comments below since they will appear above your comment. Or you can test it out at UserAgentString.com.

func20000 – how far does your UA get?

As a follow up to Hallvord R. M. Steen‘s outdated post (Wednesday, 28. November 2007), I’d like to point your attention to a gigantic performance increase in Opera!

I haven’t done in-depth research to find out when this improvement occurred, but I suspect it was with Opera 10.50-10.60 and the many JavaScript improvements that came along with these updates.

In my tests, I found that Opera went from a previous “top score” of 4998 to 16382! Doing the math that proves to be an increase of approximately ~3.28 times the performance in Opera 10.20 (my last posted result on his blog post). Here is what my testing line-up looks like:

  1. Opera 10.60
    – died when trying to call function 16382, error was “Maximum recursion depth exceeded”
  2. Google Chromium 6.0.423.0 (48614) Ubuntu
    – died when trying to call function 13059, error was “undefined”
  3. Firefox 3.6.3
    – died when trying to call function 3000, error was “too much recursion”

As you can see, Opera is leading the pack (is it really a surprise? :P).

What does this all mean?
Well, your guess is as good as mine, but to (reword and) repeat the topic question as an answer…I guess it means that Opera can out-depth other browsers in the level of function calls that they can handle.

If you look at the code then you might find it easier to understand, but basically..its like: a function calling another function…calling another function…calling another function…calling another function…(multiply that a few times)…calling another function to get to the final function. Recursion.

Is this something I will see while browsing the web?
I highly doubt you will see any depth calls to this extreme for a long time (if ever). My interpretation of this feat is that Opera has a unique ability to handle and process extreme recursion, which is a stressing task in itself.

If you’d like to test this for yourself, you can test Hallvord’s func5000.htm or you can test my func20000.htm.

If you’re testing func20000, download the zip, extract and simply open the extracted html file in your browser of choice! Share your results for other browsers if you wish! I’m curious to see the results from other browsers!

Ambiance & Radiance Skins and Speed Dial Backgrounds

While I’m waiting for Opera in Linux to improve further (its already pretty great!), I’ve decided to make a couple of adjustments to make the browser feel a little more integrated.

Get the skin!
I’ve created a simple script that extracts the installed default skin and modifies it with all in one quick run. This is very beneficial for me since I like to update my slightly edited skins by merging my modifications with the latest and greatest default skin with only a double click. 😉

The only change to the skin (thus far) is the tab bar background which now allows for a smoother appearance between the tab bar and window title.

Ambiance Skin

Ubuntu 10.04 Lucid Lynx
Install Skin (Opera 10.60+, updated 2010-12-16)

Ubuntu 10.10 Maverick Meerkat, 11.04 Natty Narwhal, 11.10 Oneiric Ocelot, 12.04 Precise Pangolin
Install Skin (Opera 10.60+, updated 2012-03-26)

Radiance Skin

Ubuntu 10.04 Lucid Lynx
Install Skin (Opera 10.60+, updated 2010-12-16)

Ubuntu 10.10 Maverick Meerkat, 11.04 Natty Narwhal
Install Skin (Opera 10.60+, updated 2010-12-16)

Previous skin versions are now available on page 3.

Get the Speed Dial backgrounds on Page 2!

I’ve moved them to page 2 since the main interest of this post is the on the skins.

Opera Tab Count in Conky (for Linux)

Have you ever wanted to keep an eye on the number of tabs that you have open in Opera? Now you can very easily!

Check Out The Script!

I came across a link a while back (sorry, I can’t remember who posted this) for a script in windows that fetches the window count from Opera’s autosave.win file (this file stores your currently open windows and tabs so it can restore them if Opera crashes or for the next time you open Opera).

If you’re using Windows, you can probably do something with this script, though I have not tested it yet.

If you’re using Linux then you can take advantage of a script that I wrote and I’ll tell you how below.

  1. Open a text editor and copy the 10 lines of script from the following page:
    http://kyleabaker.pastebin.com/HngpxisB
  2. Save this file anywhere you would like to. I saved mine as “opera-tab-count.sh” on my desktop for testing, but it should work fine from any directory.
  3. Right click on the file you created and select “Properties -> Permissions -> Execute = True“. This allows the script file to run.
  4. Now you can open up a terminal window and find out how many tabs you have open by using the following command:
    $ ./.opera-tab-count.sh

Add This To Conky!

One of the main reasons that I wrote this script is to start showing more Opera stats on my desktop via Conky which I wrote about a while back!

Opera tab count as it will appear in Conky!

If you’re interested in displaying some stats via Conky then all you have to do to get what I’ve got is:

  1. Move the “opera-tab-count.sh” file that you’ve saved from the steps above into your Home directory.
  2. Rename your “opera-tab-count.sh” file to “.opera-tab-count.sh” (notice the leading period). This makes it a hidden file in the future so it won’t waste space in your file browser unless you choose to view Hidden files via “View menu -> Show Hidden Files”.
  3. Add the following lines to your “.conkyrc” file (located in your root directory)
    ${color orange}OPERA ${hr 2}$color
    Opera currently has ${exec ./.opera-tab-count.sh} tabs open
  4. Save your “.conkyrc” file and launch Conky or wait for it to refresh with your update!

If you did everything correctly then you should see something similar to what the image above.

I do plan to add more stats to this soon and will probably post a link to my script when I’m done, so keep an eye out!

*You Mac users may be able to modify this to work with Mac as well. 😉

UPDATE 1 (2010-05-04):
If you want to use my latest update with more details, create a file named “.opera-stats.sh” that is executable and stored in your Home directory (old: with the script from here) with the script that fearphage has updated here. Now add two lines (or edit the two you added from above) to your “.conkyrc” file:
${color orange}OPERA ${hr 2}$color
${exec ./.opera-stats.sh}

..that should give you the following:

Opera Stats v0.1 in Conky

Wishlist for Opera 10.5x (in Linux)

In trying to keep with the Opera wishlist idea that was started in July 2007, I’d like to list 5 things that I would like to see completed or implemented (some for Windows and Mac as well) by the time Opera 10.5x final is reached for Linux. There’s no better time to do this then now, with the hint of an Opera 10.53 Beta 1 on the FTP servers for Linux!

  1. Improved implementation of dragging tabs around. I’m glad to see that the Opera 10.5x interface is becoming a little more stylish and slick, but some aspects seem to be left unfinished. The one I’m talking about is when you drag a tab out of the tab bar and you’re suddenly dragging an unpolished chunk from the tab bar:

    Dragging this tab back into the tab bar results in a fall-back to the old way that Opera handled moving tabs and you now see an arrow insertion point rather than a smooth transition of the tab falling into the tab bar and others making room for it…as Google Chrome does.

    If Opera can show a chunk of the tab bar to represent the fact that you’re about to detach it then they should also be able to make it more pleasing to look at as Google Chrome has done. I suggest that rather than displaying what you see in the image above, they show the new tab bar thumbnail next to the cursor when its been dragged out of a window:

    Then the transition to moving the tab into a tab bar again should be polished so the entire process is aesthetically pleasing to see.

  2. Merge the tab bar and title bar. This has been done in Windows for XP, Vista and 7 in Opera 10.5x thus far and would carry over very nicely to the Unix/Linux platform as well! I mentioned this a while back, but it still deserves a place in my wishlist.
  3. More complete Opera Link support. I think we all expected more settings to be synchronized via Opera Link when it was first introduced. Unfortunately, though, we’ve seen only stability and maintenance updates for the same feature set while other browser venders (Google and Mozilla) are now beginning to grow close to releasing similar and more complete solutions.

    I have been looking forward to being able to synchronize my complete “Preferences” settings (including opera:config), mail/chat/feed accounts (just the account information…excluding locally stored mail), as well as my stored passwords for a very long time and I know that I’m not alone.

    It would also be very nice if Opera implemented Opera Link as a user sign-in to show that users bookmarks and settings instead of merging with data that is already stored. I’ve been wanting this “messenger” style support for a while now and it looks like Mozilla Firefox could already implement this with Weave and a built-in Account Manager.

  4. Vastly improved interface for Dragonfly. In its current form, Dragonfly is very usable and offers a great number of features. The down side to Dragonfly, however, is one of inconsistency. It would be much easier to use if the interface matched Opera’s own interface much more closely.

    The speed of the interface can be frustration at times as well. With Opera’s vastly improved JavaScript engine, I expected Dragonfly to begin to feel nearly native. Instead I noticed little to no change at all. Resizing the Dragonfly window still has a very noticeable delay and sometimes doesn’t resize correctly at all.

  5. Generic support for Linux notification libraries using the FreeDesktop.org standard (as mentioned here) so file transfers and other notifications become more integrated with the system in use:

Now lets see what kind of beneficial wishlists YOU can come up with (for Windows, Mac and/or Linux)! Post a link to your “top 5 wishlist” in the comments below!

Short Opera Mini for iPhone Gallery

Opera Mini for the iPhone (also iPod touch and iPad) has already replaced Safari’s resting throne on my iPod touch shortly after it became available via the App Store early this morning.

Opera Mini's new home.

I was a little disappointed with Opera Link since it never actually synchronized my Bookmarks and my Speed Dial on Opera Mini isn’t configurable up to 12 (or even more or less than 9 for that matter). Aside from these relatively small problems, I’ve been very pleased with Opera Mini!

Probably the most important advantage for me in Opera Mini is the lightening fast back button (like in the Desktop browser). Pressing back in Safari forces a page reload which consumes a great deal of time if you use your mobile device for browsing a lot!

One thing I’m unclear on (and haven’t taken the time yet yo clarify) is the difference between a Bookmarked page and a Saved Page in Opera Mini. Saved Pages seem to load faster, which leads me to believe they may be stored locally for offline viewing, but I’m not completely sure just yet.

After installing Opera Mini, I took a few screenshots and thought I might share some of them below just to give some more exposure. Overall I’ve been rather impressed. Nice work and congratulations to the Opera Teams responsible!

Initial Welcome Page
Initial Welcome Page Scrolled Middle
Initial Welcome Page Scrolled End
Successfully Connected to Opera Link
View of My Blog: kyleabaker.com
My Opera Mini Speed Dial (only first 9 speed dial items though..of 12). Also, 99 open tabs. 😉
Fun testing tab limits (99 vertically).
Fun testing tab limits (99 horizontally).
Fun testing tab limits (100 tabs...blank).
Fun testing tab limits (100 vertically).
Fun testing tab limits (100 horizontally).
Configuration options with Saved Pages and Find in Page!

Mockup: Opera 10.5x + Ubuntu 10.04

Opera 10.5x for Linux doesn’t seem to be evolving at the rate that I had originally expected as I interpreted from several Desktop Team blog posts, but it does seem to be inching its way forward on the stability end of things.

After seeing the improvements that were made to Opera 10.5 for tab bar in Windows XP I thought anything was possible. I’ve tried to recapture this implementation in what I think it would look like in Ubuntu if implemented similarly.

This is a very slick and clean approach much like Windows XP, Vista and 7 are now with Opera.
This is an example of how Opera would look in a default Ubuntu 10.04 since the window controls are on the left.

While the the images above are both simple and crude mockups, they do show that the same implementation would work well into the Unix and Linux platforms.

Obviously the first image (window controls on the right, like Microsoft Windows) is the most elegant of the two. The second image (window controls on the left, like Mac) is functional, but not the most aesthetically pleasing solution.

One alternative that I can easily fathom is simply detecting the “window control button orientation” and in this case rendering the Opera-menu on the right side of the title bar with the trash can icon to the immediate left. In more basic terms, swap the window controls and the Opera-menu in the first image and there you have it.

An example of how the title bar can still look very clean when switching the window controls and Opera-menu.

Theres no reason that I can think of that the Opera-menu should be sentenced to spend the rest of its life on the left side of the window. The main menu buttons in Internet Explorer and Google Chrome, while not located in the title bar, are located on the right side of the browser window.

Just some food for thought. Hopefully I jar some ideals and better alternatives.

EDIT: Went back and made the third mockup since explaining it might not have been clear before. Enjoy.

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. 😉