Movim (My Open Virtual Identity Manager) is a
distributed social network
A distributed social network (more recently referred to as a federated social network) is a network wherein all participating social networking services can communicate with each other through a unified communication protocol. Users that reside ...
built on top of
XMPP
Extensible Messaging and Presence Protocol (abbreviation XMPP, originally named Jabber) is an Open standard, open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Ext ...
, a popular open standards communication protocol. Movim is a
free and open source software
Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
licensed under the
AGPL-3.0-or-later license.
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.
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 form of contact language 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 f ...
,
Xabber
Xabber (from XMPP and Jabber) 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 Reds ...
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
An Internet service provider (ISP) is an organization that provides a myriad of services related to accessing, using, managing, or participating in the Internet. ISPs can be organized in various forms, such as commercial, community-owned, non ...
, or a friend. The framework, which is being built on
PHP
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
, is a
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
and can be experimented with by external developers.
Technology
Movim is developed using
PHP
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
,
CSS and
HTML5
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
. 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 crea ...
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. 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 a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
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 open-source software, free and open-source PHP-based web framework for building web applications. It was created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) ar ...
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), ''Ajax'' (play), by the an ...
elements without using
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
.
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 birth, place of origin. The word is used in reference to people who identify with a specific geographic location, but currently resi ...
*
Friendica
Friendica (formerly Friendika, originally Mistpark) is a free and open-source software distributed social network. It forms one part of the Fediverse, an interconnected and decentralized network of independently operated servers.
Features
Friendi ...
*
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 that examines applications and systems used for conducting voice and multimedia communications across Internet Protocol (IP) networks. VoIP technology has transformed telecommunications by offe ...
References
{{reflist
External links
Movim Home Page
Social networking services
Microblogging software
Distributed computing
Software using the GNU Affero General Public License
Free instant messaging clients
Free XMPP clients
Free VoIP software
Free software programmed in JavaScript
Free software programmed in PHP