This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
Original author(s) | Timothée Jaussoin |
---|---|
Developer(s) | The Movim Project |
Repository | |
Written in | PHP |
Type | Social network service |
License | AGPL-3.0-or-later [1] [2] |
Website | movim |
Movim (My Open Virtual Identity Manager) is a distributed social network built on top of XMPP, a popular open standards communication protocol. Movim is a free and open source software licensed under the AGPL-3.0-or-later license. [1] [2] It can be accessed using existing XMPP clients and Jabber accounts.
The project was founded by Timothée Jaussoin in 2010. It is maintained by Timothée Jaussoin and Christine Ho. [3]
Movim is a distributed social networking platform. It builds an abstraction layer for communication and data management while leveraging the strength of the underlying XMPP protocol.
XMPP is a widely used open standards communication platform. Using XMPP allows the service to interface with existing XMPP clients like Conversations, Pidgin, Xabber and Jappix. Users can directly login to Movim using their existing Jabber account.
Movim addresses the privacy concerns related to centralized social networks by allowing users set up their own server (or "pod") to host content; pods can then interact to share status updates, photographs, and other social data. [4] Users can export their data to other pods or offline allowing for greater flexibility. [4]
It allows its users to host their data with a traditional web host, a cloud-based host, an ISP, or a friend. The framework, which is being built on PHP, is a free software and can be experimented with by external developers.
Movim is developed using PHP, CSS and HTML5. [5] The software initially used the Symfony framework. Due to the complexity of the application and the XMPP connection management, developers rewrote Movim as a standalone application. It now has its own libraries and APIs.
Movim was earlier based on the JAXL library for implementing XMPP. [6] JAXL has been replaced by Moxl (Movim XMPP Library), licensed under the AGPL-3.0-only license, [7] to manage connecting to the server through the XMPP WebSocket protocol. This is claimed to have reduced the code complexity and performance load while providing better error management. [8]
The platform used Modl (Movim Data Layer) until the version 0.13, a PHP database layer using DAO Patterns for database interfacing. [9] The project was then migrated to the Laravel Eloquent ORM. [10]
The project consists of a set of libraries that provide an abstraction layer on top of XMPP for communication and data management.
Requests are handled by instances of a derived interface controller class. This methodology is similar to the query processing in a MVC framework.
Access to the interface is provided by a system of widgets, allowing through introspection capabilities, to write AJAX elements without using JavaScript. The page display uses a system of nested templates.
Irssi is an Internet Relay Chat (IRC) client program for Linux, FreeBSD, macOS and Microsoft Windows. It was originally written by Timo Sirainen, and released under the terms of the GNU GPL-2.0-or-later in January 1999.
Instant messaging (IM) technology is a type of online chat allowing immediate transmission of messages over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and triggers a transmission to the recipient(s), who are all connected on a common network. It differs from email in that conversations over instant messaging happen in real-time. Most modern IM applications use push technology and also add other features such as emojis, file transfer, chatbots, voice over IP, or video chat capabilities.
Pidgin is a free and open-source multi-platform instant messaging client, based on a library named libpurple that has support for many instant messaging protocols, allowing the user to simultaneously log in to various services from a single application, with a single interface for both popular and obsolete protocols, thus avoiding the hassle of having to deal with new software for each device and protocol.
Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.
Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The middleware creates a distributed communications layer that insulates the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by MOM.
Psi is a free instant messaging client for the XMPP protocol which uses the Qt toolkit. It runs on Linux, Windows, macOS and OS/2.
ejabberd is an Extensible Messaging and Presence Protocol (XMPP) application server and an MQ Telemetry Transport (MQTT) broker, written mainly in the Erlang programming language. It can run under several Unix-like operating systems such as macOS, Linux, FreeBSD, NetBSD, OpenBSD and OpenSolaris. Additionally, ejabberd can run under Microsoft Windows. The name ejabberd stands for Erlang Jabber Daemon and is written in lowercase only, as is common for daemon software.
Google Talk was an instant messaging service that provided both text and voice communication. The instant messaging service was variously referred to colloquially as Gchat, Gtalk, or Gmessage among its users.
BitlBee is a cross-platform IRC instant messaging gateway, licensed under the terms of the GNU General Public License.
The following is a comparison of instant messaging protocols. It contains basic general information about the protocols.
Gajim is an instant messaging client for the XMPP protocol which uses the GTK toolkit. The name Gajim is a recursive acronym for Gajim's a jabber instant messenger. Gajim runs on Linux, BSD, macOS, and Microsoft Windows. Released under the GPL-3.0-only license, Gajim is free software. A 2009 round-up of similar software on Tom's Hardware found version 0.12.1 "the lightest and fastest jabber IM client".
Jitsi is a collection of free and open-source multiplatform voice (VoIP), video conferencing and instant messaging applications for the Web platform, Windows, Linux, macOS, iOS and Android. The Jitsi project began with the Jitsi Desktop. With the growth of WebRTC, the project team focus shifted to the Jitsi Videobridge for allowing web-based multi-party video calling. Later the team added Jitsi Meet, a full video conferencing application that includes web, Android, and iOS clients. Jitsi also operates meet.jit.si, a version of Jitsi Meet hosted by Jitsi for free community use. Other projects include: Jigasi, lib-jitsi-meet, Jidesha, and Jitsi.
Socket.IO is an event-driven library for real-time web applications. It enables real-time, bi-directional communication between web clients and servers. It consists of two components: a client, and a server. Both components have a nearly identical API.
Distributed social network projects generally develop software, protocols, or both.
Tox is a peer-to-peer instant-messaging and video-calling protocol that offers end-to-end encryption. The stated goal of the project is to provide secure yet easily accessible communication for everyone. A reference implementation of the protocol is published as free and open-source software under the terms of the GNU GPL-3.0-or-later.
Matrix is an open standard and communication protocol for real-time communication. It aims to make real-time communication work seamlessly between different service providers, in the way that standard Simple Mail Transfer Protocol email currently does for store-and-forward email service, by allowing users with accounts at one communications service provider to communicate with users of a different service provider via online chat, voice over IP, and videotelephony. It therefore serves a similar purpose to protocols like XMPP, but is not based on any existing communication protocol.
Spark is an open-source instant messaging program that allows users to communicate in real time. It can be integrated with the Openfire server to provide additional features such as controlling the various Spark functionalities from a central management console, or integrating with a proprietary customer support service known as Fastpath which allows its users to interact with the platform using the Spark client. Being a cross-platform application, Spark can run on various systems. Installers for Windows, macOS and Linux are available on the official website.
Xabber is a XMPP client for the Android Operating System. It is developed as an open source Project on GitHub and is licensed under the GNU GPL v.3 license. The original developers are from a software company called Redsolution, Inc. Xabber is available on the Android Play Store and on F-Droid.
FlatBuffers is a free software library implementing a serialization format similar to Protocol Buffers, Thrift, Apache Avro, SBE, and Cap'n Proto, primarily written by Wouter van Oortmerssen and open-sourced by Google. It supports “zero-copy” deserialization, so that accessing the serialized data does not require first copying it into a separate part of memory. This makes accessing data in these formats much faster than data in formats requiring more extensive processing, such as JSON, CSV, and in many cases Protocol Buffers. Compared to other serialization formats however, the handling of FlatBuffers requires usually more code, and some operations are not possible.
Conversations is a free software, instant messaging client application software for Android. It is largely based on recognized open standards such as the Extensible Messaging and Presence Protocol (XMPP) and Transport Layer Security (TLS).