Stockholm sprint, first draft
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
parent
5d983d3e4a
commit
c66189d689
3 changed files with 131 additions and 0 deletions
131
content/posts/stockholm-sprint.md
Normal file
131
content/posts/stockholm-sprint.md
Normal 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
|
BIN
static/2019/10/dino-no-conversations-placeholder.png
Normal file
BIN
static/2019/10/dino-no-conversations-placeholder.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
BIN
static/2019/10/stockholm.jpg
Normal file
BIN
static/2019/10/stockholm.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 5 MiB |
Loading…
Reference in a new issue