Google just told the applicants for this year’s Summer of Code whether they were accepted! I’ve put up GNOME’s list of accepted projects. Many congratulations to everyone we accepted as part of GNOME, and commiserations to students we had to turn down — we’d love to keep working with you outside of the formal SoC.

GNOME had 181 submissions in total, and it was a pleasure to read all of them. We got that down to a shortlist of 40, and then had to try to go from there to our accepted list of 20 via votes, meetings, and long e-mail threads.

Since the list’s going to be new to everyone outside SoC, I thought I’d enthuse about a couple of the projects that I’m going to be tracking excitedly over the summer. (With apologies if I end up misrepresenting anyone’s project!)

Generic user-to-user connection interface for collaborative applications using telepathy

Telepathy is a freedesktop.org project working on a unified interface to different types of communication (IM, VoIP, etc), and this proposal from Mads Chr. Olesen aims to make direct connections with your Telepathy contacts possible over an IM layer. For example, if I want to work on a document with a friend using the collaborative editor Gobby, we need a server to host the session. What if we’re both behind different NAT networks, as most people are? Well, then, we can’t. Same for VNC. The proposal uses the Jabber stream extensions to tunnel application data, meaning that contacts can be treated as “first-class objects” for establishing connections.

(If you’re using a different IM protocol and it also supports arbitrary streams, that’s fine too; the whole point of the project would be that application developers and users don’t need to know exactly how the data is getting tunnelled unless they care.)

The reason I like this proposal so much is that it reminds me of the way this interview with Nat talks about how good programmers add a dose of empathy to their code. Why should the user have to care how they connect with one of their contacts, or what NAT is, or what IP address each of them has? This is totally user-centric programming.

Improving Emblems in GNOME

This is a proposal by James Barrett. The title doesn’t tell the whole story — as well as emblems, think tags. Everywhere. James is going to integrate nautilus and leaftag, and gives some excellent use cases: using a “backup” tag to have those files/folders backed up automatically, viewing “virtual folders” of each tag in nautilus, being able to quickly bring up all your photos with a particular friend in after tagging them. Emblems are going to be the visual representation of a tag, and will be integrated with nautilus/the panel/the file chooser.

People are getting comfortable with the idea of tags from experiences with Flickr and YouTube, and I think a well-designed use of tags for their files as well is going to be a killer feature. This is exactly where we can innovate far past Windows and OS X, and I’m pleased to say I got the same feeling from many of the proposals.

Bluetooth Manager

Matthew Garrett works on the kernel, GTK2 apps and everything inbetween, and he’s going to spend the summer tidying up Bluetooth; making sure that you can pair with keyboards, headsets and phones inside GNOME and have things Just Work, and ideally by having HAL do the heavy lifting so that you don’t need root to do so. Our bluetooth tools are in need of an overhaul, and this is valuable work.

Improving nautilus login performance & ease of profiling

Phillip Ezolt is a published expert in profiling and optimisation, and wants to help us out both with profiling nautilus and providing hooks to aid profiling in the future. Phillip’s in grad school working on visualisation at the moment, and knowing how to usefully represent profile data graphically is a problem we’ve only recently started trying to solve. He’s interested in getting involved with Linux/GNOME in the long-term, and I’m looking forward to everything we have to teach and learn from him; it seems like hardcore profiling skills are something only a few of us have. I liked this proposal so much that I offered to mentor it.

Thanks to Google for their sponsorship and the insane amount of work it must take to coordinate all this, to Behdad and Vincent for heading up GNOME’s involvement, and welcome to all our new SoCers!