HOME

TheInfoList



OR:

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 Page

Movim 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