GNOME explained

Developer:The GNOME Project
Frequently Updated:yes
Programming Language:C, C++, Python,Vala, JavaScript[1]
Operating System:Unix-like with X11
Genre:Desktop environment
Status:Active
Language:more than 50 languages[2]
License:GNU LGPL, GNU GPL
Working State:Current

GNOME (pronounced or) is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software. It is an international project that includes creating software development frameworks, selecting application software for the desktop, and working on the programs that manage application launching, file handling, and window and task management.

GNOME is part of the GNU Project and can be used with various Unix-like operating systems, most notably Linux and as part of OpenSolaris Desktop.

Name

Initially, "GNOME" was an acronym of GNU Network Object Model Environment, referring to the original intention of creating a distributed object framework similar to Microsoft's OLE; it was dropped, because this no longer reflects the core vision of the GNOME project.[3]

History

GNOME was started in August 1997 by Miguel de Icaza and Federico Mena[4] as a free software project to develop a desktop environment and applications for it.[5] It was founded in part because KDE, an already existing free software desktop environment, relied on the Qt widget toolkit which at the time used a proprietary software license. In place of Qt, the GTK+ toolkit was chosen as the base of GNOME. GTK+ uses the GNU Lesser Public License (LGPL), a free software license that allows software linking to it to use a much wider set of licenses, including proprietary software licenses. GNOME itself is licensed under the LGPL for its libraries, and the GNU General Public License (GPL) for its applications.

The California startup Eazel developed the Nautilus file manager from 1999 to 2001. De Icaza and Nat Friedman founded Helix Code (later Ximian) in 1999 in Massachusetts. The company developed GNOME's infrastructure and applications, and in 2003 was purchased by Novell.

GNOME 2 (the previous major release) was very similar to a conventional desktop interface, featuring a simple desktop in which users could interact with virtual objects, such as windows, icons, and files. GNOME 2 used Metacity as its default window manager. The handling of windows, applications, and files in GNOME 2 is similar to that of contemporary desktop operating systems. In the default configuration of GNOME 2, the desktop has a launcher menu for quick access to installed programs and file locations; open windows may be accessed by a taskbar along the bottom of the screen, and the top-right corner features a notification area for programs to display notices while running in the background. However, these features can be moved to almost any position or orientation the user desires, replaced with other functions or removed altogether.

Description

The GNOME project provides two things: The GNOME desktop environment, a graphical user interface and core applications like Web (web browser), and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop and mobile user interface.[6]

The GNOME project puts heavy emphasis on simplicity, usability, and making things “just work” (see KISS principle). The other aims of the project are:

As with most free software projects, the GNOME project is loosely-managed. Discussion chiefly occurs on a number of public mailing lists. Developers and users of GNOME gather at an annual meeting known as GUADEC to discuss the current state of the project and its future direction.

GNOME often incorporates standards from freedesktop.org to allow GNOME applications to better interoperate with other desktops, encouraging both cooperation and competition.

Major subprojects

GNOME relies upon a large number of different projects:

A number of language bindings are available, allowing applications to be written in a variety of programming languages, such as C++ (gtkmm), Java (java-gnome), Ruby (ruby-gnome2), C# (Gtk#), Python (PyGObject), Perl (gtk2-perl), Tcl (Gnocl) and many others. The only languages currently used in applications that are part of an official GNOME desktop release are C, C++, Python, Vala and Javascript.[7]

Release cycle

Each of the component software products in the GNOME project has its own version number and release schedule. However, individual module maintainers coordinate their efforts to create a full GNOME stable release on an approximately six-month schedule. Some experimental projects are excluded from these releases.

GNOME releases are made to the main FTP server in the form of source code with configure scripts, which are compiled by operating system vendors and integrated with the rest of their systems before distribution. Most vendors use only stable and tested versions of GNOME, and provide it in the form of easily-installed, pre-compiled packages. The source code of every stable and development version of GNOME is stored in the GNOME Git source code repository.

A number of build-scripts (such as JHBuild or GARNOME) are available to help automate the process of compiling the source code.

Compatibility

GNOME runs on top of the X Window System and is available in most Linux distributions and BSDs either as the default desktop environment or an option. It is also installed with Solaris as part of OpenSolaris Desktop (previously known as Java Desktop System) since the Solaris Express 10/04 release.

Controversy over supported platforms

