Difference between revisions of "Summer of Code 2015"

Jump to navigation Jump to search
1,017 bytes added ,  10:04, 19 February 2015
no edit summary
Line 26: Line 26:
* '''Brief explanation:''' Swiften, the XMPP library driving Swift, supports pubsub (http://xmpp.org/extensions/xep-0060.html) and PEP (http://xmpp.org/extensions/xep-0163.html), but nothing in Swift itself uses these yet. In this project a user would implement User Location (http://xmpp.org/extensions/xep-0080.html) in Swiften, and use this in Swift to expose the user's location to their contacts, allow them to see the location of their contacts, and to somehow monitor which contacts are near to the user.
* '''Brief explanation:''' Swiften, the XMPP library driving Swift, supports pubsub (http://xmpp.org/extensions/xep-0060.html) and PEP (http://xmpp.org/extensions/xep-0163.html), but nothing in Swift itself uses these yet. In this project a user would implement User Location (http://xmpp.org/extensions/xep-0080.html) in Swiften, and use this in Swift to expose the user's location to their contacts, allow them to see the location of their contacts, and to somehow monitor which contacts are near to the user.
* '''Expected results:'''
* '''Expected results:'''
** User Location support in Swiften
** User Location protocol support in Swiften
** API for providing location providers to Swift
** API for providing location providers to Swift
** Location provider implementations
** Location provider implementations
** Publishing location in Swift
** Publishing location in Swift
** Consuming others' published location in Swift
** Consuming others' published location in Swift
** Roster tooltips giving contacts' locations
** Map rendering of locations in Swift
** Map rendering of locations in Swift
** Rendering of 'nearby' contacts in Swift
** Rendering of 'nearby' contacts in Swift
Line 49: Line 50:
* '''Software VCS URL:''' https://github.com/igniterealtime/Openfire
* '''Software VCS URL:''' https://github.com/igniterealtime/Openfire
* '''Software Description:''' Openfire is an XMPP server. It is configured through a web-based admin interface and used in enterprise, military, and government environments.
* '''Software Description:''' Openfire is an XMPP server. It is configured through a web-based admin interface and used in enterprise, military, and government environments.
* '''Brief explanation:''' Openfire has supported the older, and more complex, XEP-0136 Archiving for many years, but more modern clients have tended to use XEP-0313, also known as MAM. MAM is a small subset of functionality from XEP-0136, and as such the storage etc should be largely handled already.
* '''Brief explanation:''' Server-side message archiving allows a user's client to query the server for their previous messages. Openfire has supported the older, and more complex, XEP-0136 Archiving for many years, but more modern clients have tended to use XEP-0313, also known as MAM. MAM is a small subset of functionality from XEP-0136, and as such the storage etc should be largely handled already.
* '''Expected results:''' XEP-0313 support as PR.
* '''Expected results:''' XEP-0313 support as pull request on github.
* '''Knowledge Prerequisite:''' Reasonable knowledge of Git, Java and XMPP. Communicating with the team and the XSF Standards SIG will be essential.
* '''Knowledge Prerequisite:''' Reasonable knowledge of Git, Java and XMPP. Communicating with the team and the XSF Standards SIG will be essential.
* '''Implementation Language:''' Java
* '''Implementation Language:''' Java
Line 63: Line 64:
* '''Software Description:''' Openfire is an XMPP server. It is configured through a web-based admin interface and used in enterprise, military, and government environments.
* '''Software Description:''' Openfire is an XMPP server. It is configured through a web-based admin interface and used in enterprise, military, and government environments.
* '''Brief explanation:''' Openfire has supported the older, and more complex, XEP-0019 Block Lists for many years, but more modern clients have tended to use XEP-0191. This is a small subset of functionality from XEP-0019, and as such the existing code may be reusable.
* '''Brief explanation:''' Openfire has supported the older, and more complex, XEP-0019 Block Lists for many years, but more modern clients have tended to use XEP-0191. This is a small subset of functionality from XEP-0019, and as such the existing code may be reusable.
* '''Expected results:''' XEP-0191 support as PR.
* '''Expected results:''' XEP-0191 support as pull request on github.
* '''Knowledge Prerequisite:''' Reasonable knowledge of Git, Java and XMPP. Communicating with the team and the XSF Standards SIG will be essential.
* '''Knowledge Prerequisite:''' Reasonable knowledge of Git, Java and XMPP. Communicating with the team and the XSF Standards SIG will be essential.
* '''Implementation Language:''' Java
* '''Implementation Language:''' Java
Line 147: Line 148:
* '''Software VCS URL:''' https://github.com/processone/ejabberd
* '''Software VCS URL:''' https://github.com/processone/ejabberd
* '''Software Description:''' ejabberd is an XMPP server written in Erlang
* '''Software Description:''' ejabberd is an XMPP server written in Erlang
* '''Brief explanation:''' ejabberd is an open source Jabber/XMPP server designed from the ground up to be the building bricks of highly critical messaging systems. Written in Erlang programming language, ejabberd is cross-platform, fault-tolerant, clusterable, very modular and highly versatile. It can be extending in other programming languages, such as Elixir. Designed to be massively scalable, it is widely used to power web scale deployments across many software industry: Mobile messaging, Social Networks, Gaming, Internet of Things, …
* '''Brief explanation:''' ejabberd is an open source Jabber/XMPP server designed to be the building bricks of critical messaging systems. Written in the Erlang programming language, ejabberd is cross-platform, fault-tolerant, clusterable and modular. It can be extended in other programming languages, such as Elixir. It is designed to be massively scalable, and is used to power deployments across sectors: Mobile messaging, Social Networks, Gaming, Internet of Things, …
* '''Expected results:'''
* '''Expected results:''' Internet of Things support is becoming a growing source of interest for XMPP and many extensions have been designed to facilitate this use case. However, to get real life feedback and improve our XMPP specifications, we need to experiment with working code. A consistent package of XEP support for IoT extension for ejabberd would be to implement as part of this project:
Internet of Things support is becoming a growing source of interest for XMPP and many extensions have been designed to facilitate this use case.
However, to get real life feedback and improve our XMPP specifications, we need to experiment with working code.
A consistent package of XEP support for IoT extension for ejabberd would be to implement as part of this project:
** Things registry for ejabberd, as described in XEP-0347.
** Things registry for ejabberd, as described in XEP-0347.
** Things provisionning for ejabberd, as described in XEP-0324.  
** Things provisionning for ejabberd, as described in XEP-0324.  
Line 161: Line 159:
** MUC: ejabberd@conference.conference.jabber.ru
** MUC: ejabberd@conference.conference.jabber.ru
** MUC: ejabberd@conference.process-one.net
** MUC: ejabberd@conference.process-one.net
=== MUC to Channels translat-o-matic ===
* '''Software Project:''' Buddycloud
* '''Software URL:''' http://buddycloud.com
* '''Software VCS URL:''' e.g.''' https://github.com/buddycloud
* '''Software Description:''' Buddycloud helps developers build social communication apps.
* '''Brief explanation:''' The MUC<->buddycloud translat-o-matic brings a MUC-based frontend to Buddycloud channels. Users can use their favourite MUC client to post, comment and follow a buddycloud channel. Media should be displayed as a HTML links.
* '''Expected results:''' As many MUC features should be possible (posting to a MUC room, fetching posts and more.)
* '''Knowledge Prerequisite:''' extensive C++ knowledge, TLS implementations
* '''Implementation Languages:''' Python or Javascript.
* '''Mentor:''' Simon Tennant
* '''Contact details:''' https://groups.google.com/forum/#!forum/buddycloud-dev

Navigation menu