mardi, juillet 7 2009

Let's make GNOME a collaborative desktop

This morning, as planned, I gave my talk: "Let's make GNOME a collaborative desktop". I think it did pretty well. The audience (I'd say around 50 people) seems really interested and excited about the new features I presented. I uploaded the slides and added them to the list of Telepathy related talks.

I suggest you to take a look at them if you are interested about Telepathy/Collaboration integration in the GNOME desktop and/or are working on one of the following project: Epiphany, Tomboy/Gnote, Evince, Abiword, the clock applet... I suggested (with mockups!) some ideas about how Telepathy could bring some cool new features to your app.

If you are interested in implementing one of these days ideas, we'll be happy to help you on our IRC channel or mailing list.

lundi, juillet 6 2009

Gran Canaria Desktop Summit

Since Saturday, I'm in Grand Canaria attending the Desktop Summit with almost all the Collabora Gang.

I'll give a talk tomorrow (Tuesday 7th) at 11:00: "Let's make GNOME a collaborative desktop". I'll talk about Telepathy and how it could be used in GNOME to bring new cool features to our users. I'll try to focus as much as possible on concrete use cases and be less technical as possible. So don't hesitate to come if you are interested about improving GNOME's user experience, collaboration or just want to see crappy mockups[1]. :-)

Notes

[1] Yeah, I suck at Gimp

samedi, mars 21 2009

Good GNOME news

Lot of great GNOME related news this week!

Release of GNOME 2.26

As planned, GNOME 2.26 has been released Wednesday. By running Jaunty I'm already using it and didn't find anything awful to complain about for now.

On the Empathy front, I think we did a pretty good job with this release which should bring some nice new features to users:

  • As already announced the Audio/Video support received a lot of love. Theora should hopefully increase the support "out of the box" on most distros. Be sure to have at least telepathy-gabble 0.7.22 installed if you want to use audio/video in Jabber.
  • Empathy is now able to send and receives files. The only released connection manager implementing it at the moment is Salut 0.3.8 (XMPP link-local) but don't worry, Jabber support is coming! My implementation in Gabble is basically ready and my branches are waiting for review so it should be released pretty soon.
  • Empathy's dispatcher has been completely rewritten. That should improve reliabilty and allowed us to improve the logger to ensure to log messages as soon as possible (and so avoid to lose it if something goes wrong).
  • This new dispatcher can now dipatch new style tubes. The API is still a draft but I hope we'll undraft it in the next weeks.
  • Chat rooms invitiations are now supported. You can easily invite contacts to join a room and receive a nice notification when you are invited to join one.
  • The accounts dialog now have an "Import accounts" button you can use to import your existing accounts from Pidgin. Thanks to its modular design more applications should be supported in futur versions. A Gajim backend should be merged soon.
  • We also implemented sound notifications using libcanberra. Be sure to have a sound theme installed if you want to use them.
  • Libnotify is also supported now so you can receive a nice notification bubble when you receive a new message, an incoming call, etc.
  • Few months ago Matthew did a very complete usability study of Empathy's UI. We continued to fix the problems he raised and polish our user interface in general. I hope he'll be able to update his review at some point to give us more feedback on the latest versions.
  • Thanks to the great work of Milo Casagrande the user documentation received a lot of love.
  • And of course lot of various bugs has been fixed.

Empathy 2.26.0 (and the needed pieces of the Telepathy stack) is already available in Ubuntu Jaunty. If you are still using Intrepid, you can use the Telepathy PPA to get backported packages from Jaunty (but could have some problems with audio/video due to older GStreamer versions). The 2.26.0 package should reach Debian Sid soonish as well.

As usual, if you experience problem, don't be shine and increase a bit more our bug counts :)

Git migration

The Git migration has finally be announced! Almost all the Empathy developement is already done through Git so that's obvioulsy a great news for us. I think that's also the right decision as that's the tool used by most the developers and external components of the GNOME stack (GStreamer, Telepathy, PulseAudio, Avahi, Cairo...).

Thanks to the release and Git migration teams for managing that.

GNOME Summer of Code

This year again, GNOME has been accepted as an organization for the Google's Summer of Code and students have already started to think about nice ideas of project. Feel free to contact us by mail or IRC (#telepathy@FreeNode) if you are interested to work on Telepathy and/or its integration in the GNOME desktop.

samedi, janvier 24 2009

Desktop integration of the Abiword collaboration

As announced by Rob, I recently started to hack an Abicollab backend using Telepathy tubes. It's based on the existing Write backend to ensure interoperability with Sugar.

See this screencast where an Abiword document is shared to participants who are using Abiword and Write.

My code is quiet rude and still need a lot of cleaning and polishing but that's a big first step. Hopefully, the futur improvements in Telepathy and Abicollab would make possible a rocking desktop integration of the collaboration features in the near futur!

lundi, décembre 22 2008

refdbg with GLib 2.18

Dear lazy web,

Do you have any idea how to use the awesome refdbg with GLib 2.18? I use to rebuild my libglib2.0-0 package with

--enable-debug=yes --disable-visibility

and it worked fine, but since I switched to Ubuntu Intrepid (and so GLib 2.18) I have this error when trying to use it:

(process:6902): RefDbg-CRITICAL **: LD_PRELOAD function override not working. Need to build glib with --disable-visibility? (See README), aborting..

Thanks!

dimanche, décembre 21 2008

Elisa Media Center RTBF plugin

I just made the first public announce of my Elisa RTBF plugin so now is probably a good time to blog about it.

Dear Elisa friends,

I'm happy to announce the first release of the RTBF plugin marked as stable. That means you can easily install it from Elisa's plugins list.

RTBF or Radio télévision belge de la communauté française is the national broadcasting organisation of the government of the French-speaking southern part of Belgium.

This plugin adds support for easy access to RTBF's radio streams and TV news.

This is the perfect plugin if - You are Belgian and want to easily watch the news and listen radio. - You'd like to improve your French by listening cool music (Pure FM is quite nice). - You want to make fun of your Belgian friends by laughing of our incapability to have a gouvernement. - You are an Elisa plugin freak and want to install every possible plugin. :)

Source code, egg file and bug reports are available on launchpad: https://launchpad.net/elisa-plugin-rtbf

Elisa developers are doing a great job in creating a rocking open media center and opening it to external contributions. The last days have seen the arrival of new cool plugins and more should follow soon. Elisa is progressing really fast (there is a new release every Monday) so I strongly suggest you to try a recent version. And if you have a nice idea of plugin, don't hesitate to write it; plugin's design is not hard and the Elisa team is very nice and helpful.

lundi, février 18 2008

Empathy IRC account configuration

Yesterday Xavier merged my Empathy irc-account branch. You can now very easily configure IRC accounts using empathy-accounts. We ship a XML file containing lot of well know IRC networks so users don't have to care about server address, port, etc.

This is the first step in my "use Empathy as a real IRC client" plan. Now we'll start a new set of libempathy-gtk widgets in order to create a dedicated application for multi users conversations (probably based on the interface of xchat-gnome).

mercredi, février 6 2008

Calendar synchronization

Thanks to Ross, Dates is now installed on my N810. I played a bit with it and it looks great. So great than I'm considering to use my N810 as an organizer. But I'd really like to be able to synchronize it with the Evolution running on my desktop.

Conduit seems really promising but I didn't see a Maemo port yet. Maybe OpenSync or Sync could do the job too? So, if anyone has some experience in N810 <-> desktop 2 ways synchronization, feedback would be really appreciated.

Thanks!

mercredi, novembre 14 2007

Atelier d'introduction au développement GNOME ce samedi 1er décembre

Comme déjà annoncé par mail et sur LinuxFR, j'organise avec Fred et Xavier ce samedi 1er décembre un atelier d'introduction au développement GNOME. Ce sera un peu similaire à l'atelier de programmation GNOME que nous avions organisé il y a quelques mois sauf qu'ici cela se déroulera toute la journée et sera basé sur une "vraie" application, à savoir Empathy.

On commencera la journée par de courtes présentations d'introduction : les outils de développements GNOME (Fred), le framework Telepathy (Moi) et enfin Empathy (Xavier). On tentera ensuite de résoudre ensemble des bugs d'Empathy[1].

Ce sera donc ce samedi 1er décembre[2] de 10 à 18h au forum A du campus de la plaine de l'ULB. Plus d'info sur le wiki du BxLUG; il serait d'ailleurs sympa de vous inscrire si vous êtes intéressé.

Au plaisir de vous y voir !

Notes

[1] oui, il y a du boulot

[2] ATTENTION, la date du 24 novembre avait été proposée initialement mais n'a pas été retenue

dimanche, octobre 21 2007

GTetrinet through tubes

During the GNOME Summit, I started to hack GTetrinet (based on the initial work of Alban) and Empathy to try to offer a better user experience using stream tubes. I finally found some time this afternoon to finish this work and I am now able to play GTetrinet through tubes!

GTetrinet was patched to add a new dialog. It uses libempathy and libempathy-gtk to display user's contact list. When you have chosen a contact, it launches tetrinet-server into another process and exports its socket through a stream tubes.

The rest of the work is done by Empathy which was modified to display incoming tubes and launch GTetrinet if the user accepts it.

Alban's diagram showing GTetrinet using tubes

Screencast showing GTetrinet initates the tubes with a contact

The other side where Empathy receives the tube and launchs GTetrinet

These 2 patches still need lots of polishing before being ready for merging and we still have to design how tubes will be integrated properly into Empathy and Mission Control but I think they are a good demonstration of how tubes will revolutionize the collaboration in GNOME.

mardi, juin 5 2007

Stream tubes, a new generation of tubes

A few weeks ago Daf and Rob announced D-Bus tube, a new Telepathy technology allowing applications to use D-Bus facilities for their network communications.

We have now a new type of tube called Stream Tube. With these tubes you'll be able to easily establish TCP connections with your contacts or with the participants of a multi-users chatroom. Let's take a look on Daf's amazing ASCII art to see how that works.

 .---------.
 |TP client|--|listening socket| B
 '---------'         ^
     C               |
                .----------.
                |Connection|
                | Manager  | A
                '----------'
                     |
                   _____
                __/     \___
            ___/            \n           /                 \____
          |                       \n          \__                     /
             \    Internets      /
             /                   \n            /                     \n           |             ___      /
           \____/\      /   \____/
                  \____/
                     ^
                     |
                .----------.
                |Connection|
             F  | Manager  |-|listening socket| E
                '----------'        ^
                                    |
                               .---------.
                               |TP client| D
                               '---------'

Alice wants to share a, say, local Unix socket (B) with Fernand. She exports that socket in a stream tube and offers it to Fernand. He accepts it and so its Connection Manager creates a local socket (E) on his system. Now, each time Fernand will connect an application (D) to this new socket, Alice's CM will make a new connection to the socket B and a new bytestream will be established between Alice and Fernand to transport data of this connection. So, applications C and D can now communicate together without caring about the network between them and without any code modifications, they just have to support unix socket (more socket type will be supported soon).

So, now imagine C is, for example, a VNC server and D a VNC client and we have... VNC over jabber!

RealVNC doesn't support Unix socket yet, but this patch add this feature. Thanks to the help of its author, I was able to build it with RealVNC 4.1 and so play with a remote GNOME mine. :)

mine-tube.jpg

GNOME mine over VNC over stream tubes over jabber

Currently only local unix socket support is implemented but we should support other socket type soon. We're still using XML bytestream (IBB) but real P2P bytestreams (with NAT penetration support) are planned too.

samedi, février 24 2007

GNOME t-shirts @ FOSDEM

As previously announced by Vincent, we printed very sexy GNOME t-shirts for FOSDEM (thanks to Andreas for the design!).

They are sold 10€ in our devroom (H.1302) and for free if you are speaker in the devroom or member of the GNOME Foundation (but any donation is of course welcome ;).

So, don't forget to come and take our t-shirts (especially if you wrote your size on the wiki, there is one t-shirt reserved for you !).

FOSDEM 2007 t-shirts

Our official GNOME model wearing the GNOME@FOSDEM 2007 t-shirt

jeudi, février 22 2007

Jamendo Rhythmbox plugin

Yesterday was released Rhythmbox 0.9.8. This new version includes my Jamendo plugin.

Jamendo is a rocking musical portal from where you can listen and download a huge quantity of free (as in freedom and/or as in free beer) music. Like the Magnatune plugin, it gives you the ability to listen (streaming) and download all the Jamendo library (except that here you don't have to pay anything!). Download is done using Bittorrent and you can choose if you prefer OGG or MP3 files.

So you can very easily enjoy more than 20000 tracks from 1600 artists (that means more than 58 days of music!) and new albums are added each day. Furthermore, as you can see on this screenshot, the plugin interacts with the albums cover component.

Jamendo plugin

Rhythmbox playing B-Shake[1] from Jamendo

Notes

[1] Very cool rock band of a friend of mine

vendredi, février 16 2007

Hello Planet GNOME + new job

Hi, I'm yet another hackergotchi on Planet GNOME (but you can call me Guillaume).

Some words to introduce myself. I'm a Belgian GNOME hacker who mainly worked on XChat-GNOME with David. I'm very interested about IM in GNOME and so try to give also some love to Gossip, Telepathy...

Some days ago I was still student at ULB (the university where FOSDEM takes place) but I joined Collabora very recently[1]. I'm very excited about this new job as it gives to me the opportunity to work on very exciting projects and learn amount of stuffs with cool people.

Speaking of work, I'm in Cambridge (at Collabora's office) until the next Wednesday. First business trip woohh. :)

