Difference between revisions of "Summer of Code 2011 Project Ideas"

Jump to navigation Jump to search
(4 intermediate revisions by the same user not shown)
Line 117: Line 117:
* '''Difficulty''': Medium
* '''Difficulty''': Medium
* '''Details''': Although XMPP has supported multiple simultaneously connected clients from the start, the user experience is in practice seldom what a user would expect. This has not been a big problem up until recently, since most people tend to connect with only one client at the same time. These days, however, people are constantly going back abd forth between their always-on mobile IM client and their desktop. Enabling a good user experience for this requires new protocols and techniques for transferring conversations between devices, ... This project is about implementing these protocols to streamline the use case of multiple resources
* '''Details''': Although XMPP has supported multiple simultaneously connected clients from the start, the user experience is in practice seldom what a user would expect. This has not been a big problem up until recently, since most people tend to connect with only one client at the same time. These days, however, people are constantly going back abd forth between their always-on mobile IM client and their desktop. Enabling a good user experience for this requires new protocols and techniques for transferring conversations between devices, ... This project is about implementing these protocols to streamline the use case of multiple resources
=== Constrained Swifts ===
* '''Summary''': Implement support for XMPP protocols that are targeted towards (resource-)constrained environments
* '''Difficulty''': Medium
* '''Details''': XMPP provides protocols for dealing with 'constrained' environments: session resumption and incremental roster retrieval for bandwidth-constrained situations, BOSH for places where keeping a long-lived connection is hard, SIFT for limiting the amount of incoming traffic, ... Support for these protocols is not only interesting when XMPP software is used in these particular situations, it also makes the client faster and more reliable in general. In this project, you will study the protocols that can improve Swift in these situations (Session Management, BOSH, SIFT, ...), and extend Swift (and the underlying Swiften XMPP library) to support these use cases.
== Gajim ==
[http://gajim.org Gajim] is a jabber client written in pyton and GTK. If you're interested in this (or other) project, please jump into the [xmpp:gajim@conference.gajim.org?join gajim@conference.gajim.org] room and talk to Asterix.
=== Stream Management ===
* '''Summary''': Implement all [http://xmpp.org/extensions/xep-0198.html XEP-0198]
* '''Difficulty''': Medium
* '''Details''': This extensions has to be implemented at the lowest layer of Gajim: XMPP parser. It requires a carefull implementation to not break things, but should not be a so hard project.
== Prosody ==
[http://prosody.im Prosody] is an easily extensible jabber server written in [http://lua.org Lua]. If you're interested in any of the following project or have a different nice project idea you want to chat about you can reach the Prosody community in their [http://prosody.im/discuss#chatroom chatroom].
=== Server-side Jingle Support Features ===
* '''Summary''': Implement basic STUN/TRUN server and [http://xmpp.org/extensions/xep-0278.html Jingle Relay Nodes] as prosody module.
* '''Difficulty''': Medium
* '''Details''': STUN and TURN greatly increases the success rate of a connection for protocols using ICE, like [http://xmpp.org/extensions/xep-0176.html XEP-0176].
=== Realtime Monitoring and Statistics ===
* '''Summary''': Implement realtime monitoring and statistics viewable via various interfaces, i.e. web interface, for Prosody.
* '''Difficulty''': Medium
* '''Details''': Collect, prepare and present realtime statistics of a running prosody instance in numbers and fancy graphs. The system should be easy to extend and could include metrics like, memory usage, stanza throughput per connection, connected clients and so on.
20

edits

Navigation menu