Summer of Code 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!)

= Project Ideas =

Buddycloud and Social XMPP related topics

 * 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

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

Add IoT support in chat klient of choice

 * Summary: Implement the IoT extensions into a client for example Psi.
 * 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
 * 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
 * Usage of XMPP in small devices such as raspberries, Cubieboard etc
 * Apply Now!

IoT smart logic

 * Summary: Use a XMPP library 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
 * 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!