GNOME Summary - 2004-07-18 - 2004-07-24

Table of Contents

  1. Interview with Alex Larson by Jorge Castro
  2. Instant Messenger Round Up

1. Interview with Alex Larson by Jorge Castro

Jorge "whiprush" Castro of ArsLinux fame has written an interview with Alex, the maintainer of gnome-vfs on whats currently going on with gnome-vfs and what we could expect in the future.

Jorge: You recently announced that you have completed DNS-SD support for Nautilus. Can you explain what this means to the typical user? Does this mean that interoperability between GNOME and Mac OSX will be easier?

Alex: At the core, DNS-SD is a method to discover network services of any kind. So, imagine that everywhere you currently have to enter information about some network service (like ip number, hostname or port) instead you get a list with descriptive names that you can choose from.

The work I've done is mainly in libraries so that it is possible for other applications to use this feature. However, it is also used by Nautilus in the "Network" location. Nautilus discovers webdav and ftp servers that are published using DNS-SD and shows links to these, so you can easily find shares in your network.

Imagine being at a conference, and you need to copy a file from, say havocs laptop. Well, just bring up the Network location and click on the "Havocs shared files" icon. This requires that the filesharing server havoc runs publishes itself using DNS-SD, which few Linux servers currently do (although the ones in Mac OSX does), but I hope that this will soon change. For instance, it would be quite easy to start a small server in the Gnome session that publishes itself using DNS-SD and exports $HOME/Shared using webdav. This way everyone could easily access your shared directory while you are logged in.

What I like best about DNS-SD is that it uses existing infrastructure (DNS, the domain name system) and that it works both for small decentralized network setups and for large centralized network setups. For local network it uses a form of DNS that uses multicasting, essentially you ask for a type of service on the local network link and every service of that type responds with their piece of information. This is essentially the zeroconf part of DNS-SD, just plug in a printer on the network and select it in the printer dialog.

However, using the same system you can also browse for services using the normal DNS servers. The system just looks at the domain name part of the machine hostname and asks the DNS server for services in that domain. These servers are maintained by the system administrator, and is an excellent way to configure organization-wide services like the company intranet or network printers. I think its very important that the same system is used both for link-local and global services, because I think the community will fall in love with the link-local feature and add DNS-SD support to their applications. Since the systems are the same this will also mean support for non-local DNS-SD, which is very nice for companies, universities and large organizations.

Now we just need applications to add support for DNS-SD. I can't do all of that myself, so I need help from the community on this. However, I have some ideas of that would be cool to support:

* run a small webdav server in the session to allow you to easily share files

* discovered websites should be showed in epiphany. This is a very nice way to automatically discover company intranets and other web applications. It also lets you discover link-local webservers, e.g. other peoples webservers on a conferance.

* discover http proxy servers in epiphany

* discover smtp/pop/imap servers in evolution

* discover web calendars in evolution

* discover cvs servers in a development environment * discover nfs servers/shares

* discover itunes exports in rhythmbox

* ichat-like instant messaging to people on the local network

* printer discovery in print dialog

* gnomemeeting could show local people running gnomemeeting and allow you to easily call them.

Jorge: Is the recently released Apple Rendezvous SDK of any help to GNOME developers? How do you see GNOME applications using this technology as it develops?

Alex: The Apple Rendezvous SDK was not actually recently released. The recent announcement was just for a new version of it. The initial release was a long time ago:

http://www.eweek.com/article2/0,1759,558330,00.asp

The Apple code is released under the APSL (Apple Public Source License) version 2.0. This license is considered free software by the FSF, but is not compatible with the GPL license (see http://www.gnu.org/philosophy/apsl.html). This means that we can't generally use this code from Gnome applications (which are generally GPL).

The howl project (http://www.porchdogsoft.com/products/howl/) has the goal of producing a version of Rendezvous that works on Linux and has a BSD style license. It currently uses some of the Apple code, but the plan is to eventually replace that. Howl can be build (with a patch that I posted) so that the Apple code is only linked with the mDNSResponder server process, which means that the library is GPL compatible, and Gnome applications can use it.

Jorge: Are there other new features to Nautilus for 2.8 that are of interest to end users?

Alex: There are really no other large features, for 2.8 we're trying to focus on polishing the stuff we added in 2.6, since we added quite a lot in 2.6. I'm also working on making the various backends in gnome-vfs work better and be more stable.

There are some small features in cvs that might be interesting though:

* Visible preference that allows you to disable spatial mode

* tabs in the properties dialog that lets you edit desktop file links and launchers

* a Close all spatial windows menu item

* Nicer progress dialogs when copying files

* Show hidden files is now a per-window setting and is stored per-folder in spatial mode

Also, hopefully we will replace the old mime system with a new one as described at http://www.gnome.org/~jrb/files/mime/. If we can make this happen that will be really nice, because that currently the weakest point of nautilus in my opinion.

Jorge: How satisfied are you with the current state of Nautilus? How about long term? Do you have any vision for 2.10 and subsequent releases of > where you want to be?

Alex: This is a hard question. In general its very hard to be satisfied with your project as a developer, because all you see and focus on is the parts that doesn't work well. I mean, in my daily work I almost only look at bug reports, user complaints, and other problems. I hardly ever see the parts that work well.

However, comparing the current state of nautilus to say, the 1.x versions (which was the ones I started working with) I must say that I'm pretty satisfied with where we have gotten. The performance work has paid off pretty well, and we're now much more of a file manager instead of some sort of generic show-everything shell.

My long term goal with Nautilus is to make it an integrated part of the desktop in such a way that you don't think of it as a separate application, but rather the way you handle files in the desktop. I think we're getting incrementally closer to this, and my hope is that eventually Nautilus will become pretty stable, do most things most people need and won't need a lot of maintainance. In the big scheme of things the file manager isn't really meant to be exciting and cool.

We don't have any solid plans for 2.10 yet, but it will likely involve integrating something like the eog/gthumb collection view into Nautilus, so that they can work better and really feel like part of Nautilus.

Jorge: Can you tell us about any other the other cool things you're working on for the GNOME desktop?

Alex: I'm not really working on anything cool right now. And soon feature freeze is here anyway, so we'll start focusing on bug fixing and stability instead of cool things.

2. Instant Messenger Round Up

Link writes about the current state of Instant Messenger projects in GNOME.

http://home.subpop.net/~link/articles/IM.xhtml

Users · Developers · ViewCVS · FTP · Bugzilla · Software Map · Contact