Notes

[1] it's my first week of work

jeudi, janvier 11 2007

XChat-GNOME 0.16 released !

Yesterday we released XChat-GNOME 0.16, the "True love dies hard on jagged rocks" release[1].

Moreover the traditional bugs and crashers fix (thanks to the new bugzilla), there are two improvements visible for the end user.

The bigger one is that now each plugin can define its own preference page. So, when you load it, a new item is added in the preferences dialog. As you can see, you can now configure the notification plugin to choose when you want the tray icon appear. It's currently the only plugin having a configuration page. Don't hesitate to implement one for existing plugin or suggest interesting options (but let's try to avoid configuration mess).

The second change is the new channels list dialog. A lot of people complained that the old one was too big and consume too much time at opening because of channels list retrieving. The new dialog doesn't automatically load channels, you have to expand a panel to do it. You can also directly type the name of the channel you want to join. I also added a gconf key[2] if you want to disable the auto popup of the dialog when you join a server and don't have any channel in its autojoin list.

This release should also be the end of all our locale specific bugs. I write with Olivier (thanks to him) a little script to detect badly formatted strings and mark these as fuzzy. We hope it will fix the /me command bug. To avoid to reintroduce these bugs in future version, *please* translators be careful when you translate this kind of strings :

#: ../src/common/textevents.h:21
msgid "%C13*%O$t$1 $2%O"
msgstr "%C13*%O$t$1 $2%O"

A little mistake can make this command unusable in XChat-GNOME. We could argue than translators should not have to worry about this kind of crap. That's true but we're still very dependent on xchat's code and so can't change that easily.

Thanks to Joachim, we now have a begin of new documentation. Rocks!

As usual, RFE and bug report are welcomes. I'd like to insist about crashers. Please try this new version and report any crasher you found. We'd like to fix as many of them ASAP to limit flood mail after Feisty release.

Notes

[1] don't ask me about this release name, i'm not in the mad brain of David ;)

