Hello Guillaume Desmottes, it's nice to hear that another developer intends to add something to Wormux.
I like the things which would be possible with Telepathy support. The main concern I see is that we will most likely having problems to make a Windows version of Wormux with Telepathy support, because: 1.) we don't have an active Wormux developer with a Windows machine. 2.) the Telepathy FAQ [1] states that Telepathy does not really work on Windows. Of course we could make a compile switch to make it possible to compile a non Telepathy version for Windows. If we use however the advanced Telepathy features as you have described them I fear we will end up having up a lot of #ifdefs in the Wormux code. Maybe a more clear solution would be to search people for the game from within the instant messenger. A "Play Wormux Games"-plugin could add the ability to ask your friends if they want to play a Wormux game. This will open a dialog listing the players which have been invited and if they have accepted or not. The dialog provides also a "Start Game" button which let all players start Wormux. Due to arguments passed to the game all Wormux instances connect to the same game. The arguments passed to Wormux could look like this (it's only a suggestion, it doesn't work yet): --join-game=GameName --create-game=GameName The "--join-game" option would Wormux make waiting for a game with the name GameName and join it automatically once it's open. The "--create-game" option would make Wormux host a game as server or make Wormux use a headless server if the Wormux port is closed. This approach have the following advantages: + You don't need to start a wormux game only to find out that your friends don't want to play now. + Wormux will have no dependency to Telepathy + It's possible to write a plugin for other Instant-Messengers as well which don't use Telepathy. + The "Play Wormux Games"-plugin could be developed independent of Wormux: You would not have to wait for an release to add a new feature. + An advanced version of such a plugin could check which of the players have the Wormux port open. This would reduce the number of times headless servers needs to be used. + The plugin could be extended to be able to start other games as well. If they can be started with the same or similar arguments this shouldn't be a huge effort. Going even further the plugin could send meta information about the game to the other client enabling him to start the game. [1] http://telepathy.freedesktop.org/wiki/FAQ Best regards, Florian (IFlo) Guillaume Desmottes wrote: > Hi guys, > > First let me introduce myself as that's the first time I post on this > list. My name is Guillaume, I'm a Belgian Free software hacker working > for Collabora Ltd [0]. Among other things I work on the Telepathy [1] > project and I'm the maintainer of Empathy [2], GNOME's IM and VoIP > client. > > Telepathy is a presence, instant messaging, audio/video and > collaboration framework. Thanks to its service oriented architecture > based on D-Bus [3] it is possible to integrate Telepathy in the whole > desktop. > > Telepathy's collaboration framework is called "Tubes" [4]. It offers API > to connect applications together over the underlying instant messaging > network (XMPP at the moment). > I wrote some articles on my blog [5] talking about tubes; for example > how we integrated Vino and Vinagre in Empathy [6]. I also gave a talk > during latest GUADEC [7] about tubes; see the slides if you want to see > some examples of cool things we can do. > > As you have probably guessed by now, I'd like to know if you'll be > interested in bringing Telepathy integration into Wormux. I think that > could really improve the user experience: > Alice creates a network game and choose some of his friends that she > wants to invite to play with him (only the contacts supporting Wormux > are displayed). Those receive a notification asking if they want to play > with Alice. If they accept Wormux is automatically started and connected > to Alice's game. > > I see few advantages in this approach: > - The workflow is more "natural" for the user as he just has to pick the > people with who he wants to play. > - All the complicated technical details are hidden by Telepathy. No need > to open ports on the firewall and redirect them. > - This bring an "invitation" system into Wormux. > - We could bring some fancy Telepathy integration features such as > displaying the avatar of each player in the game. Or maybe even includes > audio chat in the game at some point. :) > - Telepathy is currently used by GNOME and KDE integration is on the > way. It's also used by Maemo so that should work on the N900 as well. > > The dependencies on Telepathy would be optional so if Wormux isn't built > with Telepathy support these new features won't appear. > > > To prove that all of this is not vaporware I quickly hacked a proof of > concept and made a quick screencast. Code is pretty hacky and the UI > ugly but that should give you an idea. The acceptor dialog is not there > either. > > http://people.collabora.co.uk/~cassidy/wormux-tube.ogv > > > As said, it's just something that I quickly hacked to do this demo. I'd > be happy to clean it up if you are interested in this feature. More > especially I'd like to know if you'd merge to upstream a proper branch > implementing this. Also, if you'd be ready to help me to integrate this > properly into the code (I know Telepathy very well but not really the > Wormux code) and in the UI (to integrate this nicely into the existing > interface). > > > Let me know what you think of all of this. If some of you are going to > FOSDEM next month let me know, that could be a good occasion to discuss > around some good beers. :) > > > > G. > > > [0] http://www.collabora.co.uk/ > [1] http://telepathy.freedesktop.org/wiki/ > [2] http://live.gnome.org/Empathy > [3] http://www.freedesktop.org/wiki/Software/dbus > [4] http://telepathy.freedesktop.org/wiki/Tubes > [5] http://cass.no-ip.com/~cassidy/blog/ > [6] > http://cass.no-ip.com/~cassidy/blog/index.php/post/2009/09/22/Empathy-228:-Easy-Desktop-Sharing > [7] > http://cass.no-ip.com/~cassidy/blog/index.php/post/2009/07/07/Lets-make-GNOME-a-collaborative-desktop > > > _______________________________________________ Wormux-dev mailing list Wormux-dev@gna.org https://mail.gna.org/listinfo/wormux-dev