In May 2011 Lennart Poettering proposed systemd as a dependency for further releases of GNOME. As systemd is available only on Linux, the proposal led to discussion of possibility to drop other platforms support in future GNOME releases. While some met the proposal with criticism others evolved the idea to GNOME Operating System on top of Linux kernel.

While the discussion on mailing list faded with no conclusive result, the GNOME 3.2 Release Notes state that systemd will be required as of GNOME 3.4 release for multiseat support.

Features

Up until the release of GNOME 3.0, GNOME was designed around the traditional computing desktop metaphor. Users can change the appearance of their desktop through the use of themes, which usually consist of an icon set, a window manager border and GTK+ theme engine and parameters. The current default theme is Adwaita. The Human Interface Guidelines helps developers to produce applications that look and behave similarly to each other, which provides a cohesive GNOME experience.

GNOME has evolved from a traditional desktop metaphor to a user interface where switching between different tasks and virtual workspaces takes place in a new area called the overview. The redesigned GNOME experience features several main changes: released as the new interface for Gnome, GNOME Shell replaces the original GNOME Panel; Mutter replaces Metacity as the default window manager; the minimize and maximize buttons are no longer placed on the titlebar by default. Many of the default GNOME applications have also gone through redesigns to provide a more consistent and unified user experience.

In the default configuration of GNOME, the desktop has a top panel holding (from left to right) an activities button, clock, system status area and user menu. Clicking on the activities button or moving one's mouse to the top-left hot corner, brings one to the overview. The system status area holds various system indicators, such as those for volume, Bluetooth, network, battery, and accessibility. The user menu holds a chat availability indicator, shortcuts to system settings, as well as session actions such as logging out, switching users, locking the screen, or suspending the computer. The overview (accessed by clicking on the activities button in the top panel, or touching the top-left hot corner) shows the window picker,the workspace changer on the right, the dash on the left, a windows button, an applications button, and a search bar. While in the overview, users can click on the windows and application buttons just under the top panel to switch between the window picker and the application picker. The window picker provides a way to switch to other open windows; a convenient way to close multiple windows easily; and gives users a quick overview of current activities. The application provides an easy way to launch applications. The dash houses shortcuts to favorite applications and open windows. Also in the default interface are a new system for notifications. In GNOME 3, notifications popup from the bottom of the screen, as opposed to showing in the top-right of the screen as in GNOME 2.x.

Usability

See also: Controversy over GNOME 3. Since GNOME 2.0, a key focus of the project has been usability. To this end, the GNOME Human Interface Guidelines (HIG) were created. Following the guide, developers can create high-quality, consistent, and usable GUI programs, as it addresses everything from GUI design to recommended pixel-based layout of widgets.

During the 2.0 rewrite, many settings were deemed to be of little or no value to the majority of users and were removed. For instance, the preferences section of the Panel was reduced from a dialog of six tabs to one with two tabs. Havoc Pennington summarized the usability work in his 2002 essay "Free Software UI", emphasizing the idea that all preferences have a cost, and it is better to "unbreak the software" than to add a UI preference to do that:

Since the release of GNOME 3 the traditional desktop metaphor was abandoned in favor of GNOME Shell. This move received mixed reaction from community, though the outcome is not yet clear. The MATE desktop environment was forked from GNOME 2, and aims to retain the traditional GNOME 2 interface while keeping it compatible with GNOME 3. The issue was also addressed another way by Linux Mint team, who developed the "Mint GNOME Shell Extensions", which are supposed to bring GNOME 2 look and feel to GNOME 3.

Versions

Current release

GNOME 3.4 was released on March 28, 2012. It brought a large number of improvements to the user experience, including many bug fixes and small enhancements. The result is a shinier, more polished, more reliable GNOME 3. This release also contains some important new developments like smooth scrolling, refreshed user interface components, a much refined visual theme and application menus. Other highlights for this release include a new document search facility, a new application called Boxes, video calling, and a new animated background that updates over the course of the day. Easier management of Extensions. New Wacom panel in gnome control center.

Previous releases

GNOME 3.0 was released on April 6, 2011. It was announced at the July 2008 GUADEC conference in Istanbul. The code name ToPaZ (standing for Three Point Zero) was introduced around 2005[8] and for a long time was only a playground for vague ideas. Quite a few mock-ups were created as part of several ToPaZ brainstorming processes.[9] Though the philosophy around GNOME mandates that changes are incremental, the desktop received a major overhaul with the GNOME Shell.

