Contents
GNOME 3.0 (2nd Half 2010 - September)
a11y
It is based on dbus and has been designed jointly with hackers from other desktop environments. There is a list of items that need help.
Documentation
Better end-user documentation using the new Mallard documentation format and the improved Yelp help viewer.
Mallard is a markup language that makes it easier for you to provide better user help for your software. Mallard documents are topic-oriented: They provide information in small chunks that match your users’ needs without forcing them to read lengthy manuals. More info about Mallard format in its project page.
Future plans: Improve developer documentation
GTK+ 3.0 (September 2010)
Multitouch support:
- MPX is an upgrade of the GTK+/GDK device stack, using the XI2 protocol it enables GTK+ to take maximum advantage of multiple pointing devices, either virtual or phisical; for example in multi touch screens like iPhone or special setups with multiple pointing devices.
Client Side Decorations:
- A new feature to allow applications to control the decorations of its container windows. This means that developers can create and add custom visual or functionality enhancements to their apps; for example like Chromium browser does right now. It also enhances control over transparency (RGBA).
Resolution Independence:
- FIXME
Extended layout:
Extended Layout improves the system of GTK+ used by widgets to define their size requirements or needs. This improves the presentation of GtkLabel widgets, so for example they ellipsize or wrap only when necessary and, above all, correctly. (width-for-height)
New theme framework (GtkStyleContext / Monet)
Declarative programming improvements (GtkComposite)
Application support
Unique app support, jump lists, dock menu ... (GtkApplication)
Complete refactor of the actual code:
- Remove all deprecated code
- More easy to add new funtionalities.
Glib 2.26 (September 2010)
GSettings:
- GSettings is the GLib infrastructure to replace the old GConf mechanism (deprecated in GNOME Platform 3.0). It is a unified API to store user preferences and settings with native backends in each of the supported platforms: GNU/Linux (dconf), Windows and OSX.
GDbus:
- GDBus is the new and enhanced way for applications to interact among them using the system or session bus -aka- DBUS. It allows developers to easily create, publish and consume functionality between applications easily and in a well integrated manner.
Network API:
- from low level (GSocket) to high level api to acces the network. Also feautres like proxy, TLS support ...etc
New Calendar API
- Add support non-gregorian calendars and more
Other Libraries
OpenGL and 3D: Clutter
- Clutter is an library for creating fast, visually rich, portable, animated graphical user interfaces. Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use on mobile and embedded platforms), but wraps an easy to use, efficient, flexible API around GL's complexity.
Mutimedia: Gstreamer
- Stabilization of the current 0.10 branch. New future api might be added to this branch in the future.
Future: Roadmap
Web rendering engine: WebKitGTK+
- GObject DOM bindings:
The DOM specification provides a vast amount of APIs to access and modify most of the content that a web engine can show to the user. The most common way of using is through the JavaScript bindings that most browsers provide for it and that many web pages rely on. For the GNOME platform, though, we should provide bindings designed around the GObject system that is the core of our technology. Starting with WebKitGTK+ 1.4 we'll provide access to the DOM through a GObject-based set of APIs, putting GNOME developers on equal footing with those in the web.
- Accessibility:
- Continuing our ongoing commitment with a11y, our goal for this release is to have fixed all of the a11y bugs marked as blocker for the Orca screen reader to work correctly with WebKitGTK+ programs.
- Stream-based libsoup and disk-cache:
- For 1.4 we'll support disk caching of HTTP resources, which should consirebaly speed-up the loading of pages in many cases.In order to get here core parts of the libsoup have been redesigned to take advantage of the full power of the GNOME platform.
- GObject DOM bindings:
Calendar & Contacts framework: Evolution Data Server (Roadmap)
Communications framework: Telepathy
Network connectivity: NetworkManaget
UPNP/DLNA: Rygel
Search engine: tracker
Tracker allows the user to find their data as fast as possible. Users can search for their files and search for content in their files too. Tracker is a semantic data storage for desktop and mobile devices. Tracker uses W3C standards for RDF ontologies using Nepomuk with SPARQL to query and update the data. Roadmap
dconf
- It's a low-level configuration system. Its main purpose is to provide a backend to GSettings on platforms that don't already have configuration storage systems. It's extremely fast and ligth.
Bindings
Major overhaul thanks to the inclusion of GObjectIntrospection support in most modules and libraries. GObjectIntrospection is a powerful technology that enables developers to offer bindings in different languages automatically. Notable improvements and changes in the way applications are developed and used include:
Technology preview (available NOW!)
Vala: High level programming with the speed and performance of C with Vala, a new programming language with a syntaxis much similar to C# that uses introspection to gain access to all the GNOME Platform.
GNOME 3.0 (September 2010)
Complete support of the GNOME Platform under the JavaScript language enabling developers to quickly craft applications and modify them. GNOME Shell, the core of GNOME 3 user experience, is itself developed using JavaScript
Read more about GJS, Seed and JavaScript in GNOME
Python:
Enhanced support: faster, lighter on memory and CPU and always up-to-date. PyGI is the next generation Python binding for the GNOME libraries, it creates bindings on the fly thanks to introspection. Development is almost done and preliminar tests show it's X% lighter in general than current PyGTK bindings (FIXME: citation needed)
More about PyGI here
Future
There already are projects that use GObjectIntrospection technology to create Perl, Java, Scheme, Ruby, Lua, Guile and Qt.
C++ and C# bindings could be created using GObjectIntrospection, see GObjectIntrospection/Users for more info.
Development tools
Glade
Real Custom widget integration Glade/Roadmap/CustomWidgets
Split out GTK+ dependency Glade/Roadmap/KillGTKDependency
Make signals actually useful Glade/Roadmap/RealUsableSignals
Enhanced text editing Glade/Roadmap/TextFeatures
Canvas Based Property Editor Glade/Roadmap/CanvasBasedEditor
Community
- GUADEC 2010 at The Hague - Netherlands: Explain
Hackfests
- GNOME Boston Summit at Boston - USA: Explain (emphasis on hacking)
- WebKitGTK+ Hackfest at Coruña - Spain: Explain
- GTK+ Hackfest?
Promotion
- New www.gnome.org: explain
Wishlist, room for improvement
- New www.gtk.org with better documentation, guides and examples
- Documentation system covering API usage and guides for developers using Mallard
- GNOME Git instance in gitorious.
Sponsorship of video optimization work (see http://gstreamer.freedesktop.org/wiki/VideoHackfest)
GNOME 3.2 (1st half 2011)
Other libraries
Web rendering engine: WebKitGTK+
- Improved HTML5 media (video) rendering with GStreamer:
- Enhance fullscreen support, native controls, linked to GStreamer work on better/faster video.
- Improved HTML5 media (video) rendering with GStreamer:
Community
- FOSDEM developer room
Wishlist, room for improvement
- $x Hackfest at $p: Explain
GNOME 3.4 (2nd half 2011)
Other libraries
Web rendering engine: WebKitGTK+
- Finish the support for the new internal/external API layer.
Community
GNOME & KDE joint Desktop Summit at $tbd: Explain
Hackfests
- GNOME Boston Summit at Boston - USA: Explain
- WebKitGTK+ Hackfest at Coruña - Spain: Explain
- GTK+ Hackfest?
Wishlist, room for improvement
- $x Hackfest at $p: Explain
Recurrent
Platform
- Quality control:
Continuous integration platform: http://build.gnome.org/