On Tue, 2008-04-01 at 18:54 +0200, Manuel Rego Casasnovas wrote: > Hello, > > I've compiled Online Desktop in two computers and now I'm testing it. > > Firstly I can start an Online Desktop session in the two computers at > the same time, I don't know if it's right or no. Yes, this is supposed to work fine. Eventually you might have many devices (handhelds, phones, even), all connected to the same online desktop account. > Moreover I can configure my Big Board as I want, adding some widgets. > However if a close my session an start it in other computer I don't see > any change, I think that now anything is stored "online", I think that > the configuration of my Big Board is stored local. Yes, the bigboard configuration is stored locally for now, and we only sync a small set of GConf preferences like backgrounds and window manager settings. It's easy to extend the GConf sync to cover other keys, but we don't try to sync all of GConf since that could lead to unexpected results... not everything in GConf really is a user preference that would make sense on another computer. Syncing the bigboard settings would be a good advertisement of the GConf sync feature so we should do it. If we add this, we do need to make sure that the bigboard is robust if there is a widget in GConf but not visible. > Really I don't know what is the exactly purpose of Online Desktop. My > idea will be something like store information on Online Desktop server > and independent the computer where I start a session, I will have the > same configuration (for example, the same Big Board configuration). The online desktop is can be hard explain because it's a whole lot of things that don't always seem related at first glance. They all derive from the thought experiment "What would the desktop look like if designed for the world when you are normally connected to the internet and occasionally disconnected." That leads to a lot of different things: - We should store the user's settings, addressbook, accounts, passwords, bookmarks, and so forth in an online service, so that they have them available on any device, even ones they've never logged into before, and continually backed up. - We should integrate with the online services that the user uses and integrate them into the desktop. - Since we are connected, we can learn about things that are happening *without the user's interaction*. This means that we need a way to show the user stuff that is changing without getting in their way or obscuring their work: the side bar (bigboard). - Their should be platform facilities that make it easy to write applications that get notifications about all sorts of continually changing information: the desktop data model. - The desktop platform should include account management, password management, and unified HTTP so that writing apps that talk to online services is really easy and the user gets a seamless, consistent experience. > On the other hand, if I would like to develop an application that stores > something on Online Desktop server, how I can do it? Exists any API that > provides this functionality? This is something we're still developing and we'd love to work with some external people to figure out the best way of doing this. The most well developed way of storing things on the server right now is to extend the online.gnome.org database schema to cover the new types of data, and then use the data model to: - Retrieve this data - Get notifications of changes - Make changes to the data This is basically how all of the current data management is handled: your contact list, your music history, your accounts, and so forth, but it is certainly requires a strong commitment to hacking on the online.gnome.org server (including knowledge of Java, and SQL.) So it probably isn't going to be the only way to do things. Other things that have been discussed: - Store your data in GConf, configure the online desktop to sync it. Possible now, but not appropriate for everything. - Add some sort of key value pair mechanism. Easy to do, not clear if it's better than GConf. - Allow external web services to provide data to the data model. - Just write your service as a separate service and use the account management part of the online desktop to store a reference. Possible now, though it would be easier if we allowed people to integrate with the online.gnome.org user database. > For example, if I like to modify a RSS reader in order that it knows > when an Online Desktop session is started and then gives my RSS from a > Server and mark as read these feeds as read local and on my server. And > later I started my Online Desktop session in other computer and I start > my RSS reader, the feeds marked as read, keep marked as read. Is it > possible? How can I do it? For RSS feeds in particular, the best way of working on this might be to enhance the "Mugshot stacker" functionality to make it a better feed reader. There are lots things to do there: - Show more than the first 256 characters of feeds - Handle embedded images (this one is Hard to do well, but we could do a simple job, I think) - Allow subscription to feeds directly for one user account - Combine quipping across all copies of the same feed entry. But that's probably missing the point of your example :-). If the online.gnome.org servers didn't already include a way of doing feed reading, I think that you'd want to do it either as an external service, or as a direct extension to the server code. Feeds don't make sense to me as something to do in GConf or with key-value pairs. > Finally I don't know if it's the goal of Online Desktop, or it's very > far from it. I hope that someone can help me with some explanation. I hope the notes above clear things up a bit. I know it's a bit confusing to get it all sorted out, even for me sometimes... :-) - Owen
Attachment:
signature.asc
Description: This is a digitally signed message part