GNOME 3.2 was released on September 28, 2011. This version brought more stability to the GNOME Shell and the underlying technologies, as well as improvements on the GNOME applications. New features include the ability to add online accounts, which allows the integration of services such as Google Docs, Google Calendar, and Google Contacts into GNOME; as well as an updated user menu. GNOME 3.2 also brings new applications, such as GNOME Contacts, GNOME Documents and the GNOME Sushi file previewer, as well as web application support in Epiphany 3.2.

Past releases

The last 2.x release was version 2.32, which was released in September 2010. It included improvements to the Empathy instant messenger client, Evince, and the Nautilus file manager. 2.32 was the last major release before 3.0.

Tests reveal that GNOME 2 (version 2.29) has lower memory utilization compared to KDE 4.4, but higher than Xfce 4.6 and LXDE 0.5 (which are also based on GTK+ like GNOME).

VersionDateInformation
August 1997GNOME development announced[10]
1.0March 1999First major GNOME release[11]
1.2May 2000"Bongo"[12]
1.4April 2001"Tranquility"[13]
2.0June 2002Major upgrade based on GTK2. Introduction of the Human Interface Guidelines.[14]
2.2February 2003Multimedia and file manager improvements.[15]
2.4September 2003"Temujin": Epiphany, accessibility support.[16]
2.6March 2004Nautilus changes to a spatial file manager, and a new GTK+ file dialog is introduced. A short-lived fork of GNOME, GoneME, is created as a response to the changes in this version.[17]
2.8September 2004Improved removable device support, adds Evolution.[18]
2.10March 2005Lower memory requirements and performance improvements. Adds: new panel applets (modem control, drive mounter and trashcan); and the Totem and Sound Juicer applications.[19]
2.12September 2005Nautilus improvements; improvements in cut/paste between applications and freedesktop.org integration. Adds: Evince PDF viewer; New default theme: Clearlooks; menu editor; keyring manager and admin tools. Based on GTK+ 2.8 with cairo support.[20]
2.14March 2006Performance improvements (over 100% in some cases); usability improvements in user preferences; GStreamer 0.10 multimedia framework. Adds: Ekiga video conferencing application; Deskbar search tool; Pessulus lockdown editor; Fast user switching; Sabayon system administration tool.[21]
2.16September 2006Performance improvements. Adds: Tomboy notetaking application; Baobab disk usage analyser; Orca screen reader; GNOME Power Manager (improving laptop battery life); improvements to Totem, Nautilus; compositing support for Metacity; new icon theme. Based on GTK+ 2.10 with new print dialog.[22]
2.18March 2007Performance improvements. Adds: Seahorse GPG security application, allowing encryption of emails and local files; Baobab disk usage analyser improved to support ring chart view; Orca screen reader; improvements to Evince, Epiphany and GNOME Power Manager, Volume control; two new games, GNOME Sudoku and glchess. MP3 and AAC audio encoding.[23]
2.20September 2007Tenth anniversary release. Evolution backup functionality; improvements in Epiphany, EOG, GNOME Power Manager; password keyring management in Seahorse. Adds: PDF forms editing in Evince; integrated search in the file manager dialogs; automatic multimedia codec installer.
2.22March 2008Addition of Cheese, a tool for taking photos from webcams and Remote Desktop Viewer; basic window compositing support in Metacity; introduction of GVFS; improved playback support for DVDs and YouTube, MythTV support in Totem; internationalised clock applet; Google Calendar support and message tagging in Evolution; improvements in Evince, Tomboy, Sound Juicer and Calculator.[24]
2.24September 2008Addition of the Empathy instant messenger client, Ekiga 3.0, tabbed browsing in Nautilus, better multiple screens support and improved digital TV support.[25]
2.26March 2009New optical disc recording application Brasero, simpler file sharing, media player improvements, support for multiple monitors and fingerprint reader support.[26]
2.28September 2009Addition of GNOME Bluetooth module. Improvements to Epiphany web browser, Empathy instant messenger client, Time Tracker, and accessibility. Upgrade to GTK+ version 2.18.[27]
2.30March 2010Improvements to Nautilus file manager, Empathy instant messenger client, Tomboy, Evince, Time Tracker, Epiphany, and Vinagre. iPod and iPod Touch devices are now partially supported via GVFS through libimobiledevice. Uses GTK+ 2.20.[28]
2.32September 2010Addition of Rygel and GNOME Color Manager. Improvements to Empathy instant messenger client, Evince, Nautilus file manager and others. 3.0 was intended to be released in September 2010, so a large part of the development effort since 2.30 went towards 3.0.[29]
3.0April 2011Introduction of GNOME Shell. A redesigned settings framework with fewer, more focused options. Topic-oriented help based on the Mallard markup language. Side-by-side window tiling. A new visual theme and default font. Adoption of GTK+ 3.0 with its improved language bindings, themes, touch, and multiplatform support. Removal of long-deprecated development APIs.
3.2September 2011Online accounts support; Web applications support; contacts manager; documents and files manager; quick preview of files in the File Manager; greater integration; better documentation; enhanced looks and various performance improvements.-3.4March 2012New Look for GNOME 3 Applications: Documents, Epiphany (now called Web), and Contacts. Search for documents from the Activities overview. Application menus support. Refreshed interface components: New color picker, redesigned scrollbars, easier to use spin buttons, and hideable title bars. Smooth scrolling support. New animated backgrounds. Improved system settings with new Wacom panel. Easier extensions management. Better hardware support. Topic-orientated documentation. Video calling and Live Messenger support in Empathy. Better accesibility: Improved Orca integration, better high contrast mode, and new zoom settings. Plus many other application enhancements and smaller details.

