Difference between revisions of "GSoC/2019/Project Ideas"

Jump to navigation Jump to search
→‎Prosody IM: link to web chat too
(→‎Prosody IM: link to web chat too)
(4 intermediate revisions by 4 users not shown)
Line 77: Line 77:
== Ignite Realtime's Smack ==
== Ignite Realtime's Smack ==


''Website:'' https://igniterealtime.org/projects/smack/index.jsp<br/>
''Website:'' https://igniterealtime.org/projects/smack/<br/>


''Source Code:'' https://github.com/igniterealtime/Smack/<br/>
''Source Code:'' https://github.com/igniterealtime/Smack/<br/>
Line 101: Line 101:
''Deliverables / Expected Results:''<br/>
''Deliverables / Expected Results:''<br/>
* Being able to connect to XMPP services via WebSocket.
* 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.
* 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.
Currently Smack can establish connections via TCP/IP and HTTP via BOSH. WebSockets are yet another way to connect to a server.
Line 117: Line 123:
''List of Teaser Tasks:'' https://issues.prosody.im/?q=state%3Dopen+difficulty%3Deasy
''List of Teaser Tasks:'' https://issues.prosody.im/?q=state%3Dopen+difficulty%3Deasy


''Contact chat:'' [xmpp:prosody@conference.prosody.im prosody@conference.prosody.im]
''Contact chat:'' [xmpp:prosody@conference.prosody.im prosody@conference.prosody.im] [https://chat.prosody.im/ web client]


=== Standalone mod_firewall ===
=== Standalone mod_firewall ===
Line 205: Line 211:
''Project Contact Person'': Emmanuel Gil “Link Mauve” Peyrot [mailto:linkmauve@linkmauve.fr <linkmauve@linkmauve.fr>], Maxime “pep” Buquet [mailto:pep@bouah.net <pep@bouah.net>]
''Project Contact Person'': Emmanuel Gil “Link Mauve” Peyrot [mailto:linkmauve@linkmauve.fr <linkmauve@linkmauve.fr>], Maxime “pep” Buquet [mailto:pep@bouah.net <pep@bouah.net>]


''List of Teaser Tasks'': https://lab.louiz.org/poezio/poezio/issues?label_name=GSoC+teaser+task
''List of Teaser Tasks'': https://lab.louiz.org/poezio/poezio/issues?label_name=Easy


''Contact chat'': [xmpp:poezio@muc.poez.io?join poezio@muc.poez.io]
''Contact chat'': [xmpp:poezio@muc.poez.io?join poezio@muc.poez.io]
Line 266: Line 272:
# Write some views displaying mock data in a new poezio tab
# Write some views displaying mock data in a new poezio tab
# Wire up the views to the data provided by slixmpp
# Wire up the views to the data provided by slixmpp
== Dino ==
''Website:'' https://dino.im/<br/>
''Source Code:'' https://github.com/dino/dino<br/>
''Description:'': Dino is a modern open-source chat client for the desktop. It focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind.<br/>
''Project Contact Persons:'' fiaxh and larma [mailto:team@dino.im <team@dino.im>]<br/>
''List of Teaser Tasks:'' https://github.com/dino/dino/issues
''Contact chat:'' [xmpp:chat@dino.im chat@dino.im]
=== Jingle File Transfer ===
''Brief explanation'': The XMPP protocol includes a signaling system to set-up peer-to-peer connections, dubbed Jingle. One usecase for Jingle is to transfer files without an intermediary. This project idea is about adding support for file transfers using Jingle, fully integrated with current Dino features.
''Involved technologies'': XMPP, Jingle/WebRTC, Vala, Networking
''Mentors'': Marvin W (larma), fiaxh
''Deliverables / Expected results'':
* Support for sending and receiving Jingle file transfers
* Automatically detect when peer-to-peer file transfer usage makes sense instead of http file uploads
* Support for WebRTC-based Jingle transport for compatibility with web-based clients
* Implement OpenPGP and OMEMO encrypted file transfers
=== Inline link preview ===
''Brief explanation'': When sharing links using chat messages, it is often hard to see what is behind the link. Many clients thus provide previews of the linked content. We'd like to add this functionality and give a preview or embed for all kind of links, for example by parsing the Open Graph protocol, similar metadata or heuristic approaches. We also want to explore ways to send preview information with the message to reduce workload for the receiving devices.
''Involved technologies'': XMPP, Vala, GTK+, Web, OpenGraph
''Mentors'': Marvin W (larma), fiaxh
''Deliverables / Expected results'':
* User interface widget to display metadata, suitable for preview image, title, abstract and the original url/domain.
* Automatic generation of metadata, working with major websites. This should be done in a generic fassion, not targeting a specific website
* Design or reuse a specification for sending metadata with XMPP messages
43

edits

Navigation menu