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

Jump to navigation Jump to search
→‎Swift: Adding our last idea (forgot this one, oops).
m (I'm assuming we're not asking for further ideas? (Not that it matters if people add them))
(→‎Swift: Adding our last idea (forgot this one, oops).)
Line 119: Line 119:
* '''Summary''': Implement and standardize techniques & protocols for supporting being connected with multiple clients simultaneously.
* '''Summary''': Implement and standardize techniques & protocols for supporting being connected with multiple clients simultaneously.
* '''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 and 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


=== Multi-User Chat Support ===
=== Multi-User Chat Support ===
* '''Summary''': Implement full MUC protocol support, and improve MUC-related UI aspects
* '''Summary''': Implement full MUC protocol support, and improve MUC-related UI aspects
* '''Difficulty''': Easy
* '''Difficulty''': Easy
* '''Details''': Although Swift already supports multi-user chats, the support for it is still basic. For example, things that are still missing are room management/administrutanio, converting a one-to-one chat to a MUC, and other more advanced use cases. This project will improve the MUC support currently present in Swift to also support the more advanced use cases, while still providing a clear and good UI. Another goal of this project is to work out how to provide a UI that allows you to be in a large number of rooms simultaniously (which is currently hard to manage in most XMPP clients, including Swift).
* '''Details''': Although Swift already supports multi-user chats, the support for it is still basic. For example, things that are still missing are room management/administrutaion, converting a one-to-one chat to a MUC, and other more advanced use cases. This project will improve the MUC support currently present in Swift to also support the more advanced use cases, while still providing a clear and usable UI. Another goal of this project is to work out how to provide a UI that allows you to be in a large number of rooms simultaneously (which is currently hard to manage in most XMPP clients, including Swift).
 
 
=== User activity/profile ===
* '''Summary''': Implement social aspects in user profiles
* '''Difficulty''': Easy
* '''Details''': XMPP (Through the PEP offerings) supports many social-ish data structures, including a user's location, their mood and their current activity. A student working on this project would add support for these protocols to Swiften, and build a 'user profile' UI around these data to give a view on a contact's state that goes beyond the usual 'Name, address, telephone number' profile. A nice touch would be adding map overlays to the location data, so you could see where all your friends were on a map together, and the suchlike.


== Gajim ==
== Gajim ==

Navigation menu