Difference between revisions of "Summer of Code 2014"

Jump to navigation Jump to search
71 bytes removed ,  09:34, 23 June 2017
Restored from backup.
(Restored from backup.)
 
Line 1: Line 1:
= Participation =
= Participation =
The XSF didn't apply for GSoC 2014. These were the ideas that were being considered.
The XSF didn't apply for GSoC 2014. These were the ideas that were being considered.


== Dates ==
== Dates ==
Opening of [http://www.google-melange.com/gsoc/homepage/google/gsoc2014 GSoC] applications: February 03 at 19:00 UTC
Opening of [http://www.google-melange.com/gsoc/homepage/google/gsoc2014 GSoC] applications: February 03 at 19:00 UTC


= Volunteering Project Orgs and Mentors =
= Volunteering Project Orgs and Mentors =
* [http://wiki.xmpp.org/web/User:Jocke Joachim lindborg] coordination and mentoring IoT related projects
 
* [http://wiki.xmpp.org/web/User:ZoolDK Steffen Larsen] mentoring of client / server projects. (will write some projects proposals later!)
* [[User:Jocke]] coordination and mentoring IoT related projects
* [[User:ZoolDK]] mentoring of client / server projects. (will write some projects proposals later!)
* Yann Leboulanger mentoring Gajim related projects
* Yann Leboulanger mentoring Gajim related projects


= Project Ideas =
= Project Ideas =
== Buddycloud ==
== Buddycloud ==


=== Android SDK ===
=== Android SDK ===
* '''Summary''': Create an Android SDK to help developers create XMPP and buddycloud apps
* '''Summary''': Create an Android SDK to help developers create XMPP and buddycloud apps
* '''Difficulty''': Medium-Difficult
* '''Difficulty''': Medium-Difficult
Line 38: Line 43:


== Smack to target Android and JavaSE ==
== Smack to target Android and JavaSE ==
[http://www.igniterealtime.org/projects/smack/index.jsp Smack], a FOSS XMPP client library in Java, should target Android and Java SE, therefore making aSmack obsolete. In order to achieve this goal, components of Smack need to be abstracted so that they can be impleted with Java SE APIs and their Android counterpart (if any). This abstraction also requires a modular build system.
[http://www.igniterealtime.org/projects/smack/index.jsp Smack], a FOSS XMPP client library in Java, should target Android and Java SE, therefore making aSmack obsolete. In order to achieve this goal, components of Smack need to be abstracted so that they can be impleted with Java SE APIs and their Android counterpart (if any). This abstraction also requires a modular build system.


Line 45: Line 51:


== IoT connected devices and smart services projects ==
== IoT connected devices and smart services projects ==
Internet of Things has become very big and the main game changer from early connected m2m systems is the very close connection between humans and Devices over Internet.
 
To facilitate interoperability between these devices and towards user interactions. Standards are crucial there are several such ongoing standardisations some backed by big companies.  
Internet of Things has become very big and the main game changer from early connected m2m systems is the very close connection between humans and Devices over Internet. To facilitate interoperability between these devices and towards user interactions. Standards are crucial there are several such ongoing standardisations some backed by big companies. XMPP is with its openness and the XSF to govern it's functionality is a perfect match to create a real open interoperable communication tool for IoT.
XMPP is with its openness and the XSF to govern it's functionality is a perfect match to create a real open interoperable communication tool for IoT.


To help in this effort we need alot of support at various levels and therfore we turn to the GSoC to help us in creating the open tools for the Internet of Things
To help in this effort we need alot of support at various levels and therfore we turn to the GSoC to help us in creating the open tools for the Internet of Things
 
=== Add IoT support in chat klient of choice ===
=== Add IoT support in chat klient of choice ===
* '''Summary''': Implement the IoT extensions into a client for example [http://psi-im.org/ Psi] [http://www.xabber.org/ Xabber].
* '''Summary''': Implement the IoT extensions into a client for example [http://psi-im.org/ Psi] [http://www.xabber.org/ Xabber].
* '''Difficulty''': Easy-Medium
* '''Difficulty''': Easy-Medium
Line 64: Line 70:


=== IoT smart logic ===
=== IoT smart logic ===
* '''Summary''': Use any XMPP library for ex [http://sleekxmpp.com/ SleekXMPP] to create a logic environment to control devices and collect data.
 
* '''Summary''': Use any XMPP library for ex [http://sleekxmpp.com/ SleekXMPP] to create a logic environment to control devices and collect data.
* '''Difficulty''': Easy-Medium
* '''Difficulty''': Easy-Medium
* '''Details''': The IoT extensions ex [http://xmpp.org/extensions/xep-0323.html XEP-0323] and [http://xmpp.org/extensions/xep-0325.html XEP-0325] creates possibility to read and write fields to IoT devices. To let this create smart services there needs to be logic like [https://ifttt.com/ IFTTT] or [http://en.wikipedia.org/wiki/IEC_61131 IEC 61131] or other. The idea is to create such an environment and management of devices and fields to build smart logic and services in any IoT related domain. ´prefarably the logic should be visual [https://github.com/node-red/node-red Node red project]
* '''Details''': The IoT extensions ex [http://xmpp.org/extensions/xep-0323.html XEP-0323] and [http://xmpp.org/extensions/xep-0325.html XEP-0325] creates possibility to read and write fields to IoT devices. To let this create smart services there needs to be logic like [https://ifttt.com/ IFTTT] or [http://en.wikipedia.org/wiki/IEC_61131 IEC 61131] or other. The idea is to create such an environment and management of devices and fields to build smart logic and services in any IoT related domain. ´prefarably the logic should be visual [https://github.com/node-red/node-red Node red project]
* '''Skills'''
* '''Skills'''
** Understand creation of logic  
** Understand creation of logic
** Git version control
** Git version control
** Understanding of XMPP IoT extensions
** Understanding of XMPP IoT extensions
** Understanding of SleekXMPP
** Understanding of SleekXMPP
** Rule engines [http://en.wikipedia.org/wiki/Ladder_logic Ladder Logic] or  
** Rule engines [http://en.wikipedia.org/wiki/Ladder_logic Ladder Logic] or
* [http://www.google-melange.com/gsoc/proposal/submit/google/gsoc2014/xsf Apply Now!]
* [http://www.google-melange.com/gsoc/proposal/submit/google/gsoc2014/xsf Apply Now!]


=== Add IoT support in a language package and hardware system ===
=== Add IoT support in a language package and hardware system ===
* '''Summary''': Implement the IoT extensions into a programming language of you choice and run it on sensing hardware.
* '''Summary''': Implement the IoT extensions into a programming language of you choice and run it on sensing hardware.
* '''Difficulty''': Easy-Medium
* '''Difficulty''': Easy-Medium
* '''Details''': The IoT extensions ex [http://xmpp.org/extensions/xep-0323.html XEP-0323] and [http://xmpp.org/extensions/xep-0325.html XEP-0325] creates possibility to read and write fields to IoT devices. To leverage the thresholds for others to use these extensions implementations is needed in common programming languages and hardware platforms as an example the [https://github.com/joachimlindborg/SleekXMPP/tree/xep_0323_325/examples/IoT SleekXMPP python package] has an implementation. Or perhaps you would like to integrate some other environment such as the [http://www.dexterindustries.com/BrickPi.html Lego BrickPi] into an open robotics platform  
* '''Details''': The IoT extensions ex [http://xmpp.org/extensions/xep-0323.html XEP-0323] and [http://xmpp.org/extensions/xep-0325.html XEP-0325] creates possibility to read and write fields to IoT devices. To leverage the thresholds for others to use these extensions implementations is needed in common programming languages and hardware platforms as an example the [https://github.com/joachimlindborg/SleekXMPP/tree/xep_0323_325/examples/IoT SleekXMPP python package] has an implementation. Or perhaps you would like to integrate some other environment such as the [http://www.dexterindustries.com/BrickPi.html Lego BrickPi] into an open robotics platform
* '''Skills'''
* '''Skills'''
** Ability to code in language of the client of choice
** Ability to code in language of the client of choice
Line 88: Line 96:


== Gajim projects ==
== Gajim projects ==
=== Multi-user Audio / Video conference ===
=== Multi-user Audio / Video conference ===
We already have jingle audio / video for one to one chat. Find the better way to attack this problem (several things exist, like MUJI, Jitsi Videobridge) and implement it in Gajim.
We already have jingle audio / video for one to one chat. Find the better way to attack this problem (several things exist, like MUJI, Jitsi Videobridge) and implement it in Gajim.


=== MAM ===
=== MAM ===
[http://xmpp.org/extensions/xep-0313.html MAM] is a way to store our logs server side, so we can share it in different locations.
[http://xmpp.org/extensions/xep-0313.html MAM] is a way to store our logs server side, so we can share it in different locations.


=== End-to-End Encryption using TLS ===
=== End-to-End Encryption using TLS ===
Gajim already support E2E, GPG, OTR. The next protocol that should be implemented is chat over TLS. There is a [https://tools.ietf.org/id/draft-meyer-xmpp-e2e-encryption-02.html proto-XEP] and a [https://tools.ietf.org/id/draft-meyer-xmpp-e2e-encryption-02.html IETF draft] about that.
Gajim already support E2E, GPG, OTR. The next protocol that should be implemented is chat over TLS. There is a [https://tools.ietf.org/id/draft-meyer-xmpp-e2e-encryption-02.html proto-XEP] and a [https://tools.ietf.org/id/draft-meyer-xmpp-e2e-encryption-02.html IETF draft] about that.

Navigation menu