Archive for February, 2010

Ubuntu One Internals: Notes

Sunday, February 28th, 2010

Sometimes a lot of confusion about the product is caused by the lack of understanding of the internals. Today I am going to talk about Ubuntu One Notes.

At this very moment (2010-02-28) notes in UbuntuOne are not stable. You can read Notes update to find out more. The reasons are already identified and the team is working to fix them. You will be able to sync Tomboy notes properly very soon.

However, I'd like to give some information on where Notes are actually located in Ubuntu One.

The answer is: CouchDB.

If you don't believe me, use the following script to open your favorite browser and navigate to your very own local CouchDB installation, i.e. your desktop-couch.

import gobject
import dbus,os,gnomekeyring

gobject.set_application_name("couchdb-futon login")

items = gnomekeyring.find_items_sync(
        { "desktopcouch": "basic" })

secret = items[0].secret

bus = dbus.SessionBus()
couchDb = bus.get_object('org.desktopcouch.CouchDB', '/')
port = couchDb.getPort()

url="http://{0}@localhost:{1}/_utils".format(secret, port)

os.system("xdg-open {0}".format(url))

This is Futon, Apache CouchDB web interface,

While your set of databases may be different but you will have the database named 'notes'.

Let's see what is inside:

Notes. Righ. The same notes you are editing in the web ui and syncing via your Tomboy instances.

Q: But... I have to set up notes sync in Tomboy separately, what do they do on my machine outside of Tomboy?

A: I had this question as well. It seems a little bit strange to have the notes syncing done first via Tomboy to U1 Servers and then CouchDB replication brings the notes back to your machine. On a second thought there is benefit everywhere.

First of all, other software does not need to implement Tomboy sync protocol (snowy), it can simply connect to your desktopcouch instance and e.g. provide an alternative interface for the notes or index them for quick access. The possibilities are endless but there has to be some starting point. By storing the notes in CouchDB we automatically enable the software to sync the data between various computers, even without the explicit support for such activity. Once the data is in your desktopcouch it is automatically replicated to Ubuntu One servers.
So Tomboy and GNote may start saving the documents to CouchDB database and they will not need to have a separate sync procedure... at least on Ubuntu :).

If you are running pretty recent gwibber then you are probably experiencing the glory of storing configuration in couchdb. Upon replication all the information about all your accounts and settings will be available for gwibber running on another computer you've connected to UbuntuOne. As a bonus it also stores the messages themselves so you can read the cached tweets even when you are offline.

If you are wondering where your notes are stored on Ubuntu One server the answer is the same - CouchDB. Every UbuntuOne user receives their very own couchdb space. For those who want to actually touch Ubuntu One couchdb servers, e.g. to delete your databases or to debug possible problems with couchdb, Stuart Langridge (aquarius) has created such utility. Look for it at desktopcouch/Documentation/Troubleshooting.

I hope that this made things a little bit more clear. If not, feel free to comment.

You can now find me in #ubuntuone channel on FreeNode. I had to use alternative nickname due to nick collision and I am 'rye' there.

Can you hear the music?

Saturday, February 27th, 2010

Well probably not yet, but the Ubuntu One Music Store is right around the corner.

The team has made great progress since we announced this new Ubuntu feature just a few short months ago at UDSLucid in Dallas. That session was very important for a couple of reasons. It confirmed the community’s interest in having easy access to popular music from within an Ubuntu application. It was also an excellent opportunity to learn some of the community’s concerns and desires. We think we’ve built a music store that everyone will enjoy using at the launch of Ubuntu 10.04 and as it evolves in the future.

There have been some great discussions in blogs and blog comments since bits of the store started appearing in Lucid Lynx Alphas. Now that Lucid Lynx has just passed the Alpha 3 milestone, I thought it was a good time to give everyone a quick update.

The store is currently being thoroughly tested by a small group of users. After we fix some of the initial bugs, we’ll expand testing¬†to a larger group. This should be in the next few weeks. In the meantime, we’ve prepared an FAQ for everyone to learn more about the upcoming music store. Additional information about expanded testing will be posted here so follow this blog or our posts on and twitter for more information.

Notes update

Thursday, February 25th, 2010

We’re currently experiencing some issues related to our notes service. The main issues are related to creating and editing notes through the website interface.

In order to prevent further frustration, we will temporarily make the notes website interface read-only on Friday morning until the fixes are deployed. This temporary change will not affect notes synchronization through desktop applications like Tomboy. We apologize for any inconvenience this may cause you, and we are doing our best to get the bugs coded, tested, and released as soon as possible. You can track our progress by monitoring the following bugs in Launchpad:

Thank you for your patience and support! If you have any questions, please feel free to leave a comment here or hop on the #ubuntuone channel on Freenode IRC to chat.

Shang Wu: Quick Tips on UbuntuOne

Tuesday, February 16th, 2010

Yesterday, I was having some issue syncing the file to UbuntuOne. It turns out to be a disk space issue in the end, but during the process I learned couple tricks that is quite useful for troubleshooting UbuntuOne. So, I thought someone else might be interested in this as well:

UbuntuOne lesson 101:

To enable debug logging you need to:

1) Quit syncdaemon

killall ubuntuone-syncdaemon

2) Append the following lines in the ~/.config/ubuntuone/syncdaemon.conf


level = DEBUG

3) Then, the logging can be found in ~/.cache/ubuntuone/log/syncdaemon.log

UbuntuOne lesson 102:

Using the following command to see the current file transfering status:

u1sdtool –current-transfers

UbuntuOne lesson 103:

To request a “rescan” on a specific folder

u1sdtool –refresh /full/path/to/folder