• chevron_right

    Dennis Schubert: ActivityPub - Final thoughts, one year later.

    debacle – Sunday, 13 January - 22:46 edit

Dennis Schubert: ActivityPub - Final thoughts, one year later.

Maybe Diaspora could be re-implemented using XMPP? :-)

I would like to hold XMPP up as an example, here. If you do not know XMPP, it is short for Extensible Messaging and Presence Protocol, a protocol for building distributed instant messaging applications. While extensibility was so important they even made it part of the protocol’s name, they did not want to end up with a runaway specification that depends on having implementers talk to each other to be working reliably.

Instead, they wrote a very strict base set of the absolute minimums required to build on XMPP, and pushed that through the IETF’s standards track, ending up with what is now RFC 6120. Acknowledging that they can never address all needs in such a strict specification document, they opened themselves for more flexibility:

This document specifies how clients connect to servers and specifies the basic semantics of XML stanzas. However, this document does not define the “payloads” of the XML stanzas that might be exchanged once a connection is successfully established; instead, those payloads are defined by various XMPP extensions. For example, [XMPP-IM] defines extensions for basic instant messaging and presence functionality. In addition, various specifications produced in the XSF’s XEP series [XEP-0001] define extensions for a wide range of applications.

They introduced XEPs, XMPP Extensions Protocols. The very first XEP ever published, XEP-0001, describes the process of getting a new XEP published to the world, and that process of that is not very hard to understand or tricky to follow. Everyone is invited to submit a proposal, you do not have to be a member of any organization, and in fact, you do not even need to maintain your own implementation. As long as your proposal follows the rules and matches the required format, it will be taken into consideration. After a proposal has been made, there is a specific chain of events, but it boils down to an open discussion on those proposals, and if there are no more doubts or things to improve, and if people agree that the proposal would be a useful thing to standardize, the proposal will eventually end up as an actual XEP.

At the time of writing, there are 151 active, draft, experimental, final, or proposed XEPs, and all of them can be found on the XMPP Standards Foundation’s website. Everyone interested in reading up on those topics, for example because they want to implement a client or a server, can find those documents there, and there is also a central infrastructure for asking questions and proposing improvements, which is open to everyone. This way, the XSF has ensured XMPP can be extended to all imaginable use cases, without ending up with watered-down or vague specifications.

If, for example, I wanted to implement an XMPP server or a client4, I could read the relevant RFCs as well as the XEPs that are relevant to my project. Some documents, like XEP-0387 for example, would even help me out deciding which XEPs are essential, by listing the things that are important when building a web client, or an advanced desktop client, or a mobile application, … There would be no need for me to talk to other XMPP server or client implementers for my implementation to work, and I could be very comfortable about the interoperability of my systems if I built them in accordance to the specifications. That is what specifications are meant to be.

#activitypub #diaspora #standards #xmpp #movim #salutatoi #xep

  • favorite

    1 Like

    Timothée Jaussoin

  • chevron_right

    Happy Birthday, XMPP! 20th Anniversary of 1st Jabber Server

    debacle – Thursday, 3 January - 21:37 edit

XMPP a.k.a. Jabber, a communication protocol for message-oriented middleware is probably the most mature technology for free and federated instant messaging. (IRC is far older, of course.) On 2019-01-04 we can celebrate the 20th anniversary of the first XMPP server release:

Jeremie Miller began working on the Jabber technology in 1998 and released the first version of the jabberd server on January 4, 1999.

In the last twenty years, we have seen protocols and services come and go, but XMPP, an IETF standard, is here to stay. It is backed by an international community of developers, does not depend on a single company, and is enhanced continuously by the XSF. Btw.: XMPP is not only used for chatting, but also for IoT, WebRTC, micro-blogging and social networks!

#xmpp #jabber #birthday #anniversary #jeremiemiller #federation

PS: ‎Ge0rG‎ pointed to the link to the original announcement on Slashdot. It reads:

Jeremie writes

