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

From XMPP WIKI
Jump to navigation Jump to search
(Organise the server section more clearly by project and ideas)
 
Line 39: Line 39:
  
 
== Specific Client Projects ==
 
== Specific Client Projects ==
* Gajim client miss [http://xmpp.org/extensions/xep-0234.html XEP-0234: Jingle File Transfer], and [http://xmpp.org/extensions/xep-0198.html Stream Management], which are high level priorities for GSOC 2010. You can visit [http://trac.gajim.org/wiki/GajimGSOC Gajim's wiki].
+
=== Gajim ===
 +
Gajim is a full-featured and easy to use Jabber client. It is written in Python, uses GTK and integrates well with the GNOME desktop environment (but does not depend on it).
 +
 
 +
==== Ideas ====
 +
* [http://xmpp.org/extensions/xep-0234.html XEP-0234]: Jingle File Transfer
 +
* [http://xmpp.org/extensions/xep-0198.html XEP-0198]: Stream Management
 +
* You can visit [http://trac.gajim.org/wiki/GajimGSOC Gajim's wiki].
  
 
== Specific Server Projects ==
 
== Specific Server Projects ==

Revision as of 11:20, 25 March 2010

Here are some project ideas for the XSF's involvement in GSoC 2010. Visit our Summer of Code 2010 page for information about applying.

High-Level Priorities

The high-level priorities for the XMPP community include the following (see also the XSF Roadmap)...

Jingle File Transfer

We are working to migrate from the old file transfer method XEP-0096 to a more robust method based on Jingle. The new Jingle-based method has been implemented in Pidgin but not yet in other clients. We'd love to see more implementations and get more deployment experience with this method so that we can correct and advance the relevant specs, which are:

Reliability Improvements

The XSF has defined two specifications that make XMPP communication more reliable: Stream Management and Message Receipts. We won't know if these technologies solve the problem until we have more implementation and deployment experience, so we need to get busy coding.

I (MattJ) have some server-side code for XEP-0198 (Stream Management) in Prosody, and am willing (and very interested) to work with someone adding support to a client so we can get a pair of interoperable implementations going this summer.

Mobile Optimizations

As with reliable communication, the XSF is actively working on optimizations for mobile environments. The two most relevant specifications are Roster Versioning and SIFT. Here again we're looking for more implementation and deployment experience.

Stronger Security

Information security is a never-ending, multi-faceted challenge. Some relevant technologies in the XMPP community are:

In addition, we have several competing proposals for end-to-end encryption but they are fairly experimental.

Specific Client Projects

Gajim

Gajim is a full-featured and easy to use Jabber client. It is written in Python, uses GTK and integrates well with the GNOME desktop environment (but does not depend on it).

Ideas

Specific Server Projects

Prosody

Prosody is a lightweight XMPP server written in Lua. It is designed to be modular and easily extensible via Lua plugins.

Ideas

jabberd2

jabberd2.x project is the next generation of the jabberd project. It has been rewritten from the ground up to be scalable, architecturally sound and to support the latest protocol extensions coming out of the XSF. jabberd2 is written in C.

Ideas

Specific Library Projects