Opera Link

All the hottest Opera Link info

Subscribe to RSS feed

Sticky post

All you need for using the Opera Link API

, , , ...

We've noticed some of the introductory articles to using the Opera Link API haven't been too exposed, even though most of them are linked to each other. While we're updating the content and making sure everything is consistent, make sure you check our documentation thoroughly.

Core API documentation:


Related articles:


Client libraries:


Third party client libraries written by others:


Other interesting pieces of code you may want to have a look at:

Security of synchronized passwords with Opera Link

, , , ...

After many months of work we finally released the first Opera build with password manager synchronisation support, yay! It has possibly been the most consistently requested feature for Opera Link since we released the first beta in 2007, and it's now part of Opera 11.50 alpha.

Some of you have, understandably, asked about security details of how we're storing the passwords. You may have noticed that during these months we have been changing the login pages of all of our public websites to make sure they all use HTTPS. This has been part of an ongoing process (which includes internal changes you can't see!) to tighten security to make sure your Opera Account remains safe. Why is this so important? It is important because all your password manager data is encrypted using your Opera Account password.

That was a bit of a simplification, so if you're curious, this is how it works:
  • When you send passwords to Opera Link for the first time, Opera generates a long, strong, random encryption key for your data.
  • This encryption key is used to encrypt, on the client side, all data you send to the Link servers.
  • The encryption key is also sent to the servers, but encrypted with your Opera Account password (this is why you must keep it safe!)
  • When other installations of Opera connect to the Link servers, they receive both the encrypted encryption key and the password manager data. To be able to decrypt the password manager data, they have to decrypt the encryption key first, which they can because they have your Opera Account password (needed to login to Opera Link in the first place).

What does this mean for your password security? It means that Opera has theoretical access to your data, but in practical terms no single department at Opera does, because your account password is never sent to the Link servers, but to Auth, our authentication service. As it is never stored in plain text anywhere, it also means that no one that only has access to the data (say, database backups), can get your passwords except by brute force. Even if the attacker has data for both Auth and Link. And then again it's not as easy as it sounds, because we use random salts in every chunk of information we store to avoid rainbow table attacks.

In conclusion, you have to keep in mind at all times that your Opera Account is the key to all the passwords you have saved in Opera Link, meaning:

  1. It's important that you choose a good password for your Opera Account. In fact, we recommend you change your password before you start saving passwords in Opera Link. You can change it by clicking on the tool icon on the My Opera top bar -> Account -> Privacy & password.
  2. Never, ever give your Opera Account password to anyone. Not that you should do that with any other password, but this is especially important as it gives access to all your passwords.


EDIT: clarified a bit the part about Auth.

Contributions, how we love them

First we've had Martin Rauscher with a WP7 application, released very quickly, just after the initial launch of the API. It's a great extension of Opera Link and a prime example of what the API is capable to do for you. Recently we've worked around some tricky issues with his help and a new version of his application is already on the way.

Check it out here:
http://my.opera.com/Hades32/blog/2010/11/08/opera-link-for-wp7

Meanwhile, there's a new library to help you use the API in Javascript, proudly presented by "Chaos in a Can" Joel. It's still a work in progress, so maybe you can help him out? If you thought that a JS library is all you need to play with the Opera Link API, look no further than:
http://my.opera.com/spadija/blog/2011/04/25/opera-link-library-preview

Expanding the potential

,

Recently, we launched the Beta of an open API for accessing the data stored in Opera Link. This is a major step for the Opera Link service, as it enables anyone to communicate with it, using widely-adopted formats and standards.

With the help of our first users we've managed to quickly test the API for any potential issues and correct them. The next step was to continue adding more features, getting closer to what we'd like the first official release to be.

Therefore, we've prepared an update for the service, which adds more potential applications. We've included:

  • Search Engines
  • URL Filter
  • JSON and XML encoded input
  • A method for importing structured data
  • Basic ETag support
  • A number of newly discovered issues have been fixed

