Stockholm sprint, first draft

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
Maxime “pep” Buquet 2019-10-02 22:23:43 +02:00
parent 5d983d3e4a
commit c66189d689
3 changed files with 131 additions and 0 deletions

View file

@ -0,0 +1,131 @@
---
title: "Sprint in the cold north"
date: 2019-10-01T20:57:38+02:00
tags: [XMPP, Sprint]
draft: true
---
Another episode of the XMPP sprints series happened this weekend close to
Stockholm in the Nacka prefecture, in a house we rented. We worked together on
improving a new groupchat bookmarks specification, file transfer
interoperability issues, and a future landing page for new XMPP users!
As usual, every developer meetup comes up with its share of bug fixes, new
ideas, and improvements.
![Stockholm scenery](../stockholm.jpg)
### Groupchat Bookmarks (Bookmarks 2)
Last year's summer, Dave Cridland and JC Brand submitted a new specification
titled ["Bookmarks 2 (This time it's Serious)"][bookmarks-pep2]. This XEP
didn't get much attention in the community until this weekend.
As mentioned in a [previous article][cbg-sprint-bookmarks], there are multiple
specifications for bookmarks in XMPP, one using the [Private XML
storage][bookmarks-private], and another one using [PEP as
storage][bookmarks-pep1]. Not so long after the Cambridge sprint last year,
Daniel submitted a [conversion XEP][bookmarks-conversion] to facilitate client
behaviour and thus user experience.
This new specification also uses PEP as storage, but it brings a few
improvement to the table, specifically because it splits updates to the
bookmark storage into per entry operations instead of updating the whole
storage at once. This allows for finer grained handling in clients, and
prevents some race conditions.
The XEP came up with its share of challenges that some of us attempted to fix
in a [pull request][bookmarks-PR-835] that has been submitted and is now
awaiting feedback from the authors.
[Bookmarks 2][bookmarks-pep2] is now implemented in at least 4 clients,
(Gajim, Conversations, Dino, Renga, some initial work in Movim and poezio),
but will not be used as long as the feature is not advertized by the server. A
new [prosody module][bookmarks-prosody] is also available for adventurous
services operators.
[cbg-sprint-bookmarks]: https://bouah.net/2018/08/cambridge-xmpp-sprint/
[bookmarks-private]: https://xmpp.org/extensions/xep-0049.html
[bookmarks-pep1]: https://xmpp.org/extensions/xep-0048.html
[bookmarks-pep2]: https://xmpp.org/extensions/xep-0402.html
[bookmarks-conversion]: https://xmpp.org/extensions/xep-0411.html
[bookmarks-PR-835]: https://github.com/xsf/xeps/pull/835
[bookmarks-prosody]: https://modules.prosody.im/mod_bookmarks2.html
### New landing page
Roal and I worked on an idea that came up at the UX sprint in Brussels in
January, to have a landing page for new users that would recommend a specific
server depending on different factors that would be gathered automatically for
the most part (if not all). This is more or less similar to other portals like
[joinmastodon][joinmastodon], or [nextcloud sign-up process][nextcloud-signup].
While I am no designer at all, building up a website isn't the hardest part,
what is hard is finding a way to convey to the user what "federation" or
"public network" mean. Roel teaches in Interaction Design, and so he was a
great help over the weekend. We came up with a narrative for the project, and
a sketch for a sign-in flow.
The project is far from being over, this is only the tip of the iceberg. Lots
of work needs to be done with the "stakeholders", that is mainly users and
server operators.
To know what server to recommend to users, we need to first get a list a
servers we are confident about and are willing to recommend. This would
certainly mandate discussing with server operators to get feedback. And this
would then be fed into usability testing sessions for user to validate all of
it. After that, we would need lots of promotion around it, and that's also
going to take a significant amount of effort.
While I am excited about all this, I don't think diving in head first is a
good strategy and I would rather take it slow.
[joinmastodon]: https://joinmastodon.org
[nextcloud-signup]: https://nextcloud.com/signup
### And more
Pulkomando has been working on implementing IBR support in [Renga][Renga], and
reported with Link Mauve issues to server implementations that weren't
respecting the specification. The issue in prosody has been fixed, and one has
been opened [for ejabberd][IBR_ejabberd].
Larma tackled issues with bot bridging, where for example with
[matterbridge][matterbridge], users of the bridged network are displayed as
talking through the bot. This could be improved UI-wise, but requires some
groundwork and spawned [discussions][MUC_thread] about the groupchat protocol
in some specific cases.
Fiaxh spent some time improving the empty placeholder for no opened
conversations in Dino. Here is a preview:
![Dino no-conversations placeholder screen](../dino-no-conversations-placeholder.png)
Other people worked on Jingle File Transfer interoperability and narrowed down
the cause of a somewhat old issue [in gajim][FT_gajim], and also discovered
an issue with the epoll backend [in prosody][FT_prosody], and another [in
dino][FT_dino].
[IBR_ejabberd]: https://github.com/processone/ejabberd/issues/3045
[matterbridge]: https://github.com/42wim/matterbridge
[MUC_thread]: https://mail.jabber.org/pipermail/standards/2019-September/036495.html
[FT_gajim]: https://dev.gajim.org/gajim/gajim/issues/9692
[FT_prosody]: https://issues.prosody.im/1438
[FT_dino]: https://github.com/dino/dino/commit/5d65f047d0fd1a1ed4a3bbe076d5cb4df76e7d5f
### You can contribute too!
I would like to take this opportunity to remind you that you can also
[contribute][sprint-guidelines] to sprints! If you are a developer, a
translator, working on documentation, or in any other way contributing to an
XMPP implementation, we encourage you to find 2-3 other people close to you
and organize a sprint!
The [XMPP Standards Foundation][XSF] (specifically the [SCAM][SCAM] team) will
be happy to help you get it all sorted, and also provide some budget for your
event if necessary. Please do [contact us][sprint-room]!
[sprint-guidelines]: https://wiki.xmpp.org/web/Sprints#Organizing_an_event
[XSF]: https://xmpp.org
[SCAM]: https://xmpp.org/about/xsf/scam-team
[sprint-room]: xmpp:xmpp-sprint@chat.cluxia.eu?join

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 MiB