Difference between revisions of "Google Summer of Code 2022"

Jump to navigation Jump to search
Line 84: Line 84:
''Deliverables / Expected Results:''<br/>
''Deliverables / Expected Results:''<br/>
* User interface widget to display metadata, suitable for preview image, title, abstract and the original url/domain.
* 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
* Automatic generation of metadata, working with major websites. This should be done in a generic fashion, not targeting a specific website
* Design or reuse a specification for sending metadata with XMPP messages
* Design or reuse a specification for sending metadata with XMPP messages
=== Improve file transfers ===
This topic consists of 3 projects. The second project "Peer-to-Peer file sharing" can only be achieved by first implementing the first project "Stateless file sharing". "WebRTC file transfer" can be implemented independent of the other two.
==== Stateless file sharing ====
''Brief explanation:'' Attach metadata to HTTP file transfers and display it.<br/>
''Involved Technologies:'' Vala, XMPP, HTTP<br/>
''Relevant readings:'' [https://xmpp.org/extensions/xep-0446.html XEP-0446], [https://xmpp.org/extensions/xep-0447.html XEP-0447], [https://xmpp.org/extensions/xep-0363.html XEP-0363]<br/>
''Deliverables / Expected Results:''<br/>
* Use [https://xmpp.org/extensions/xep-0447.html Stateless file sharing (SFS)] for outgoing HTTP file transfers.
* Send minimal thumbnails (less than 16 pixels) for image file transfers
* Display minimal thumbnails blurred on incoming file transfers (before file is fetched).
==== Peer-to-Peer file sharing ====
''Brief explanation:'' Allow for on-demand multi-party peer-to-peer file transfers.<br/>
''Involved Technologies:'' Vala, XMPP, Jingle<br/>
''Relevant readings:'' [https://xmpp.org/extensions/xep-0447.html XEP-0447], [https://xmpp.org/extensions/xep-0234.html XEP-0234]<br/>
''Deliverables / Expected Results:''<br/>
* Implement [https://xmpp.org/extensions/xep-0234.html#requesting Jingle File Transfer requests] to request and deliver files.
* Announce availability of Jingle file transfer using [https://xmpp.org/extensions/xep-0447.html Stateless file sharing (SFS)] for outgoing file transfers and after retrieval.
==== WebRTC file transfer ====
''Brief explanation:'' Add support for WebRTC-based file transfers using WebRTC data channels for web compatibility and improved NAT traversal.<br/>
''Involved Technologies:'' Vala, XMPP, Jingle, WebRTC<br/>
''Relevant readings:'' [https://xmpp.org/extensions/xep-0343.html XEP-0343], [https://xmpp.org/extensions/xep-0234.html XEP-0234]<br/>
''Deliverables / Expected Results:''<br/>
* Implement SCTP protocol
* WebRTC data channel protocol
* Use [https://xmpp.org/extensions/xep-0343.html Jingle WebRTC data channel signalling] for file transfers when supported by peer.
=== Rich message support ===
''Brief explanation:'' Add support for creating and displaying rich test messages.<br/>
''Involved Technologies:'' Vala, XMPP, GTK+, Pango<br/>
''Relevant readings:'' [https://xmpp.org/extensions/xep-0393.html XEP-0393], [https://xmpp.org/extensions/xep-0394.html XEP-0394], [https://xmpp.org/extensions/xep-0372.html XEP-0372]<br/>
''Deliverables / Expected Results:''<br/>
* Add rich text features to Dino's chat input box using buttons and well-known keyboard shortcuts for bold, italic, strikethrough, monospace, lists, blockquotes, code blocks, links and mentions.
* Allow users to activate Markdown input, which is instantly converted to rich text during input.
* Send rich text messages using [https://xmpp.org/extensions/xep-0394.html Message Markup] and [https://xmpp.org/extensions/xep-0372.html References] as well as a fallback using [https://xmpp.org/extensions/xep-0393.html Message Styling]
* Apply markup to messages in conversation history via Pango Attributes


= Mellium =
= Mellium =
72

edits

Navigation menu