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