Difference between revisions of "Summer of Code 2014"
Line 66: | Line 66: | ||
* '''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 | * '''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 (to have)''' | * '''Skills (to have)''' | ||
** Ability to code in language of the client of choice | ** Ability to code in language of the client of choice |
Revision as of 23:38, 10 February 2014
Participation
In order for the XSF to participate in Google Summer of Code 2014 we need to find out now if we will have Project and Mentor participation.
This page should be used to track any Project Idea so we can determine interest.
Dates
Opening of GSoC applications: February 03 at 19:00 UTC
Volunteering Project Orgs and Mentors
- Joachim lindborg coordination and mentoring IoT related projects
- Steffen Larsen mentoring of client / server projects. (will write some projects proposals later!)
- Yann Leboulanger mentoring Gajim related projects
Project Ideas
- Secure XMPP messaging using public keys stored in XMPP nodes
- An XMPP component that provides contextual location services - rehashed for 2014 technology that can be embedded into any XMPP application (runs as an XMPP component).
- Writing tests for XMPP XEP compliance that extend the work on http://protocol.buddycloud.com/ to support other XEPs and XMPP things (code at: https://github.com/buddycloud/buddycloud-tests-framework)
- Jingle WebRTC integration integration within a buddycloud chanel (mentored by the famous WebRTC developer, Philipp Hanke)
- Standalone buddycloud server (XMPP server + buddycloud-server-java)
- buddycloud SDKs for other languages and platforms: using XMPP, XMPP-FTW or the HTTP-API
Ignite Realtime
A GSOC 2014 project idea: Allow Smack to target Android and JavaSE
Smack 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.
Used Technologies: Java, Gradle, Android, Groovy, XMPP, XML
Prerequisites: Knowledge of Java. Helpful: XMPP enthusiast and interest in designing elaborate build systems
IoT connected devices and smart services
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.
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
- Summary: Implement the IoT extensions into a client for example Psi Xabber.
- Difficulty: Easy-Medium
- Details: The IoT extensions ex XEP-0323 and XEP-0325 creates possibility to read and write fields to IoT devices. To be able to interact with devices a good interface is needed to edit control data and read sensor data to show diagrams of collected data and even to act as a provisioning client. With this tool any provider of a open IoT device would instantly have a uniform interface.
- Skills (to have)
- Ability to code in language of the client of choice
- Skills (to have or to learn)
- Ability to work with user interfaces
- Git version control
- Understanding of XMPP IoT extensions
- Understanding of XMPP forms
- Apply Now!
IoT smart logic
- Summary: Use any XMPP library for ex SleekXMPP to create a logic environment to control devices and collect data.
- Difficulty: Easy-Medium
- Details: The IoT extensions ex XEP-0323 and XEP-0325 creates possibility to read and write fields to IoT devices. To let this create smart services there needs to be logic like IFTTT or 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 Node red project
- Skills (to have)
- Ability to code
- Skills (to have or to learn)
- Git version control
- Understanding of XMPP IoT extensions
- Understanding of SleekXMPP
- Rule engines Ladder Logic or
- Apply Now!
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.
- Difficulty: Easy-Medium
- Details: The IoT extensions ex XEP-0323 and 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 SleekXMPP python package has an implementation. Or perhaps you would like to integrate some other environment such as the Lego BrickPi into an open robotics platform
- Skills (to have)
- Ability to code in language of the client of choice
- Skills (to have or to learn)
- Git version control
- Understanding of XMPP IoT extensions
- Understanding of XMPP forms
- Usage of XMPP in small devices such as raspberries, Cubieboard etc
- Apply Now!
Gajim projects
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.
MAM
MAM is a way to store our logs server side, so we can share it in different locations.
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 proto-XEP and a IETF draft about that.