[2] /apps/xchat/channel_list/auto_popup

vendredi, novembre 10 2006

GNOME Foundation, here i am

Dear Guillaume Desmottes,

We are pleased to inform you that you are now part of the GNOME Foundation Membership.

Like some other Belgian guys, i'm now member of the GNOME foundation. :) It's really cool to know that your work is appreciated and become better involved into the community.

Thanks a lot to David and Vincent for their really kind mail and have supported my membership.

jeudi, novembre 2 2006

Plugin specific preferences

I finally commited my work to implement plugin's preferences page architecture in XChat-GNOME. Plugins can now have their own preference page nicely integrated in the preferences dialog.

I also added a preference page in the notification plugin to configure the level of notification of the tray icon.

So, i you have nice idea about interesting stuff to configure for a specific plugin don't hesitate to fill a bug. :)

dimanche, octobre 29 2006

XChat-GNOME 0.15

XChat-GNOME 0.15 “Because IRC is like the wild west” is now available.

What is it ?

XChat-GNOME is a new frontend to the popular X-Chat IRC client which is designed with the user interface foremost in mind.

More informations can be found at: http://xchat-gnome.navi.cx/

What's changed ?

  • A couple important bugs fixed
  • New themeable icons!
  • Some HIG improvements

Contributors to this release

David Trowbridge, Guillaume Desmottes

Where can I get it ?

samedi, octobre 21 2006

XChat-GNOME 0.14

XChat-GNOME 0.14 “I dreamt I had to go to mars” is now available.

What is it ?

XChat-GNOME is a new frontend to the popular X-Chat IRC client which is designed with the user interface foremost in mind.

More informations can be found at: http://xchat-gnome.navi.cx/

What's changed ?

  • Import Debian's manpage. Thanks to Marco Cabizza.
  • D-Bus support is now merged in the core and not a plugin anymore.
  • Add a option to enable logging of conversations
  • HIG improvements
  • A mountain of bug fixes.
  • Updated translations.

Contributors to this release

David Trowbridge, Guillaume Desmottes, Christian Persch, Xavier Claessens

Where can I get it ?

dimanche, août 20 2006

Let's say GNOME

Sometimes i try to do useful contribution.
And sometimes i don't.

- page 2 de 3 -