Difference between revisions of "GSoC/2020/Project Ideas"
Jump to navigation
Jump to search
(→Dino) |
|||
Line 12: | Line 12: | ||
= List of Project Ideas = | = List of Project Ideas = | ||
== Smack == | |||
''Website:'' https://igniterealtime.org/projects/smack/<br/> | |||
''Source Code:'' https://github.com/igniterealtime/Smack/<br/> | |||
''Description:'': Ignite Realtime creates free and open source software with and around the XMPP ecosystem. Smack is an XMPP client library for Java/Android applications.<br/> | |||
''Project Contact Person:'' Florian Schmaus [mailto:flo@geekplace.eu <flo@geekplace.eu>]<br/> | |||
''List of Teaser Tasks:'' [https://issues.igniterealtime.org/issues/?filter=11513 Smack Teaser Tasks]<br/> | |||
''Contact chat:'' [xmpp:open_chat@conference.igniterealtime.org?join open_chat@conference.igniterealtime.org]<br/> | |||
''Contact forum:'' https://discourse.igniterealtime.org/c/smack <br/> | |||
=== WebSocket support === | |||
''Brief explanation:'' Add support for XMPP over WebSocket ([https://tools.ietf.org/html/rfc7395 RFC 7395]) to the XMPP Client Library Smack.<br/> | |||
''Involved Technologies:'' Android compatible Java 8, WebSockets<br/> | |||
''Mentor(s):'' Paul Schaub (vanitasvitae) [mailto:vanitasvitae@fsfe.org <vanitasvitae@fsfe.org>]<br/> | |||
''Deliverables / Expected Results:''<br/> | |||
* Being able to connect to XMPP services via WebSocket. | |||
* Definition of a WebSocket interface on top of the used WebSocket libraries, allowing for different WebSocket implementations (one implementation must be OkHttp for Android support). | |||
''Milestones:''<br/> | |||
# Design and implement WebSocket interface to use by XmppWebsocketconnection | |||
# Implement automatic XMPP client to server transport discovery (Implicit TLS, TCP, WebSocket, BOSH) | |||
# Interoperability tests against a different implementation | |||
# Plug Smack with WebSocket into Spark, our FOSS XMPP client | |||
Currently Smack can establish connections via TCP/IP and HTTP via BOSH. WebSockets are yet another way to connect to a server. | |||
== Dino == | == Dino == |