GSoC Idea - XMPP

Jan Kaluza hanzz.k at gmail.com
Tue Mar 23 05:34:02 EDT 2010


Hi,
another interesting feature you could implement for Pidgin/libpurple
is Roster Item Exchange (RIE):
http://xmpp.org/extensions/xep-0144.html

It allows another user (but it's more important for gateways or
server-side services which want to modify your roster) to send you
batch of buddies. Then you can add them into your roster or just
ignore them. The main advantage is that with RIE there are also
nicknames and groups sent, so, for example, it allows RSS gateway to
send you all contacts in "RSS" group with proper names. It also allows
to update nickname or group or to remove it from roster.

I think this also can't be used as standalone GSoC project, but it's
just another idea :).

Jan "HanzZ" Kaluza

On Tue, Mar 23, 2010 at 10:08 AM, Nicolas Vérité
<nicolas.verite at gmail.com> wrote:
> On Tue, Mar 23, 2010 at 07:49, Mark Doliner <mark at kingant.net> wrote:
>> On Fri, Mar 19, 2010 at 8:07 PM, Joachim Lutz <octolotl at gmail.com> wrote:
>>> Hi there.
>>>
>>> My name is Joachim Lutz, I study computer science (Bachelor) at
>>> Saarland University (Germany) and would like to participate at Google
>>> Summer of Code.
>>>
>>> I had the idea of extending the current XMPP status handling so that
>>> priorities are more efficient to use. If multiple clients are online
>>> using the same XMPP-account you can use priorities to control which one
>>> of the clients will receive a sent message.
>>>
>>> The approach would be as following:
>>> - One can set a basic priority for the account
>>> - Every status has a value which will be added to the base priority
>>> - Status priorities are:
>>>  Chatty > Online > Away > Ext. Away > DnD > Invisible >= Offline
>>> - Invisible is specially set
>>> - Online sets the priority to the base priority
>>>
>>> Example:
>>>
>>> Given a base priority of 30 and 3 stati (chatty, online, offline and
>>> invisble not counted) the assignment of the stati would be as following:
>>>
>>> Chatty:    30 +   1 *10
>>> Online:    30 +   0 *10
>>> Away:      30 + (-1)*10
>>> Ext. Away: 30 + (-2)*10
>>> DnD:       30 + (-3)*10
>>>
>>> The value 10 is calculated by the base priority divided by the amount
>>> of stati dynamically assigned (currently: dnd, away and ext. away).
>>>
>>> That's it, basically. This should offer the most flexibility at a
>>> minimum level of complexity (one value to configure).
>>>
>>> I'd be happy to see some feedback/comments from you.
>>>
>>>
>>> Regards
>>>
>>> Joachim
>>
>> Hey Joachim.  I'm not extremely familiar with the jabber protocol, but
>> I think this is a cool idea.  My biggest concern is that I suspect
>> this change alone might not require 10 weeks worth of work, and so may
>> not be appropriate as a stand-alone summer of code project.
>
> You could also use the Remote controlling of clients:
> http://xmpp.org/extensions/xep-0146.html
> Especially the "Change Status" part:
> http://xmpp.org/extensions/xep-0146.html#set-status
>
> It is based on Ad-Hoc Commands:
> http://xmpp.org/extensions/xep-0050.html
>
> Basically, XMPP entities exhange remote commands, by using a forms
> exchange mechanism, much like a wizard. When specifically talking
> about remote controlling of clients, a user can control his client at
> home from work, or all his clients from his mobile phone, etc. He can
> not only control the priorities, but also the status, as well as
> message forwarding, and other use cases.
>
> I think this is very interesting, from a Pidgin/libpurple point of
> view, as well as training for a student!... ;-)
>
> --
> Nicolas Vérité (Nÿco) mailto:nicolas.verite at gmail.com
> Jabber ID : xmpp:nyco at jabber.fr
> http://linuxfr.org/ - http://fr.wikipedia.org/ - http://www.jabberfr.org/
> http://xmpp.org - http://april.org/  - http://qsos.org/
>
> _______________________________________________
> Devel mailing list
> Devel at pidgin.im
> http://pidgin.im/cgi-bin/mailman/listinfo/devel
>




More information about the Devel mailing list