The details about the usage of the API can always be found in the complete Link API reference documentation.

The new data types add some attractive new possibilities for integrating your Opera installations with external services. With the new input encodings, using the API can be further simplified in many cases. They also facilitate expanding the API in new ways, as we've already done with the import method, which allows you to directly import large amounts of data into Opera Link, with a single request.

link horizontal line

We're also working on providing more examples and helper libraries and utilities for anyone that wishes to use the API. The getting started article is a good introduction if you're just getting started.

To help you use the API, we're working on helper libraries in different languages. You can find them on our GitHub repository. You'll find Python, Perl and Java libraries to help you access the service. You can also find implementations of simple clients, like the Note synchronisation application for Android and the Xmarks import tool. They'll highlight the use of OAuth for authentication and different parts of the Opera Link API. The recent additions to the API are featured in some of the examples there. All of the provided code is under the BSD License.

We intend to provide you with frequent information on this blog in the future, revealing the latest changes to the service and hopefully highlighting good examples of use of the API. (We're looking forward to checking out that WP7 client we recently read about).

link horizontal line

Update: Take a look at our feedback forum if you've got questions or problems with using the API. We'll also provide informations of any bugs fixed there.

Positioned for Growth

, , , ...

Have you ever desperately looked for a Web site you found earlier, but couldn't find it again because of its long URL, or the search terms you used?

Well, with Opera Link you never again have to remember the URL to a site, or its weird search terms. Opera Link makes your bookmarks available wherever you go: at work, at home, on your phone, or even on the road. It synchronizes your bookmarks from your Mac or PC, from Mini on your phone, so once your stuff has been synched — access it anywhere from the interface powered by My Opera.

To provide this service there has been one developer in particular who has lived and breathed Opera Link for the past year. His name is Anton, goes by the nick "Atilla", and works in the Information Systems department here at Opera. He is a versatile developer, writing a lot of cool stuff, but his main focus has (and will most likely be) the Opera Link project. Besides developing, he writes about good stuff in his blog. We've had a chat with Anton why he feels it's such an important service to provide and what he feels are the advantages.

link horizontal line

anton tsigularov, opera link developer

So, who are you, and what do you do at Opera?

My name is Anton, I've gone by the nick Atilla for ages and I'm working in Information Systems. We develop many different services, but my main focus is on the Opera Link project. I also sometimes roam the forums, looking for users to annoy. p

Could you please explain (without the PR—stuff) what Opera Link is and why it is an important service?

Opera Link is a vision that is just beginning to take shape. A vision of the unified experience that anyone should be providing on the web - something that Opera has always been about. What I'd like to see accomplished is a lot more natural, unrestricted usage of the web. Opera Link is going to be a part of that - by providing you your own familiar environment. You should have access to everything you like and you're used to, without regard to what device you're using or where in the world you are.

I am not a turtle - I don't carry my home on my back anywhere I go. In the same way I don't want to have to bother about taking what's important for me to use the Internet the way I like it - I just want it to be there. Fully accessible whenever I need it.

link horizontal line

What has been the biggest challenge with developing Opera Link?

I'd say the trickiest parts have always been deciding what exactly we want to accomplish. How to make the whole process as seamless as possible, while it'd still satisfy the requirements of hundreds of thousands of people, and eventually millions. smile Which brings us to the second problem, which is the major task for us - the server monkeys. Making everything reliably and consistently working for swarms of users, with no downtime or performance issues. Although that's a pretty well-covered ground, in reality there's just so very few web services that manage to pull that off. We should be at least as good as them.

Can you explain a bit how the technology works (for the techy savvy peeps out there)?

We've commented on that before, in blogs, forums and release announcements. You could look at Opera Link as a fairly large distributed system, that tries to keep the state of every node consistent. It does use a centralized server, that is both the primary communication hub and online storage. Why we chose that architecture has many reasons - we provide online access to the service, we require no setup time barring activating your account, we try to accomplish as high consistent uptime as possible. Every part of this service has been designed with high-reliability in mind. Truth to be told, we've deliberately tried to batter down the system, doing things that are a big no-no on anyone's book and so far we've had very little success in taking it down. There's a lot that runs on the Opera Link servers that many people don't think about. But that's the point - we don't want anyone to have to worry about such things.

Opera Link doesn't pass files around or anything like that. It sends only what it needs to send, as soon as it happens. If you leave your systems logged on, anything you do in one place happens on every connected device, without you having to worry about it.

link horizontal line

Why should people use Opera Link?

Because they can. p No - really, I think it is harder to find reasons not to use it. Everyone has their different, personal ways of using the web - their interests, preferences and habits. For other applications those some times matter very much - why shouldn't they matter for the web? It is convenience and comfort we want to provide - for you, for us, no matter where you need access to the web. Why leave your way of doing things when you go out?

Who should use Opera Link?

Anyone that wants ease of use and comfort for his browsing experience. No matter where and how you browse the web. And the more active you are - the better the experience gets.

How do I use it?

We're trying to make it as simple to use as possible. If you're just starting, you'll have to spend a small amount of time to set up an account for yourself, but that process is integrated in the browser. You'll get a choice about the items you want to synchronize or not as well. At that point you simply click "Enable" and that's about it. The data will be sent to the server and from then on - to any device you use with Opera Link. Ideally that's all you'll ever have to do.

At that point you're getting the ability to see and manipulate your data online. For that purpose there's an interface on our community website - my.opera. That way you're not limited in your choice of device, if it isn't Opera Link-enabled yet.

The other really interesting thing you can do is to use Opera Link with Opera Mini, which is where things get really comfortable. You get the ability to manipulate your personal data from a lot richer interface, on a more powerful device and have it available on your mobile phone instantaneously. Changes made on the Desktop or the online interface literally appear in front of your eyes on Mini. The first time you use Opera Link on Opera Mini, a special folder will pop-up in your bookmark list, labelled "Opera Mini". Everything you put in there is what your Opera Mini bookmark list will contain. But you still have access to every item on your bookmark list, no matter how big it is, trough "More Bookmarks" on your Opera Mini. That way we keep happy both the users with limited phones and the bookmark-hungry power users.

What do you think will happen with Opera Link in the future?

I certainly hope it'll build up to shape the vision I'm talking about. There's so much we can do with it and I'm sure it'll grow up to become one of the coolest features we've developed. We're already working on quite nice and useful new parts - we're still in beta after all. But if we can get 100k users in a testing phase, I can only imagine what will happen when we provide all that we have planned. Good days are to come, I'm sure.

link horizontal line

What's on your speed-dial?

Right now, google, my.opera and a set of ever-changing websites. Honestly speaking, I haven't had the ability to pick 9 consistent things to put there and keep for a while. Yet. I've very active and erratic browsing habits.

Favorite bookmarks?

They used to be to the forum of The High Guard - my WoW raiding community and all kind of related websites, hehe. Right now they've shifted a bit to a few webcomics - Ctrl-Alt-Del, The Order of The Stick, Least I Could Do - stuff like that.

Favorite movie?

Oh man, they're so many. I've seen tons and tons of movies. If I was under gunpoint and pressed to really chose I'd go for "Snatch" probably. One of the most truly genuine and hilarious things I've seen.

So, cheers to everyone that tried out the alphas, the betas, the weekly builds and official releases. To everyone that gave their ideas (oh, worry not they're not wasted or forgotten), to everyone that complained, everyone that posted a bug report, everyone that trusted me a bookmarks file for debugging purposes, and everyone that signed up to give it a shot at least once. That's all of us - the 105,000 users right now.

Kudos to Oleg Melnychuk for illustrations! up