Fractal (software)

Messaging software for GNOME

Fractal

Version 6

Developer(s)| The GNOME Project
Initial release| 16 March 2018; 7 years ago (2018-03-16)
Repository|

* gitlab.gnome.org/World/fractal

Written in| Rust
Platform| Unix-like
Standard(s)| Matrix
Available in| 26 languages[1]
Type| IM, chat
License| GPLv3
Website| wiki.gnome.org/Apps/Fractal

Fractal is an instant messaging client and collaboration software for the GNOME desktop based on the Matrix protocol.

It is free software under the GNU General Public License version 3. Fractal can be installed on various Linux distributions via Flathub, which is the recommended installation method,[2] although some distributions provide packages through their official repositories.

## Features

[edit]

Fractal integrates well into the GNOME desktop with a clean and easy-to-use user interface design that is optimized for collaboration in big groups.[3] The functionality was still limited in early releases from spring 2018, when features such as video chat and end-to-end encryption were missing.[4] The user interface targets both smartphones and desktop systems and adapts to different screen sizes and formats.[5][6]

## Architecture

[edit]

Fractal is written in Rust and has a graphical user interface that, like software for GNOME, is based on the GTK widget toolkit. For the adaptive user interface, it uses a software library called Libadwaita.[7] Logon credentials can be stored in any local password manager that provides the Secret Service API.[3] The functionality is to be split into separate frontends for mass chat and personal instant messaging using a common backend, tentatively called Discussions and Messages, respectively.[8][9]

## History

[edit]

The first code was committed to Fest (formerly known as ruma-gtk) on December 29, 2016, from which the Fractal codebase was forked by Daniel García Moreno in August 2017.[10] For the first release (v0.1.0) on November 10, 2017, it was called Guillotine.

With the release of version 0.1.22 on March 27, 2018, it entered beta status. With GNOME version 3.30 of September 5, 2018, it reached release status.

Over that summer, two students worked on Fractal, which was sponsored as part of the Google Summer of Code program, including the development of localization and spell-checking support.[11] Computer manufacturer Purism is working to integrate it into the crowd-funded Linux smartphone Librem 5, scheduled for market release in "Q4 2019".[12] Purism is therefore sponsoring the development of some features such as support for Matrix' end-to-end encryption (E2EE) that was standardized in 2018. E2EE is implemented as a separate software module whose basic functionality was available by autumn 2018.[13]

## References

[edit]

1. ^ "fractal-gtk/po/LINGUAS · master · GNOME / fractal". GitLab.
2. ^ "README.md · master · GNOME / fractal". GitLab. 17 August 2023.
3. ^ a b Edivaldo Brito (2018-12-09). "Como instalar o app de mensagens Fractal no Linux". Blog do Edivaldo (in Portuguese). Retrieved 2019-02-22.
4. ^ Ryan Lerch (2018-05-30). "Fractal: a GNOME Matrix chat client". Fedora Magazine. Retrieved 2019-02-21.
5. ^ Michael Larabel (2018-10-11). "Purism Is Hoping GNOME 3.32 Will Be In Great Shape For Their Librem 5 Smartphone". Phoronix. Retrieved 2019-02-20.
6. ^ Verma, Adarsh (2018-10-14). "Linux Smartphone Librem 5 Will Ship With GNOME 3.32". Fossbytes. Retrieved 2019-02-21.
7. ^ "Fractal 5 released". GNOME Discourse. 2023-11-25. Retrieved 2024-09-13.
8. ^ Tilley, Sean (2018-05-22). "Fractal is a new messaging app for the Gnome desktop, powered by Matrix". Medium. Retrieved 2019-02-21.
9. ^ thamieu; et al. (2018-09-20). "Parution de GNOME 3.30". LinuxFr.org (in French). Retrieved 2019-02-22.
10. ^ Platte, Jonas (2016-12-29). "Initial commit (3f32474a) · Commits · GNOME / fractal". GitLab. Retrieved 2019-02-21.
11. ^ Michael Larabel (2018-08-12). "Pitivi's User Interface Is Getting Better Thanks To GSoC, Plus Other GNOME Improvements". Phoronix. Retrieved 2019-02-20.
12. ^ Nestor, Marius (2018-10-11). "Purism's Privacy-Focused Librem 5 Linux Phone Will Ship with GNOME 3.32 Desktop". softpedia. Retrieved 2019-02-21.
13. ^ Thommes, Ferdinand (2018-10-16). "Neuer Lagebericht zum Librem 5". linuxnews.de (in German). Retrieved 2019-02-21.

## External links

[edit]

* Official website
* Source code repository

* v
* t
* e

GNOME

Core Applications|

* Boxes
* Calculator
* Calendar
* Character Map
* Dictionary
* Disks
* Evince
* Files
* Loupe
* Text Editor
* Software
* Snapshot
* Terminal
* Videos
* Web

Extras|

| Development|

* Anjuta
* Builder
* Glade Interface Designer
* Meld
* GNOME Devhelp
* Geany
* Gtranslator

|

Office|

* AbiWord
* Dia
* Evolution
* GNOME LaTeX
* Gnumeric
* OCRFeeder

Graphics|

* F-Spot
* GIMP
* gThumb
* Inkscape
* Shotwell
* Simple Scan

Internet|

* Balsa
* Empathy
* Ekiga
* Geary
* GNOME Connections
* GNOME Fractal
* Gobby
* Jami
* Transmission-gtk

Media|

* Banshee
* EasyTag
* Pitivi
* Rhythmbox
* Sound Juicer
* SoundConverter
* sushi

Games|

* GNOME Games
* Chess
* Mines
* gbrainy
* PyChess

Utilities|

* Archive Manager
* Brasero
* dconf-editor
* gedit
* gnote
* GParted
* Seahorse
* Tomboy
* Yelp

Components|

| User interface|

| GNOME 40|

* Mutter on GSK
* …

|

GNOME 3|

* Client-Side Decoration
* Cantarell
* GDM
* Mutter
* GNOME Shell
* Tango Desktop Project
* Orca

GNOME 2|

* Metacity
* GNOME Panel
* Clearlooks

Other|

* Adwaita
* Cinnamon
* MATE
* Diodon
* GNOME Do
* Avant Window Navigator

GNOME Base|

* GTK
* GDK
* GSK
* ATK
* Clutter
* Pango
* GLib
* GObject
* GIO
* IBus

Other|

* dconf
* Keyring
* GNOME-DB
* GVfs
* GnomeVFS
* Librsvg
* TinySPARQL
* Vala
* libxslt
* libxml2

freedesktop.org|

* AppStream
* D-Bus
* GStreamer
* NetworkManager
* Poppler
* Wayland
* X.Org Server
* PulseAudio
* PackageKit
* HarfBuzz
* Cairo

Community|

* GNOME Foundation
* GUADEC
* The GNOME Project
* Outreachy

People|

* Miguel de Icaza
* Luis Villa
* Havoc Pennington
* Karen Sandler

* Linux portal
* Free and open-source software portal
* Category
* Commons
* WikiProject

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template