Le lundi 25 janvier 2010 à 17:49 +0100, Florian Köberle a écrit :
> Hello Guillaume Desmottes,

Hi Florian,

> 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.

Indeed, there is some work going on to port telepathy-glib and
telepathy-gabble to Windows but that won't help us that much as there is
no Telepathy client running on Windows atm.

> 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.

Actually not that much. In my current implementation, all the Telepathy
specific code is encapsulated in a Telepathy object living in its own
module. So the only #ifdefs are basically the instantiation of this
object when starting Wormux and the add of the contact list widget
(which is created by the Telepathy object).
So I'm pretty sure we could keep most of the code clean and untouched.


> 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.

I'm not convinced by this approach. We designed Telepathy in such way to
allow external applications to use it and integrate it nicely. As a long
term goal we hope to have lot of applications using Telepathy (games of
course but also word processor (think about collaborative edition),
music player, video edition, etc). Having a menu entry for each of those
doesn't really scale.

We used this approach in the "Share my desktop" case because Vino
doesn't have any UI, but that's certainly not something that we plan to
continue doing in Empathy.

> + Wormux will have no dependency to Telepathy

As said, the dependency will be optional and more and more distributions
are shipping Empathy by default (Ubuntu, Fedora, Mandriva...) so it
won't be that much of a problem for most of them.

> + It's possible to write a plugin for other Instant-Messengers as well
> which don't use Telepathy.

To be honest, I doubt this will happen. Telepathy is currently the only
IM framework offering the flexibility needed to implement this kind of
feature and I doubt that will change any time soon.

> + 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.

Indeed, but I don't think it gave us that much. Furthermore, I'm
surprised that, as a Wormux developper, you wouldn't want to proudly
announce "This new feature of Wormux brings you an awesome Telepathy
integration". ;)

> + 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.

I don't understand this point.

> + 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.

As said, I don't think this approach will scale from an UI pov.

I do think that the advantages of properly integrating Telepathy into
Wormux are worth the dependency. For example, with your approach it
would be impossible to integrate fancy Telepathy features such as user
avatars or an embedded voice chat between players.


Thanks for your comments,



        G.


-- 
Guillaume Desmottes <gdesm...@gnome.org>
Jabber <cass...@jabber.belnet.be>
GPG 1024D/711E31B1 | 1B5A 1BA8 11AA F0F1 2169  E28A AC55 8671 711E 31B1


_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à