Movim (My Open Virtual Identity Manager) is a
distributed social network
A distributed social network or federated social network is an Internet social networking service that is decentralized and distributed across distinct service providers (similar to email, but for social networks), such as the Fediverse or the ...
built on top of
XMPP
Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), ...
, a popular open standards communication protocol. Movim is a
free and open source software
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
licensed under the
AGPL-3.0-or-later license.
It can be accessed using existing XMPP clients and
Jabber
Jabber may refer to:
* The original name of the Extensible Messaging and Presence Protocol (XMPP), the open technology for instant messaging and presence.
* Jabber.org, the public, free instant messaging and presence service based on XMPP.
* Jabbe ...
accounts.
The project was founded by Timothée Jaussoin in 2010. It is maintained by Timothée Jaussoin and Christine Ho.
Concept
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
A pidgin , or pidgin language, is a grammatically simplified means of communication that develops between two or more groups of people that do not have a language in common: typically, its vocabulary and grammar are limited and often drawn from s ...
,
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.
Users can export their data to other pods or offline allowing for greater flexibility.
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
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
, is a
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
and can be experimented with by external developers.
Technology
Movim is developed using
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
,
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone t ...
and
HTML5
HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HT ...
. The software initially used the
Symfony
Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT license.
Goal
Symfony aims to speed up the creat ...
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
Apis or APIS may refer to:
* Apis (deity), an ancient Egyptian god
* Apis (Greek mythology), several different figures in Greek mythology
* Apis (city), an ancient seaport town on the northern coast of Africa
**Kom el-Hisn, a different Egyptian ci ...
.
Movim was earlier based on the
JAXL library for implementing XMPP. JAXL has been replaced by
Moxl (Movim XMPP Library), licensed under the
AGPL-3.0-only license, to manage connecting to the server through the XMPP
WebSocket
WebSocket is a computer communications protocol, providing full-duplex communication channels over a single Transmission Control Protocol, TCP connection. The WebSocket protocol was standardized by the Internet Engineering Task Force, IETF as in ...
protocol. This is claimed to have reduced the code complexity and performance load while providing better error management.
The platform used
Modl (Movim Data Layer) until the version 0.13, a PHP database layer using
DAO Patterns for database interfacing. The project was then migrated to the
Laravel
Laravel is a free and open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. Some of the feature ...
Eloquent ORM.
Architecture
The project consists of a set of libraries that provide an
abstraction layer
In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics libra ...
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
Ajax may refer to:
Greek mythology and tragedy
* Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea
* Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris
* ''Ajax'' (play), by the ancient Gree ...
elements without using
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
.
The page display uses a system of nested templates.
See also
*
Diaspora
A diaspora ( ) is a population that is scattered across regions which are separate from its geographic place of origin. Historically, the word was used first in reference to the dispersion of Greeks in the Hellenic world, and later Jews afte ...
*
Friendica
*
GNU Social
*
Comparison of social networking software
*
Comparison of cross-platform instant messaging clients
The landscape for instant messaging involves cross-platform instant messaging clients that can handle one or multiple protocols. Clients that use the same protocol can typically federate and talk to one another. The following table compares gener ...
*
Comparison of microblogging and similar services
*
Comparison of VoIP software
This is a comparison of voice over IP (VoIP) software used to conduct telephone-like voice conversations across Internet Protocol (IP) based networks. For residential markets, voice over IP phone service is often cheaper than traditional public swi ...
References
{{reflist
External links
Movim Home PageMovim Github
Social networking services
Microblogging software
Distributed computing
Free software
Software using the GNU AGPL license
Free instant messaging clients
Instant messaging clients
Free groupware
Free communication software
Jabber
Jabber may refer to:
* The original name of the Extensible Messaging and Presence Protocol (XMPP), the open technology for instant messaging and presence.
* Jabber.org, the public, free instant messaging and presence service based on XMPP.
* Jabbe ...
Free XMPP clients
XMPP clients
Instant messaging
Groupware
Social software
Communication software
VoIP software
Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms Internet ...
Free VoIP software
VoIP software