"Jabber is a new project I recently started to create a complete open-source platform for Instant Messaging with transparent communication to other IM systems(ICQ, AIM, etc). Most of the initial design and protocol work is done, as well as a working server and a few test clients."

  • favorite

    3 Like

    Simon Pepping , Timothée Jaussoin , Dominik George

  • Be chevron_right

    The perfect ejabberd server setup using ansible

    debacle – / berlin-xmpp-meetup – Wednesday, 2 January - 11:35 edit

The perfect ejabberd server setup using ansible

After having heard about the theoretical part of a perfect XMPP server setup in Holger's talk, Linus will now show us how to do this in practice with ejabberd. For this purpose we're going to use the configuration management tool ansible, which will automate the setup process. This makes it much easier to move your setup to a different machine or reinstalling it. After having a look into how the ansible scripts work and what they do on the server, we'll also do a live demonstration.

The ansible scripts cover the setup of ejabberd, Let's Encrypt-certificates, an SQL database with MySQL/MariaDB or PostgreSQL, HTTP File Upload and ejabberd admin interface with reverse proxy using nginx and sslh for multiplexing XMPP/XMPPS/HTTPS on a single port (that can be useful if you're behind a firewall). You can also enable nextcloud authentication, but we won't go into many details on that topic.

When? Wednesday, 2019-01-09 18:00 CET

Where? DBJR, Mühlendamm 3, 10178 Berlin

#xmpp #ejabberd #meeting #meetup #berlin #jabber #ansible

  • favorite

    2 Like

    Timothée Jaussoin , reik

  • Mo chevron_right

    Movim will be at the 35c3!

    Timothée Jaussoin – / Movim – Wednesday, 26 December - 06:52 edit

Having a question, an idea or do you simply want to talk about the project? You can meet us and the #XMPP folks at the #35c3 in #Leipzig.

Feel free to also join our official chatroom to know where to find us :)

35c3 Logo

  • Be chevron_right

    XMPP server with LDAP and XMPP as an onion service (and a sprint?)

    debacle – / berlin-xmpp-meetup – Friday, 7 December - 09:37

Berlin XMPP Meetup! Wednesday, 2018-12-12 18:00 CET Searchmetrics, Greifswalder Straße 212 10405 Berlin

This time, we actually talk about three things!

Paul will present us two features, many people would like to implement in their XMPP server, LDAP and TOR:

XMPP server with LDAP

We will look into some tricks from the enterprises and learn howto connect user accounts for e.g. XMPP, email, and web applications. Example setup with necessary files included!

XMPP as onion service (mini bonus talk)

We talk about using services over TOR and learn how to provide an onion service, with Prosody as example.

Will we organize a sprint in Berlin?

Last, but not least, there is the idea about organizing an open XMPP sprint on a weekend in March or April, after Chemnitzer Linux-Tage. Who likes to help? Who has ideas? Who has a room? Who would sponsor pizza and Argentinian mate?

#xmpp #ldap #tor #onion #meetup #berlin #sprint

  • favorite

    2 Like

    Timothée Jaussoin , Holger Weiß

  • chevron_right

    Contact publication

    Thomas – Thursday, 6 December - 12:56 edit

Hallo Movim! Ich teste Dich mal unter, eingeloggt mit einem XMPP-Account auf meinem privaten XMPP-Server (prosody 0.11.0). Ich verstehe noch nicht so ganz, wo welche Daten gespeichert werden, aber Deine Oberfläche gefällt mir schon ziemlich gut!
#xmpp #movim #prosody #neuHier
  • Mo chevron_right

    Hey tumblr users. Here is why Movim could be the best platform to migrate to!

    Timothée Jaussoin – / Movim – Monday, 3 December - 22:45 edit

Tumblr has decided to ban all NSFW content from its network. Although we understand the reasons why this decision has been made, it's a strong reminder that handling your content - NSFW or not - from a centralized and private platform can always lead to such censorship.

The Tumblr Logo

Movim has been built to prevent this kind of restriction. Here's a few reasons why.

Movim is a Free Software

