Introduction ============ GNOME is a large Open Source software project, with hundreds of contributors from right across the globe. Some of these contributors work on GNOME as part of their employment, but the majority offer up many hours of their free time and energy in helping to create one of the premier desktop environments for Linux and UNIX-like installations. The GNOME Community Road Map is a big-picture view of what functionality GNOME can expect to include through the next year and beyond. The Road Map is a combination of feedback from current GNOME developers and other community members. Due to the largely volunteer nature of the project, constructing a detailed, long-term list of concrete goals is impractical. However, it is possible to discuss the general themes that drive development of GNOME. For specific pieces of GNOME, there are a number of concrete short- to medium-term goals listed. This list of improvements comes from the individual module maintainers and contributors. This document describes the major themes of GNOME development. Each section describes theme and why it is important. It then lists three sets of concrete tasks - 2.6 Improvements, 2.8 Plans, and Long Term Goals. Items listed in the 2.6 Improvements sections are already implemented and will be available in the GNOME 2.6 release. Items in the 2.8 Plans are tasks that a contributor has expressed interest in implementing, and can be expected for the 2.8 release. Long Term Goals list items that the maintainers have identified as important, but for which there are no concrete plans to address in 2.8. Universal Access ================ The GNOME desktop strives to be a productive working environment for all people. Wherever possible, GNOME strives to eliminate obstacles that unnecessarily hamper the user experience. It is a guiding principle of GNOME development that software should operate smoothly, regardless of the user's level of expertise, language preference, or physical disabilities. 2.6 Improvements ---------------- * New file selector from GTK+ 2.4. * Bundled assistive technologies are more functional, and new assistive technology and features have been added. * Existing accessibility support has been largely or completely internationalized. * Integrated support for internationalized keyboards in control-center. * Improved user-visible mime UI. * Object-oriented ("spatial") file manager to improve usability. 2.8 Plans --------- * More improvement to the user-visible mime U. * Accessibility support interoperating seamlessly with Web, email, office applications, and other GUI toolkits. Open Questions -------------- * Mozilla ships the Firefox browser, which has similar goals to GNOME's Epiphany browser. We would like to work with the Mozilla foundation to settle on a common direction for the web browser. Collaboration ============= Communicating and working with other people is not simply a function of a single application that sits in a rectangular window on your screen -- Evolution or Outlook, for example -- but one of the primary functions of a computer. Therefore, collaboration should be a first-class element of the user experience. The GNOME desktop will have collaborative elements woven throughout it: a centralized presence icon mechanism that shows whether people you are working with are online or not, the ability to share files and data with people from anywhere in the desktop, and generally the presentation of collaboration-related information in every part of the desktop where it is relevant, not just in one or two applications. 2.6 Improvements ---------------- * Optional integration of contact and calendaring information into the desktop. 2.8 Plans --------- * Inclusion of Evolution into the GNOME Desktop. - Inclusion of the Evolution data server will provide a central touchpoint for addressbook and calendaring information. - The Evolution client will provide mail, addressbook, and calendaring capabilities to the desktop. * Wide-spread integration of addressbook and calendaring integration with the desktop. * Easy sending of files over email and IM. * Discovery of network services. - Detection of file shares through rendezvous will be integrated into the gnome-vfs volume-management layer. * Integration of presence information into the desktop. - There are two projects underway (gossip and galago) to provide presence information integrated with the addressbook. * Personal file searching based on local file index, including file metadata searching based on the Medusa file indexer. Long Term --------- * Blogging integration. * Peer-to-peer data sharing. * Metadata framework - Possible implementations include Novell's Simias, GNOME Storage Media ===== There are still pending issues with the stability, legality, licensing, and/or developer-friendliness of the available the media framework solutions. Partially due to these issues, no media applications have been formally included in the GNOME 2.6 release. However, the community is actively developing a complete series of media applications. 2.6 Improvements ---------------- * Sound-Juicer, a CD audio importing tool has been developed. * The Rhythmbox music player has matured and is now more stable and feature complete. * The Totem video player widget was placed into a separate library for use by other apps. 2.8 Plans --------- * Integration of CD audio importing into rhythmbox. * Integration of CD burning into rhythmbox. * Integration of portable music player support into rhythmbox. * Investigation of legal issues surrounding licensing of media frameworks. - There is an explicit goal that the platform be LGPL or more liberal in order to allow ISVs to use the platform to create proprietary software. This policy has never been formally documented. Both of the proposed media options have open legal questions. The Helix framework is not LGPL- or GPL- compatible. It is unclear that the GStreamer license allows for proprietary codec implementations. Long Term --------- * Movement of media widgets into the core platform. * Audio server replacement. * Better image viewing/photo collection manipulation. Hardware ======== One area in which GNOME has lagged behind other desktop operating systems like Windows and Mac OS X is tight integration with hardware. GNOME is working with the freedesktop.org community to make plug-and-play hardware management just work. In addition, the GNOME community is working on supporting a wide range of devices - for example digital cameras, music players, and bluetooth devices. 2.6 Improvements ---------------- * Better handling of removable media in GNOME VFS and the file manager. * DVD burning support in the Nautilus CD burner. 2.8 Improvements ---------------- * Better hardware integration via freedesktop.org's D-BUS and hardware abstraction layer (HAL). * CUPS management tools. - Ximian has developed a set of tools to manage CUPS printers and integrate them into the printing subsystem. These should be integrated into GNOME for the 2.8 release. Manageability ============= Manageability of the desktop environment is a key area for most large-scale deployments. The ability to centrally and remotely administer settings of core desktop applications, along with the ability to "lock down" end users' desktop configuration, are important parts of an enterprise desktop. GNOME is working toward providing these capabilities, both in the underlying platform and in specific applications. 2.6 Improvements ---------------- * Lockdown mode for panel configuration * Web Browser lockdown mode * Improved lockdown and management via GConf 2.8 Plans --------- * Improved menu system, including better compliance with freedesktop.org specifications. - Allows easier management of panel menus Long Term --------- * Improved gconf API and partial daemon rewrite. Core Platform Improvements ========================== GNOME realizes that ISV adoption is necessary to the success of the free desktop. As such, constantly improving the development platform while keeping it API and ABI compatible is an important goal. An important part of improving the free software development platform is communication and cooperation with other desktop environments. GNOME is heavily involved with the freedesktop.org initiative. Within the freedesktop.org project, GNOME works to develop standards and implementations that ISVs can develop against to build applications that work well regardless of the user's desktop environment. 2.6 Improvements ---------------- * Introduction and adoption of the GTK+ 2.4 toolkit, including the new file selector API and UI, new and easier menu API, and some other new widgets. * gnome-vfs daemon, improved authentication and connection sharing. * Improved mime-type detection and database (as part of freedesktop.org). 2.8 Plans --------- * Database support. - The gnome-db project is focusing on adding database support to GNOME office applications. * Inclusion of D-BUS, a system-wide messaging daemon. * Improved accessibility documentation, which will help all developers ensure that their applications are completely accessible. * Release of GNOME Human Interface Guidelines version 1.2. * Clarification/improvement of Nautilus extensibility APIs. - A new extension API was added to nautilus in 2.6. They will more widely adopted and tested in the 2.8 timeframe. This extension API is not currently a part of the core platform. * Formalization of the Platform licensing policy. Long Term --------- * Deprecation of libgnomecanvas and libart in favor of new API based on the Cairo library * Improved cut and paste/drag and drop format documentation, to allow better interoperability in this area. * Improved applet/tray icon API and usage guidelines. * New VFS API, to allow for less UNIX-like file semantics which are easier to develop against and more appropriate for a larger class of VFS backends. Open Questions -------------- * GNOME is currently implemented in C, with language bindings implemented for use in third-party applications. There is some consensus in the community that adoption of a higher-level language and runtime would be beneficial to the development of the desktop. Java and C# have been proposed as alternatives. The community is currently discussing the technical, political, and legal ramifications of adopting these languages into the desktop.s