See also

External links

Notes and References

  1. Web site: Implementing the next GNOME shell « fishsoup. Owen Taylor. 2011-12-09.
  2. Web site: GNOME 3.2 Release Notes. 2011-12-09.
  3. Web site: Re: GNOME -> Gnome. 2011-12-10.
  4. Web site: About Us | GNOME. 2011-12-09.
  5. Web site: The GNOME Desktop project (fwd). 2011-12-10.
  6. Web site: GNOME Quick SWOT Analysis. The GNOME Project. 2011-06-03.
  7. Mono bindings a blessed dependency? [Was: Tomboy in 2.16]. Elijah. Newren. desktop-devel. 2006-04-20. 2007-09-20.
  8. http://www.figuiere.net/hub/blog/?2005/06/12/220-guadec-pics-take-3 figuiere.net
  9. Web site: Eyecandy for your GNOME-Desktop. October 31, 2010.
  10. Web site: The story of the GNOME project. Miguel. de Icaza.
  11. Web site: GNOME press release for version 1.0. October 31, 2010.
  12. Web site: GNOME press release for version 1.2. October 31, 2010.
  13. Web site: GNOME press release for version 1.4. October 31, 2010.
  14. GNOME 2.0 Desktop and Developer Platform Released!. 2002-06-27. 2007-09-20. desktop-devel. Waugh. Jeff.
  15. Web site: GNOME press release for version 2.2. October 31, 2010.
  16. Announcing the GNOME 2.4.0 Desktop & Developer Platform. 2003-09-11. 2007-09-20. gnome-announce. Waugh. Jeff.
  17. Announcing the GNOME 2.6.0 Desktop & Developer Platform. 2004-03-31. 2007-09-20. gnome-announce. Sobala. Andrew.
  18. Web site: GNOME press release for version 2.8. October 31, 2010.
  19. Web site: GNOME press release for version 2.10. October 31, 2010.
  20. Web site: GNOME 2.12 Release Notes. October 31, 2010.
  21. Web site: GNOME 2.14 Release Notes. October 31, 2010.
  22. Celebrating the release of GNOME 2.16!. 2006-09-06. 2007-09-20. gnome-announce. Newren. Elijah.
  23. Celebrating the release of GNOME 2.18!. 2007-03-14. 2007-09-20. gnome-announce. Newren. Elijah.
  24. Celebrating the release of GNOME 2.22!. 2008-03-12. 2008-03-12. gnome-announce-list. Untz. Vincent.
  25. Celebrating the release of GNOME 2.24!. 2008-09-24. 2008-09-27. gnome-announce-list. Untz. Vincent.
  26. Celebrating the release of GNOME 2.26!. 2009-03-18. 2009-03-18. gnome-announce-list. Untz. Vincent.
  27. Web site: GNOME 2.28 Released. Holwerda. Thom. OSNews. 2009-09-24. 2009-04-05.
  28. Web site: GNOME 2.30 Released. Holwerda. Thom. OSNews. 2010-03-31. 2010-04-04.
  29. Web site: GNOME 2.32 Release Notes. October 31, 2010.