Movim has been and will always be a Free Software. This provides you with the freedom to adapt it, redistribute it and use it in any way you would like to. You are then free to add new features, change some behaviors or customize as you wish, for yourself or your community.

Movim is based on an Open Standard : XMPP

All the content that you are publishing on Movim: articles, private messages or chatroom messages, pictures… are published using your #XMPP account that is separate from Movim itself (like your emails are separated from your email client).

The XMPP Logo

The XMPP standard is the official IETF Instant Messaging solution and is used accross the world by millions of people daily. Since 2008 Movim is pushing social features on top of it to provide to everyone a simple and modern way of publishing content, subscribing and reacting to it.

Movim is then just a way to access your content on the XMPP network (like your browser is accessing content on the Web). If you don't like Movim, you are also free to use one of the many other solutions to access your content and communicate with others… while keeping the same account!

Movim is easy to deploy

Movim is lightweight (only a few megabytes) and can be deployed on any server. We are providing a Docker image, a Debian package or a simple installation tutorial if you want to deploy it yourself.

The project only relies on widely used technologies like PHP, HTML5 and is fully compatible with MySQL, PostgreSQL and SQLite.

One instance can handle several hundreds of simultaneous sessions in real time.

We are also providing apps for Windows, macOS, Linux and Android that can easily be used for your own personnalized instance.

You can then build your own instance in a few clicks and host your own content while still being connected and explore the rest of the network.

Movim provides similar features to Tumblr's

Like Tumblr, it is possible to publish content in a few clicks, write articles (like this one), attach pictures or files. You can publish content on your own profile but also in Communities where you can collaborate with others and create a stream of articles around a topic and bring followers in.

It is possible to apply CSS stylesheets to fully customize your public blog.

It is also possible to share a content that you found on your own account, but also like and comment other people's content!

You can easily #tag content by putting #hashtags in your article or title. The other users will then be able to discover it while browsing tags on their own instance.

Movim has NSFW features built in. If you publish NSFW content, just add the nsfw tag and Movim will filter the content for the users who chose not to view it from their account. A spoiler overlay is also added in your news feed to prevent explicit content to be displayed on your screen while scrolling.

… but also provides more than Tumblr!

All the content published on Movim is broadcasted to your subscribers in real time! You will also be notified instantly for the likes and comments on your publications. A simple toggle will also allow you to publish your articles privately (restrict the publication to your subscribers) or publicly (share with the whole network).

Movim also provides a full, and modern Instant Messaging system, with chatrooms, message edition, stickers, video-conferencing and many more features… In a few clicks you'll be able to invite contacts and chat with them!

Movim is available on all the devices. Its fully responsive and the real-time UI allows you to access your content from your phone, tablet or computer and keep everything in sync.

So what are you waiting for? Come and try it!

If you have any concerns, questions, remarks or critics on the project, feel free to come to our official chatroom: and drop us a message.

That's all folks!

  • image
  • favorite

    6 Like

    debacle , amiablecannibal , roelofpieter , trx99 , xma , arie


  • 4 December Kristian

    Well. Really? :) I love movim and other open, decentralized social networks. But if there's one thing *all* of these fall ages behind Tumblr, Twitter or any of the "big" players, then it's usability and accessibility for non-technical end users. We've got a lot of work to do here...

  • 4 December Timothée Jaussoin

    I'd love to have your feedback on those concerns :)

  • 6 December Kristian

    @Timothée Jaussoin Would feel happy to do so. How and where? :)

  • person

    7 December udo.rader

    I'm curious.

    One of the reasons for Tumblr throwing out "adult" content from their site was because of their notoriously ineffective (if not to say incompetent) way to deal with highly illegal content and accounts on their site (mostly child pornography) plus a very defective "adult" mode, which again led to Apple throwing Tumblr out of their appstore and ad vendors threatening to withdraw from the platform.

    How is movim prepared to deal with illegal content or accounts?

    As a pod admin, I guess you throw someone out of your instance, but can you block someone from another pod?

    As a user, can you flag content or accounts (didn't figure out so far if or how you could do it)?

    And can I also block someone else?