[gnome-devel-docs] Reverting Phil's Overview reorg for 3.4



commit b26f7a62712d7d6cd7a377651082be8e639ac73c
Author: Shaun McCance <shaunm gnome org>
Date:   Tue Mar 6 17:33:22 2012 -0500

    Reverting Phil's Overview reorg for 3.4
    
    We'll work on it out of tree and merge it in when ready
    
    This reverts commit c5e43559c0d79f01764a720c9c99b733fbb0e17a.

 Makefile.am                                        |    1 +
 configure.in                                       |    1 +
 platform-demos/C/guitar-tuner.cpp.page             |   14 +-
 platform-demos/C/image-viewer.cpp.page             |   18 +-
 platform-demos/C/magic-mirror.vala.page            |    6 +-
 platform-overview/C/atk.page                       |   49 +++
 platform-overview/C/audio-player/audio-player.vala |   92 -----
 platform-overview/C/cairo.page                     |   39 ++
 platform-overview/C/canberra.page                  |   22 +
 platform-overview/C/clutter.page                   |   44 +++
 platform-overview/C/concepts-boxmodel.page         |   26 --
 platform-overview/C/concepts-deployment.page       |   26 --
 platform-overview/C/concepts-gobject.page          |   24 --
 platform-overview/C/concepts-signals.page          |   22 -
 platform-overview/C/d-bus.page                     |   51 +++
 platform-overview/C/demo-audio-player.vala.page    |   19 -
 platform-overview/C/demo-guitar-tuner.c.page       |  278 --------------
 platform-overview/C/demo-guitar-tuner.cpp.page     |  286 --------------
 platform-overview/C/demo-guitar-tuner.py.page      |  249 ------------
 platform-overview/C/demo-guitar-tuner.vala.page    |  282 --------------
 platform-overview/C/demo-image-viewer.c.page       |  243 ------------
 platform-overview/C/demo-image-viewer.cpp.page     |  235 ------------
 platform-overview/C/demo-image-viewer.js.page      |  332 ----------------
 platform-overview/C/demo-image-viewer.py.page      |  246 ------------
 platform-overview/C/demo-image-viewer.vala.page    |  305 ---------------
 platform-overview/C/demo-magic-mirror.vala.page    |  168 --------
 platform-overview/C/demo-message-board.c.page      |  401 --------------------
 platform-overview/C/demo-photo-wall.c.page         |  381 -------------------
 platform-overview/C/demo-record-collection.js.page |  292 --------------
 platform-overview/C/demos.page                     |   58 ---
 platform-overview/C/dev-build.page                 |   45 ---
 platform-overview/C/dev-coding.page                |   26 --
 platform-overview/C/dev-help.page                  |   34 --
 platform-overview/C/dev-translate.page             |   40 --
 platform-overview/C/eds.page                       |   36 ++
 platform-overview/C/equation.png                   |  Bin 17579 -> 0 bytes
 platform-overview/C/gda.page                       |   20 +
 platform-overview/C/gdk.page                       |   43 ++
 platform-overview/C/getting-ready.page             |   73 ----
 platform-overview/C/gio-network.page               |   25 ++
 platform-overview/C/gio.page                       |   33 ++
 platform-overview/C/glib.page.stub                 |   10 +
 platform-overview/C/gobject.page.stub              |   11 +
 platform-overview/C/gsettings.page.stub            |   10 +
 platform-overview/C/gstreamer.page                 |   54 +++
 platform-overview/C/gtk.page                       |   47 +++
 platform-overview/C/guitar-tuner/guitar-tuner.c    |   99 -----
 platform-overview/C/guitar-tuner/guitar-tuner.cc   |  110 ------
 platform-overview/C/guitar-tuner/guitar-tuner.py   |   65 ----
 platform-overview/C/guitar-tuner/guitar-tuner.vala |  102 -----
 .../C/{tech-gupnp.page => gupnp.page}              |   65 +---
 platform-overview/C/help.page                      |   31 ++
 platform-overview/C/image-viewer/firefox_test.jpg  |  Bin 20774 -> 0 bytes
 platform-overview/C/image-viewer/gtk_test.png      |  Bin 29313 -> 0 bytes
 platform-overview/C/image-viewer/image-viewer.c    |   95 -----
 platform-overview/C/image-viewer/image-viewer.cc   |   67 ----
 platform-overview/C/image-viewer/image-viewer.js   |   50 ---
 platform-overview/C/image-viewer/image-viewer.py   |   51 ---
 platform-overview/C/image-viewer/image-viewer.vala |   62 ---
 platform-overview/C/index.page                     |   72 ++--
 platform-overview/C/keyring.page                   |   59 +++
 .../C/magic-mirror/magic-mirror-advanced.vala      |  110 ------
 platform-overview/C/magic-mirror/magic-mirror.vala |   23 --
 platform-overview/C/media/fedora.png               |  Bin 5996 -> 0 bytes
 platform-overview/C/media/gnome-devtools.catalog   |   17 -
 platform-overview/C/media/guitar-tuner-glade.png   |  Bin 4481 -> 0 bytes
 .../C/media/guitar-tuner-pipeline.png              |  Bin 11717 -> 0 bytes
 .../C/media/guitar-tuner-pipeline.svg              |  239 ------------
 platform-overview/C/media/guitar-tuner.png         |  Bin 5677 -> 0 bytes
 platform-overview/C/media/image-viewer.png         |  Bin 56153 -> 0 bytes
 platform-overview/C/media/magic-mirror.png         |  Bin 336569 -> 0 bytes
 platform-overview/C/media/message-board.ogv        |  Bin 347904 -> 0 bytes
 platform-overview/C/media/opensuse.png             |  Bin 7776 -> 0 bytes
 platform-overview/C/media/photo-wall-focused.png   |  Bin 904201 -> 0 bytes
 platform-overview/C/media/photo-wall.png           |  Bin 1062772 -> 0 bytes
 platform-overview/C/media/record-collection.png    |  Bin 19992 -> 0 bytes
 platform-overview/C/media/ubuntu.png               |  Bin 5725 -> 0 bytes
 platform-overview/C/message-board/message-board.c  |  108 ------
 platform-overview/C/notify.page                    |   23 ++
 platform-overview/C/overview-communication.page    |   91 -----
 platform-overview/C/overview-datastorage.page      |   63 ---
 platform-overview/C/overview-gettingstarted.page   |   53 ---
 platform-overview/C/overview-help.page             |   87 -----
 platform-overview/C/overview-multimedia.page       |   63 ---
 .../C/overview-systemintegration.page              |   64 ---
 platform-overview/C/overview-ui.page               |   63 ---
 platform-overview/C/pango.page                     |   51 +++
 platform-overview/C/photo-wall/CREDITS             |   16 -
 .../C/photo-wall/berlin_images/berlin_01.jpg       |  Bin 420284 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_02.jpg       |  Bin 805766 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_03.jpg       |  Bin 416260 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_04.jpg       |  Bin 707196 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_05.jpg       |  Bin 524287 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_06.jpg       |  Bin 485684 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_07.jpg       |  Bin 255185 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_08.jpg       |  Bin 311446 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_09.jpg       |  Bin 335614 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_10.jpg       |  Bin 614353 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_11.jpg       |  Bin 755752 -> 0 bytes
 .../C/photo-wall/berlin_images/berlin_12.jpg       |  Bin 472960 -> 0 bytes
 platform-overview/C/photo-wall/photo-wall.c        |  153 --------
 .../C/record-collection/record-collection.js       |  148 -------
 .../C/sample-avahi-discoverprinter.page            |   33 --
 platform-overview/C/sample-telepathy-imstatus.page |   33 --
 platform-overview/C/samples.page                   |   33 --
 platform-overview/C/soup.page.stub                 |   11 +
 platform-overview/C/tech-atk.page                  |  109 ------
 platform-overview/C/tech-cairo.page                |  100 -----
 platform-overview/C/tech-canberra.page             |   82 ----
 platform-overview/C/tech-clutter.page              |  103 -----
 platform-overview/C/tech-dbus.page                 |  110 ------
 platform-overview/C/tech-eds.page                  |   96 -----
 platform-overview/C/tech-gda.page                  |   79 ----
 platform-overview/C/tech-gdk.page                  |  103 -----
 platform-overview/C/tech-gio-network.page          |   84 ----
 platform-overview/C/tech-gio.page                  |   92 -----
 platform-overview/C/tech-glib.page                 |   69 ----
 platform-overview/C/tech-gobject.page              |   69 ----
 platform-overview/C/tech-gsettings.page            |   68 ----
 platform-overview/C/tech-gstreamer.page            |  113 ------
 platform-overview/C/tech-gtk.page                  |  106 -----
 platform-overview/C/tech-keyring.page              |  116 ------
 platform-overview/C/tech-notify.page               |   77 ----
 platform-overview/C/tech-pango.page                |  106 -----
 platform-overview/C/tech-soup.page                 |   70 ----
 platform-overview/C/tech-telepathy.page            |  104 -----
 platform-overview/C/tech-tracker.page              |   71 ----
 platform-overview/C/tech-webkit.page               |   92 -----
 platform-overview/C/tech.page                      |   41 --
 platform-overview/C/telepathy.page                 |   28 ++
 platform-overview/C/test_comm1.png                 |  Bin 81184 -> 0 bytes
 platform-overview/C/tracker.page.stub              |   11 +
 platform-overview/C/webkit.page                    |   29 ++
 platform-overview/Makefile.am                      |  114 +-----
 134 files changed, 820 insertions(+), 8549 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 60e3f30..b600cee 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,6 @@
 SUBDIRS =				\
 	accessibility-devel-guide	\
+	platform-demos			\
 	hig				\
 	integration-guide		\
 	optimization-guide		\
diff --git a/configure.in b/configure.in
index 7dd6dd2..b7f4d48 100644
--- a/configure.in
+++ b/configure.in
@@ -8,6 +8,7 @@ GNOME_DOC_INIT
 AC_OUTPUT([
 Makefile
 accessibility-devel-guide/Makefile
+platform-demos/Makefile
 hig/Makefile
 integration-guide/Makefile
 optimization-guide/Makefile
diff --git a/platform-demos/C/guitar-tuner.cpp.page b/platform-demos/C/guitar-tuner.cpp.page
index 3ca2b78..71912c7 100644
--- a/platform-demos/C/guitar-tuner.cpp.page
+++ b/platform-demos/C/guitar-tuner.cpp.page
@@ -5,7 +5,7 @@
   <info>
     <link type="guide" xref="index#cpp"/>
   
-    <desc>Use gtkmm and GStreamermm to build a simple guitar tuner application for GNOME. Shows off how to use the interface designer.</desc>
+    <desc>Use Gtkmm and GStreamermm to build a simple guitar tuner application for GNOME. Shows off how to use the interface designer.</desc>
     
     <revision pkgversion="0.1" version="0.1" date="2011-03-17" status="review"/>
     <credit type="author">
@@ -44,7 +44,7 @@
     <p>Start Anjuta and click <guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></guiseq> to open the project wizard.</p>
     </item>
     <item>
-    <p>Choose <gui>gtkmm (Simple)</gui> from the <gui>C++</gui> tab, click <gui>Forward</gui>, and fill out your details on the next few pages. Use <file>guitar-tuner</file> as project name and directory.</p>
+    <p>Choose <gui>GTKmm (Simple)</gui> from the <gui>C++</gui> tab, click <gui>Forward</gui>, and fill out your details on the next few pages. Use <file>guitar-tuner</file> as project name and directory.</p>
    	</item>
     <item>
     <p>Make sure that <gui>Configure external packages</gui> is selected. On the next page, select
@@ -61,7 +61,7 @@
 
 <section id="build">
   <title>Build the code for the first time</title>
-  <p>This is a very basic C++ code setting up gtkmm. More details are given below; 
+  <p>This is a very basic C++ code setting up Gtkmm. More details are given below; 
   skip this list if you understand the basics:</p>
   <list>
   <item>
@@ -71,7 +71,7 @@
     <p>The <code>main</code> function creates a new window by opening a GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few lines above) and then displaying it in a window. The GtkBuilder file contains a description of a user interface and all of its elements. You can use Anjuta's editor to design GtkBuilder user interfaces.</p>
    </item>
    <item>
-    <p>Afterwards it calls a few functions which set up and then run the application. The <code>kit.run</code> function starts the gtkmm main loop, which runs the user interface and starts listening for events (like clicks and key presses).</p>
+    <p>Afterwards it calls a few functions which set up and then run the application. The <code>kit.run</code> function starts the GTKmm main loop, which runs the user interface and starts listening for events (like clicks and key presses).</p>
    </item>
   </list>
 
@@ -197,7 +197,7 @@ bool Sound::stop_playing()
   <title>Connecting the signals</title>
   <p>We want to play the correct sound when the user clicks a button. That means that we have to connect
   to the signal that is fired when the user clicks the button. We also want to provide information to the
-  called function which tone to play. gtkmm makes that quite easy as we can easily bind information with the <em>sigc</em>
+  called function which tone to play. GTKmm makes that quite easy as we can easily bind information with the <em>sigc</em>
   library.</p> 
   
   <p>The function that is called when the user clicks a button can be pretty simple, as
@@ -259,8 +259,8 @@ button->signal_clicked().connect (sigc::bind<double, Sound*>(sigc::ptr_fun(&on_b
 <section id="further">
   <title>Further Reading</title>
   <p>Many of the things shown above are explained in detail in the 
-  <link href="http://library.gnome.org/devel/gtkmm-tutorial/stable/";>gtkmm book</link> which also
-  covers a lot more key concept for using the full power of gtkmm. You might also be interested
+  <link href="http://library.gnome.org/devel/gtkmm-tutorial/stable/";>GTKmm book</link> which also
+  covers a lot more key concept for using the full power of GTKmm. You might also be interested
   in the <link href="http://library.gnome.org/devel/gstreamermm/";>GStreamermm reference documentation</link>.</p>
 </section>
 
diff --git a/platform-demos/C/image-viewer.cpp.page b/platform-demos/C/image-viewer.cpp.page
index b169f8b..3972d81 100644
--- a/platform-demos/C/image-viewer.cpp.page
+++ b/platform-demos/C/image-viewer.cpp.page
@@ -5,7 +5,7 @@
   <info>
     <link type="guide" xref="index#cpp"/>
     
-    <desc>A little bit more than a simple "Hello world" gtkmm application.</desc>
+    <desc>A little bit more than a simple "Hello world" GTKmm application.</desc>
     
     <revision pkgversion="0.1" version="0.1" date="2011-03-18" status="review"/>
     <credit type="author">
@@ -38,7 +38,7 @@
     <p>Start Anjuta and click <guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></guiseq> to open the project wizard.</p>
     </item>
     <item>
-    <p>Choose <gui>gtkmm (Simple)</gui> from the <gui>C++</gui> tab, click <gui>Forward</gui>, and fill out your details on the next few pages. Use <file>image-viewer</file> as project name and directory.</p>
+    <p>Choose <gui>GTKmm (Simple)</gui> from the <gui>C++</gui> tab, click <gui>Forward</gui>, and fill out your details on the next few pages. Use <file>image-viewer</file> as project name and directory.</p>
    	</item>
     <item>
     <p>Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as we will
@@ -58,7 +58,7 @@
 
 <section id="build">
   <title>Build the code for the first time</title>
-  <p>This is a very basic C++ code setting up gtkmm. More details are given below; skip this list if you understand the basics:</p>  
+  <p>This is a very basic C++ code setting up GTKmm. More details are given below; skip this list if you understand the basics:</p>  
   <list>
   <item>
     <p>The three <code>#include</code> lines at the top include the <code>config</code> (useful autoconf build defines), <code>gtkmm</code> (user interface) and <code>iostream</code> (C++-STL) libraries. Functions from these libraries are used in the rest of the code.</p>
@@ -67,7 +67,7 @@
     <p>The <code>main</code> function creates a new (empty) window and sets the window title.</p>
    </item>
    <item>
-    <p>The <code>kit::run()</code> call starts the gtkmm main loop, which runs the user interface and starts listening for events (like clicks and key presses). As we give the window
+    <p>The <code>kit::run()</code> call starts the GTKmm main loop, which runs the user interface and starts listening for events (like clicks and key presses). As we give the window
     as an argument to that function, the application will automatically exit when 
     that window is closed.</p>
    </item>
@@ -79,7 +79,7 @@
 
 <section id="ui">
 <title>Creating the user interface</title>
-<p>Now we will bring life into the empty window. gtkmm organizes the user interface
+<p>Now we will bring life into the empty window. GTKmm organizes the user interface
 with <code>Gtk::Container</code>s that can contain other widgets and even other containers. Here we
 will use the simplest available container, a <code>Gtk::Box</code>:</p>
 <code mime="text/x-csrc"><![CDATA[
@@ -117,12 +117,12 @@ main (int argc, char *argv[])
     <item>
     <p>The calls to <code>pack_start</code> add the two widgets to the box and define their behaviour. The image will
     expand into any available space while the button will just be as big as needed. You will notice that we don't set
-    explicit sizes on the widgets. In gtkmm this is usually not needed as it makes it much easier to have a layout that
+    explicit sizes on the widgets. In GTKmm this is usually not needed as it makes it much easier to have a layout that
     looks good in different window sizes. Next, the box is added to the window.</p>
     </item>
     <item>
-    <p>We need to define what happens when the user clicks on the button. gtkmm uses the concept of <em>signals</em>. When the button is clicked, it fires the <em>clicked</em> signal, which we can connect to some action. This is done using the <code>signal_clicked().connect</code>
-    method which tells gtkmm to call the <code>on_open_image</code> function when the button is clicked. We will define the <em>callback</em> in the next section.</p>
+    <p>We need to define what happens when the user clicks on the button. GTKmm uses the concept of <em>signals</em>. When the button is clicked, it fires the <em>clicked</em> signal, which we can connect to some action. This is done using the <code>signal_clicked().connect</code>
+    method which tells GTKmm to call the <code>on_open_image</code> function when the button is clicked. We will define the <em>callback</em> in the next section.</p>
     </item>
     <item>
     <p>The last step is to show all widgets in the window using
@@ -178,7 +178,7 @@ on_open_image ()
     <p>The next two lines add an <em>Open</em> and a <em>Close</em> button to the dialog.</p>
     <p>Notice that we are using <em>stock</em> button names from Gtk, instead of manually typing "Cancel" or "Open". The advantage of using stock names is that the button labels will already be translated into the user's language.</p>
     <p>The second argument to the <code>add_button()</code> method is a value to identify
-    the clicked button. We use predefined values provided by gtkmm here, too.
+    the clicked button. We use predefined values provided by GTKmm here, too.
     </p>
     </item>
     <item>
diff --git a/platform-demos/C/magic-mirror.vala.page b/platform-demos/C/magic-mirror.vala.page
index 29ce2d2..e8da11f 100644
--- a/platform-demos/C/magic-mirror.vala.page
+++ b/platform-demos/C/magic-mirror.vala.page
@@ -21,7 +21,7 @@
 <title>4 Magic Mirror</title>
 
 <synopsis>
-  <p><em>Your mirror just fell off the wall and broke into a thousand pieces &#x2014; but you need a mirror to shave your beard off or add some makeup! So what can you do?</em></p>
+  <p><em>Your mirror just fell off the wall and broke into a thousand pieces &#x2014; but you need a mirror to shave your beard off or add some makeup! You only have 15 minutes left before catching the bus to work. So what can you do?</em></p>
   <p>In this tutorial, we're going to make a program which lets you use your webcam as a mirror. You will learn how to:</p>
   <list>
     <item><p>Create a GTK+ application</p></item>
@@ -155,10 +155,10 @@ public class Main : Object
 <title>Conclusion</title>
   <p>
   That's it, you have managed to create a full-featured webcam photo
-  application. Now you can shave your beard off or add some makeup
+  application in 15 minutes. Now you can shave your beard off or add some makeup
   to your beautiful face, right before having a beautiful day at your
   workplace, where you can impress your friends and colleagues with an awesome
-  application.
+  application you just made in 15 minutes.
   </p>
 
 </section>
diff --git a/platform-overview/C/atk.page b/platform-overview/C/atk.page
new file mode 100644
index 0000000..a4d3ee0
--- /dev/null
+++ b/platform-overview/C/atk.page
@@ -0,0 +1,49 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="atk">
+<info>
+  <link type="guide" xref="index" group="atk"/>
+  <desc>Support for screen readers and other accessibility
+  tools</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>ATK</title>
+
+<p>Accessibility is the process of ensuring your application can be
+used by people with various disabilities.  Disabilities come in many forms:
+visual impairments, movement impairments, hearing impairments, cognitive
+and language impairments, and seizure disorders.  Many people have some
+sort of disability, and making your application accessibility will allow
+more people to use your application effectively.</p>
+
+<p>GNOME provides support for accessibility devices using the ATK
+framework.  This framework defines a set of interfaces to which graphical
+interface components adhere.  This allows, for instance, screen readers
+to read the text of an interface and interact with its controls.  ATK
+support is built into GTK+ and the rest of the GNOME platform, so any
+application using GTK+ will have reasonable accessibility support for
+free.</p>
+
+<p>Nonetheless, you should be aware of accessibility issues when
+when developing your applications.  Although GTK+ interfaces provide
+reasonable accessibility by default, you can often improve how well
+your program behaves with accessibility tools by providing additional
+information to ATK.  If you develop custom widgets, you should ensure
+that they expose their properties to ATK.  You should also avoid using
+sound, graphics, or color as the sole means of conveying information
+to the user.</p>
+
+<p>The GNOME desktop ships with a number of accessibility tools
+which enable users with disabilities to take full advantage of their
+desktop and applications.  Applications that fully implement ATK will
+be able to work with the accessibility tools.  GNOME's accessibility
+tools include a screen reader, a screen magnifier, an on-screen
+keyboard, and <app>Dasher</app>, an innovative
+predictive text entry tool.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/accessibility-devel-guide/";>GNOME Accessibility for Developers</link></p></item>
+  <item><p><link href="http://library.gnome.org/devel/atk/stable/";>ATK Reference</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/cairo.page b/platform-overview/C/cairo.page
new file mode 100644
index 0000000..5464b96
--- /dev/null
+++ b/platform-overview/C/cairo.page
@@ -0,0 +1,39 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="cairo">
+<info>
+  <link type="guide" xref="index" group="cairo"/>
+  <desc>Modern 2D vector drawing canvas</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>Cairo</title>
+
+<p>Cairo is a 2D graphics library featuring a sophisticated API for
+drawing vector graphics, compositing images, and rendering anti-aliased
+text.  Cairo provides support for multiple output devices, including the
+X Window System, Microsoft Windows, and image buffers, allowing you to
+write platform-independent code to draw graphics on different media.</p>
+
+<p>The Cairo drawing model is similar to those provided by PostScript
+and PDF.  The Cairo API provides such drawing operations as stroking and
+filling cubic BÃzier splines, compositing images, and performing affine
+transformations.  These vector operations allow for rich, anti-aliased
+graphics without using expensive pixel-based drawing in your application
+code.</p>
+
+<p>Cairo's rich drawing model allows for high-quality rendering to
+multiple media.  The same API can be used to create stunning on-screen
+graphics and text, to render images, or create crisp output suitable
+for printing.</p>
+
+<p>You should use Cairo whenever you need to draw graphics in your
+application beyond the widgets provided by GTK+.  Much of the drawing
+inside GTK+ is done using Cairo.  Using Cairo for your custom drawing
+will allow your application to have high-quality, anti-aliased, and
+resolution-independent graphics.</p>
+
+<list style="compact">
+  <item><p><link href="http://www.cairographics.org/manual/";>Cairo Manual</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/canberra.page b/platform-overview/C/canberra.page
new file mode 100644
index 0000000..859ce74
--- /dev/null
+++ b/platform-overview/C/canberra.page
@@ -0,0 +1,22 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="canberra">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Simple audio API for notifications and events</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>
+</info>
+
+<title>Canberra</title>
+
+<p>Canberra is a simple library for playing audio events and notifications,
+such as when the user has received a message or an error has occurred.
+As well as providing a convenient API, Canberra can also work with the
+accessibility features of the desktop to provide alternate notification
+for hearing-impaired users.</p>
+
+<list style="compact">
+  <item><p><link href="http://library.gnome.org/devel/libcanberra/unstable/libcanberra-canberra.html";>Canberra Reference</link></p></item>
+</list>
+
+</page>
diff --git a/platform-overview/C/clutter.page b/platform-overview/C/clutter.page
new file mode 100644
index 0000000..a2f8cdc
--- /dev/null
+++ b/platform-overview/C/clutter.page
@@ -0,0 +1,44 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="clutter">
+<info>
+  <link type="guide" xref="index" group="clutter"/>
+  <desc>Stunning graphics and animations with a scene-graph API</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>
+</info>
+
+<title>Clutter</title>
+
+<p>Clutter is a library that allows creating fast, portable, dynamic,
+compelling user interfaces.</p>
+
+<p>Clutter uses the <link href="http://www.khronos.org/opengl/";>OpenGL</link>
+and <link href="http://www.khronos.org/opengles/";>OpenGL|ES</link> industry
+standard API to access the accelerated graphical hardware on both desktop and
+mobile environments alike, without exposing the complexities of GPU pipeline
+programming.</p>
+
+<p>Clutter does not specify any visual style, and does not provide any
+pre-defined complex user interface control; it lets the developer define what
+is needed, using a flexible scene graph API, with free-form placement of the
+scene elements (or "actors") on the main viewport (or "stage").</p>
+
+<p>Clutter comes with pre-defined actors for displaying solid colors,
+image data, text and custom high-precision 2D drawing using the Cairo
+API. Clutter also provides generic classes for structuring a user interface
+using both a box-packing model like GTK+, and a series of free-form
+"constraints".</p>
+
+<p>A number of third-party libraries allow integration with other
+technologies, such as: Clutter-GTK, for embedding a Clutter stage inside a
+GTK+ application; Clutter-GStreamer, for embedding GStreamer video and audio
+pipelines; Clutter-Box2D and Clutter-Bullet, for adding physics interaction
+in both 2D and 3D environments.</p>
+
+<list style="compact">
+  <item><p><link href="http://docs.clutter-project.org/docs/clutter-cookbook/1.0/";>The Clutter Cookbook</link></p></item>
+  <item><p><link href="http://developer.gnome.org/clutter/stable";>Clutter Reference Manual</link></p></item>
+  <item><p><link href="http://www.clutter-project.org";>The Clutter web site</link></p></item>
+</list>
+
+</page>
diff --git a/platform-overview/C/d-bus.page b/platform-overview/C/d-bus.page
new file mode 100644
index 0000000..cd2aefe
--- /dev/null
+++ b/platform-overview/C/d-bus.page
@@ -0,0 +1,51 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="d-bus">
+<info>
+  <link type="guide" xref="index" group="d-bus"/>
+  <desc>Standard interprocess communications bus</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>D-Bus</title>
+
+<p>D-Bus is a cross-desktop message bus for sending events between
+various applications, the desktop, and low-level components of the system.
+D-Bus provides a simple API for sending messages to particular services
+and for broadcasting messages to all interested services.  D-Bus enables
+different types of applications to communicate and integrate with each
+other and with the desktop, providing better interaction and a richer
+experience for the user.</p>
+
+<p>D-Bus provides a session and a system bus.  The session bus is
+used by applications in a single user session, allowing them to share
+data and event notifications and to integrate into the user's desktop.
+For example, movie players can send a D-Bus message to prevent the
+screensaver from activating when the user is watching a movie.</p>
+
+<p>The system bus is a single message bus which runs independently of
+any user sessions.  It can communicate with applications in any session,
+enabling those applications to interact with system components without
+dealing with low-level system details.  The system bus is used to provide
+important functionality that users expect to work on their systems.  For
+example, the system bus is used to monitor when network interfaces go up
+or down, when external drives get plugged in, and when laptop batteries
+are low.</p>
+
+<p>D-Bus is developed jointly on <link
+href="http://www.freedesktop.org/";>freedesktop.org</link>, so you can
+use it with different desktop environments and applications.  Because
+D-Bus is a cross-desktop project, you use it to create portable and
+versatile software that seamlessly integrates with the user's desktop,
+regardless of which desktop it is.</p>
+
+<p>GNOME provides full support for D-Bus using the GBus and GDBus
+APIs in GIO.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/gio/stable/";>GIO Reference Manual</link></p></item>
+  <item><p><link href="http://dbus.freedesktop.org/doc/dbus-tutorial.html";>D-Bus Tutorial</link></p></item>
+  <item><p><link href="http://dbus.freedesktop.org/doc/dbus-specification.html";>D-Bus Specification</link></p></item>
+</list>
+
+</page>
diff --git a/platform-overview/C/eds.page b/platform-overview/C/eds.page
new file mode 100644
index 0000000..5e6a7c0
--- /dev/null
+++ b/platform-overview/C/eds.page
@@ -0,0 +1,36 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="eds">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Integration with the desktop-wide address book and calendar</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>Evolution Data Server</title>
+
+<p>With Evolution Data Server, GNOME provides a single address book and
+calendar that all applications can use to store and retrieve information.
+Using Evolution Data Server means that users no longer have to maintain
+separate lists of contacts in each application, or manually copy events
+to their calendar.</p>
+
+<p>People use computers increasingly to interact with their friends
+and colleagues.  Applications such as email programs, instant messengers,
+and telephony and video conferencing applications are used to communicate
+with others.  These applications often provide contact lists to help users.
+Using Evolution Data Server, applications can store contact information in
+a single location, allowing all applications to see all the pertinent data
+about users' contacts.</p>
+
+<p>Applications can also use Evolution Data Server to store and retrieve
+appointments on the user's calendar.  For example, the clock on the panel
+shows a simple calendar when clicked.  If the user has any appointments
+scheduled, they are shown alongside the calendar.  This makes it easy to
+see upcoming appointments without opening a full calendar application.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/libebook/stable/";>Evolution API Reference: libebook</link></p></item>
+  <item><p><link href="http://developer.gnome.org/libecal/stable/";>Evolution API Reference: libecal</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/gda.page b/platform-overview/C/gda.page
new file mode 100644
index 0000000..2b2cb3e
--- /dev/null
+++ b/platform-overview/C/gda.page
@@ -0,0 +1,20 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gda">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Common relational database access</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>
+</info>
+
+<title>GDA</title>
+
+<p>GDA offers a wrapper around relational databases, allowing you to
+easily store and retrieve data in many different common database
+systems.</p>
+
+<steps>
+  <item><p><link href="http://developer-next.gnome.org/libgda/stable/";>GNOME Data Access Manual</link></p></item>
+</steps>
+
+</page>
diff --git a/platform-overview/C/gdk.page b/platform-overview/C/gdk.page
new file mode 100644
index 0000000..c5ca36c
--- /dev/null
+++ b/platform-overview/C/gdk.page
@@ -0,0 +1,43 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gdk">
+<info>
+  <link type="guide" xref="index" group="gdk"/>
+  <desc>Underlying windowing and event handling</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>GDK</title>
+
+<p>GDK is the low-level library used by GTK+ to interact with the
+system for graphics and input devices.  Although you will rarely use
+GDK directly in application code, it contains all the necessary
+functionality to draw objects and text to the screen and to interact
+with the user with various input devices.</p>
+
+<p>GDK enables you to access events from keyboards, mice, and other
+input devices, rather than connect to the high-level signals used in
+GTK+.  GDK also provides low-level routines to access drag and drop
+and clipboard data from the system.  When implementing custom controls,
+you may need to access these features to implement proper user interaction
+behavior.</p>
+
+<p>GDK provides other functionality which is needed to implement
+a complete graphical toolkit like GTK+.  Since GDK acts as a platform
+abstraction, allowing GTK+ to run under multiple environments, it
+provides an API for all of the system functionality needed by GTK+.
+This includes information about multi-head displays, resolution and
+color depth, colormaps, and cursors.</p>
+
+<p>You should use GDK whenever you need low-level access to the
+underlying windowing system, including low-level access to events,
+windows, and the clipboard.  Using GDK for these tasks ensures that
+your code is portable and integrates with the rest of your GTK+ code.
+The simple drawing routines in GDK should generally not be used.
+Instead, you should use the extensive functionality provide by
+Cairo.</p>
+
+<list style="compact">
+  <item><p><link href="http://library.gnome.org/devel/gdk/stable/";>GDK Reference Manual</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/gio-network.page b/platform-overview/C/gio-network.page
new file mode 100644
index 0000000..c7920f5
--- /dev/null
+++ b/platform-overview/C/gio-network.page
@@ -0,0 +1,25 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gio-network">
+<info>
+  <link type="guide" xref="index" group="gio-network"/>
+  <desc>Powerful networking API built on the GIO stream classes</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="review"/>
+</info>
+
+<title>GIO Networking</title>
+
+<p>Built on top of the stream APIs used for files, GIO provides
+high-level networking APIs to communicate over TCP/IP and UNIX
+domain sockets. You can use the GIO networking APIs to connect
+to a server, listen for events, and read resources. The
+asynchronous API designs means your application doesn't block
+waiting for a response.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/gio/stable/";>GIO Reference Manual</link></p></item>
+  <item><p><link href="http://developer-next.gnome.org/gio/stable/networking.html";>Lowlevel network support</link></p></item>
+  <item><p><link href="http://developer-next.gnome.org/gio/stable/highlevel-socket.html";>Highlevel network functionality</link></p></item>
+</list>
+
+</page>
diff --git a/platform-overview/C/gio.page b/platform-overview/C/gio.page
new file mode 100644
index 0000000..9837345
--- /dev/null
+++ b/platform-overview/C/gio.page
@@ -0,0 +1,33 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gio">
+<info>
+  <link type="guide" xref="index" group="gio"/>
+  <desc>Asynchronous file and URI handling with access
+  to file and volume info</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="review"/>
+</info>
+
+<title>GIO Files</title>
+
+<p>GIO provides APIs for asynchronously reading and writing files and
+other streams. Files are referenced by URIs, and local backends can
+provide access to more than just local files. When running under the
+GNOME desktop, GIO uses GVfs to allow access to files over SFTP, FTP,
+WebDAV, SMB, and other popular protocols. This transparent network
+file access is free to all applications using GIO.</p>
+
+<p>The GIO file APIs were designed to be used in event-driven graphical
+interfaces. The non-blocking, asynchronous design means your user interface
+doesn't hang while waiting for a file. There are also synchronous versions
+of the APIs available, which are sometimes more convenient for worker
+threads or processes.</p>
+
+<p>GIO also provides routines for managing drives and volumes, querying
+file types and icons, and finding applications to open files.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/gio/stable/";>GIO Reference Manual</link></p></item>
+</list>
+
+</page>
diff --git a/platform-overview/C/glib.page.stub b/platform-overview/C/glib.page.stub
new file mode 100644
index 0000000..033e510
--- /dev/null
+++ b/platform-overview/C/glib.page.stub
@@ -0,0 +1,10 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="glib">
+<info>
+  <link type="guide" xref="index" group="glib"/>
+</info>
+
+<title>GLib</title>
+
+</page>
diff --git a/platform-overview/C/gobject.page.stub b/platform-overview/C/gobject.page.stub
new file mode 100644
index 0000000..7c23972
--- /dev/null
+++ b/platform-overview/C/gobject.page.stub
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gobject">
+<info>
+  <link type="guide" xref="index" group="gobject"/>
+  <desc>Bindable and introspectable C object system</desc>
+</info>
+
+<title>GObject</title>
+
+</page>
diff --git a/platform-overview/C/gsettings.page.stub b/platform-overview/C/gsettings.page.stub
new file mode 100644
index 0000000..7a6c3d1
--- /dev/null
+++ b/platform-overview/C/gsettings.page.stub
@@ -0,0 +1,10 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gsettings">
+<info>
+  <link type="guide" xref="index" group="gsettings"/>
+</info>
+
+<title>GSettings</title>
+
+</page>
diff --git a/platform-overview/C/gstreamer.page b/platform-overview/C/gstreamer.page
new file mode 100644
index 0000000..e332d88
--- /dev/null
+++ b/platform-overview/C/gstreamer.page
@@ -0,0 +1,54 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gstreamer">
+<info>
+  <link type="guide" xref="index" group="gstreamer"/>
+  <desc>Plugin-based rich multimedia creation and delivery</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>GStreamer</title>
+
+<p>GStreamer is a powerful multimedia library for playing, creating,
+and manipulating sound, video, and other media.  You can use GStreamer
+to provide sound and video playback, record input from multiple sources,
+and edit multimedia content.  GStreamer supports encoding and decoding
+numerous formats by default, and support for additional formats can be
+added with plug-ins.</p>
+
+<p>GStreamer provides a flexible architecture wherein media is
+processed through a pipeline of elements.  Each element may apply
+filters to the content, such as encoding or decoding, combining
+multiple sources, or transforming the multimedia content.  This
+architecture allows for an arbitrary arrangement of elements,
+so that you can accomplish virtually any effect using GStreamer.
+Furthermore, GStreamer is designed to have low overhead, so it
+can be used in applications with high demands on latency.</p>
+
+<p>While GStreamer provides a powerful API for manipulating
+multimedia, it also provides convenient routines for simple
+playback.  GStreamer can automatically construct a pipeline to
+read and playback files in any supported format, allowing you
+to use sound and video in your application easily.</p>
+
+<p>The GStreamer architecture allows plugins to add encoders,
+decoders, and all sorts of content filters.  Third-party developers
+can provide GStreamer plugins which will be automatically available
+to other applications using GStreamer.  Plugins can provide support
+for other multimedia formats or provide additional functionality
+and effects.</p>
+
+<p>You should use GStreamer whenever you need to read or play
+multimedia content in your application, or if your application
+needs to manipulate sound or video.  Using GStreamer makes your
+application development easy, and it provides you well-tested
+elements for many of your needs.</p>
+
+<p>For comprehensive information on GStreamer, see <link
+href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html";>The
+GStreamer Application Development Manual</link>, <link
+href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/";>The
+GStreamer 0.10 Core Reference Manual</link>, and <link
+href="http://gstreamer.freedesktop.org/documentation/";>the
+GStreamer documentation page</link>.</p>
+</page>
diff --git a/platform-overview/C/gtk.page b/platform-overview/C/gtk.page
new file mode 100644
index 0000000..a798636
--- /dev/null
+++ b/platform-overview/C/gtk.page
@@ -0,0 +1,47 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gtk">
+<info>
+  <link type="guide" xref="index" group="gtk"/>
+  <desc>Graphical interfaces and core application support</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>GTK+</title>
+
+<p>GTK+ is the primary library used to construct user interfaces
+in GNOME.  It provides all the user interface controls, or widgets,
+used in a common graphical application.  Its modern, object-oriented
+API allows you to construct attractive and sophisticated user
+interfaces without dealing with the low-level details of drawing and
+device interaction.</p>
+
+<p>In addition to basic widgets, such as buttons, check boxes,
+and text entries, GTK+ also provides powerful Model-View-Controller
+(MVC) APIs for tree views, multi-line text fields, and menu and
+toolbar actions.</p>
+
+<p>Widgets in GTK+ are placed on windows using a box-packing model.
+Programmers specify only how to pack widgets together in container
+boxes, rather than position them directly with absolute coordinates.
+GTK+ ensures that windows are sized correctly to fit their contents,
+and it automatically handles window resizing.</p>
+
+<p>Because GTK+ offers a flexible API, developing additional widgets
+for use in GTK+ applications is easy.  A number of third-party libraries
+exist which provide additional widgets, and many developers have created
+custom, special-purpose widgets for their applications.</p>
+
+<p>GTK+ handles the difficult details of user interfaces and user
+interaction, and provides a simple yet powerful API which allows you
+to focus on the details of your application.  Applications developed
+with GTK+ will automatically follow the user's theme and font settings,
+will interact properly with accessibility technologies, and will behave
+as users expect.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/gnome-devel-demos/stable/image-viewer.c.html";>GTK+ demo tutorial</link></p></item>
+  <item><p><link href="http://developer.gnome.org/gtk3/stable/";>GTK+ Reference Manual</link></p></item>
+  <item><p><link href="http://gtk.org/";>The GTK+ web site</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/tech-gupnp.page b/platform-overview/C/gupnp.page
similarity index 70%
rename from platform-overview/C/tech-gupnp.page
rename to platform-overview/C/gupnp.page
index 6220725..283a51b 100644
--- a/platform-overview/C/tech-gupnp.page
+++ b/platform-overview/C/gupnp.page
@@ -1,72 +1,14 @@
 <page xmlns="http://projectmallard.org/1.0/";
-      type="topic" id="tech-gupnp">
+      type="topic"
+      id="gupnp">
 <info>
-  <link type="guide" xref="tech" group="gupnp"/>
+  <link type="guide" xref="index" group="gstreamer"/>
   <desc>An easy to use, efficient and flexible UPnP framework</desc>
   <revision pkgversion="1.0" date="2011-05-17" status="candidate"/>
 </info>
 
 <title>GUPnP</title>
 
-<list>
- <item>
-  <p><em style="strong">Strong selling point #1</em></p>
- </item>
- <item>
-  <p><em style="strong">Strong selling point #2</em></p>
- </item>
- <item>
-  <p><em style="strong">Strong selling point #3</em></p>
- </item>
-</list>
-
-<p>Marketing blurb, info on what this library offers developers.</p>
-
-<media type="image" mime="image/png" src="test_comm1.png" width="65%">
- <p>Example image</p>
-</media>
-
-
-<section id="what">
- <title>What can you do?</title>
- 
- <p>Things that <em style="strong">you can do</em> with <em style="strong"><link xref="blah">some feature</link></em> of the library.</p>
-</section>
-
-
-<section id="docs">
- <title>API and reference documentation</title>
- <p></p>
- <list>
-  <item>
-   <p><em style="strong"><link href="">Documentation Link</link></em></p>
-   <p>Brief description of the documentation. Maybe also some direct links to particularly interesting pages.</p>
-  </item>
- </list>
-</section>
-
-
-<section id="samples">
- <title>Code samples</title>
- <list>
-  <item><p>A sample we should write</p></item>
-  <item><p><link xref="samples">More...</link></p></item>
- </list>
-</section>
-
-<section id="realworld">
- <title>Real-world examples</title>
- 
- <p>This library is used in lots of open source software. Take a look at some of it.</p>
- <list>
-  <item>
-   <p><em style="strong">XXX</em> is .</p>
-   <p>(<link href="xxx">Website</link> | <link href="xxx">Screenshot</link> | <link href="xxx">Source code</link> )</p>
-  </item>
- </list>
-</section>
-
-<!--
 <p>GUPnP is an object-oriented open source framework for creating UPnP devices and control points,
 written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and
 flexible.</p>
@@ -138,5 +80,4 @@ each other without any configuration from user.</p>
 
 <p>For comprehensive information on GUPnP, please visit the <link
 href="http://www.gupnp.org";>project home page</link>.</p>
--->
 </page>
diff --git a/platform-overview/C/help.page b/platform-overview/C/help.page
new file mode 100644
index 0000000..b6008fd
--- /dev/null
+++ b/platform-overview/C/help.page
@@ -0,0 +1,31 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="help">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Topic-oriented help system</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="final"/>
+</info>
+
+<title>Help</title>
+
+<p>Users sometimes need a little help, even with the best-designed
+applications. GNOME provides a built-in topic-oriented help system
+using the <link href="http://projectmallard.org/";>Mallard</link>
+markup language. Pioneered by GNOME developers, Mallard is an agile
+and dynamic language that helps you write and revise quickly. Its
+topic-oriented design means your users can find the answers they
+need without sifting through a manual. With its unique linking and
+organization system, Mallard is the only language designed to handle
+plugin and vendor help in one coherent document.</p>
+
+<p>When you do need linear manuals, GNOME also supports the
+industry-standard <link href="http://docbook.org/";>DocBook</link>
+format.</p>
+
+<list style="compact">
+  <item><p><link href="http://projectmallard.org/about/learn/tenminutes.html";>Ten Minute Mallard Tour</link></p></item>
+  <item><p><link href="http://projectmallard.org/";>The Mallard web site</link></p></item>
+  <item><p><link href="http://docbook.org/";>The DocBook web site</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/index.page b/platform-overview/C/index.page
index ce8950c..a8962e1 100644
--- a/platform-overview/C/index.page
+++ b/platform-overview/C/index.page
@@ -24,40 +24,42 @@
   <include href="cc-by-sa-3-0.xml" xmlns="http://www.w3.org/2001/XInclude"/>
 </info>
 
-<title>Overview of the GNOME platform</title>
-
-
-<media src="equation.png" width="90%">
- <p>GNOME equation</p>
-</media>
-
-<p>GNOME provides a comprehensive developer platform that allows 
-developers to create professional software that is easy to use and 
-aesthetically pleasing. Using the technologies in GNOME, you can create 
-high-quality software to meet and exceed your users' expectations. Here, you 
-can find a high-level overview of the platform, designed to introduce you to 
-its capabilities, and to help you find resources on developing with GNOME.</p>
-
-<section id="overview" style="2column">
- <title>Overview of GNOME technologies</title>
- <p>Find out what you can do with GNOME's extensive collection of libraries.</p>
-</section>
-
-<section id="dev" style="2column">
- <title>Tools for developers</title>
- <p>A range of tools are available to make your life easier when developing 
- with GNOME.</p>
-</section>
-
-<section id="docs" style="2column">
- <title>Examples and documentation</title>
- <p>There are lots of example code snippets that you can use as a reference, as well as extensive generated API documentation.</p>
-</section>
-
-<section id="concepts" style="2column">
- <title>Conceptual foundations</title>
- <p>Learn about some of the concepts that differentiate GNOME from other 
- development platforms.</p>
-</section>
+<title>Overview of the GNOME Platform</title>
+
+<p>GNOME is a powerful but simple desktop environment with a strong focus
+on usability, accessibility, and internationalization.  GNOME is designed to
+be usable by everybody, regardless of technical expertise, disabilitites, or
+native language.  GNOME makes it easy for people to use their computers.</p>
+
+<p>The GNOME platform provides a comprehensive development environment
+for graphical applications and other software.  GNOME provides a
+comprehensive developer platform that allow developers to create professional
+software that is easy to use and aesthetically pleasing. Using the
+technologies in GNOME, you can create high-quality software to meet and
+exceed your users' expectations.   This document provides a high-level
+overview of the GNOME platform along with links to detailed documentation
+on each part of the platform.</p>
+
+<links type="topic" style="toronto"
+       groups="gtk clutter webkit gstreamer">
+  <title>Graphics and Multimedia</title>
+</links>
+
+<links type="topic" style="toronto"
+       groups="gio gio-network gsettings d-bus soup gupnp">
+  <title>Core Application Support</title>
+</links>
+
+
+<links type="topic" style="toronto" groups="apps">
+  <title>Application Technologies</title>
+</links>
+
+<links type="topic" style="toronto"
+       groups="atk pango pulseaudio cairo gdk gobject glib">
+  <title>Under the Hood</title>
+</links>
+
+<links type="topic" style="toronto"/>
 
 </page>
diff --git a/platform-overview/C/keyring.page b/platform-overview/C/keyring.page
new file mode 100644
index 0000000..bbbd4e2
--- /dev/null
+++ b/platform-overview/C/keyring.page
@@ -0,0 +1,59 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="keyring">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Secure storage for passwords and other data</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>Keyring</title>
+
+<p>GNOME provides a modern and secure keyring manager to store users'
+passwords and other sensitive data.  Applications can use the keyring
+manager library to store and access passwords, and users can manage
+their passwords using GNOME's <app>Seahorse</app>
+application.</p>
+
+<p>The keyring manager provides any number of keyrings, where each
+keyring can contain any number of keyring items.  Items in a keyring
+store some piece of data, often a password.  Each keyring is locked
+individually, and users must provide a password to unlock the keyring.
+Once a keyring has been unlocked, the user has access to all of the
+items in that keyring.</p>
+
+<p>The keyring manager provides access control lists for each keyring
+item, controlling which applications are allowed access to that item.
+If an unknown application attempts to access a keyring item, the keyring
+manager will prompt the user to allow or deny that application access.
+This helps prevent malicious or poorly-written programs from accessing
+the user's sensitive data.</p>
+
+<p>Keyring data stored on the file system is encrypted with the AES
+block cipher, and SHA1 is used for hashes of the item's attributes.
+Using the attributes hash, the keyring manager is able to look up items
+requested by applications without ever unlocking the keyring.  The
+keyring has to be unlocked when a matching item is found and
+accessed.</p>
+
+<p>The keyring manager also provides a session keyring.  Items in
+the session keyring are never stored on disk, and are lost as soon as
+the user's session ends.  The session keyring can be used to store
+passwords to be used in the current session only.</p>
+
+<p>If you use GIO to access remote servers, you automatically
+get the benefits of the keyring manager.  Whenever GVFS needs to
+authenticate the user, it provides the option to store the password,
+either in the default keyring or in the session keyring.</p>
+
+<p>You should use the keyring manager whenever your application needs
+to store passwords or other sensitive data for users.  Using the keyring
+manager provides a better user experience while still keeping user data
+safe and secure.</p>
+
+<p>For API references please see the 
+<link href="http://developer.gnome.org/gnome-keyring/stable/";>gnome-keyring 
+Reference Manual</link> and the 
+<link href="http://developer.gnome.org/libseahorse/stable/";>libseahorse 
+Reference Manual</link>.</p>
+</page>
diff --git a/platform-overview/C/notify.page b/platform-overview/C/notify.page
new file mode 100644
index 0000000..57c396d
--- /dev/null
+++ b/platform-overview/C/notify.page
@@ -0,0 +1,23 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="notify">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Interactive notifications in the messaging tray</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>
+</info>
+
+<title>Notify</title>
+
+<p>The libnotify library provides a convenient API for presenting
+notifications to the user. Notifications can be simple message or
+they can allow the user to respond. Notifications made with libnotify
+will use the appropriate interface in the environment the application
+is running in. In GNOME 3, notifications are displayed at the bottom
+of the screen and then put into the messaging tray.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer-next.gnome.org/libnotify/";>Libnotify Reference Manual</link></p></item>
+</list>
+
+</page>
diff --git a/platform-overview/C/pango.page b/platform-overview/C/pango.page
new file mode 100644
index 0000000..c3acc5e
--- /dev/null
+++ b/platform-overview/C/pango.page
@@ -0,0 +1,51 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="pango">
+<info>
+  <link type="guide" xref="index" group="pango"/>
+  <desc>Fully internationalized text layout and rendering</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>Pango</title>
+
+<p>Pango is the core text and font handling library in the GNOME
+platform.  It is responsible for laying out and rendering text, and
+is used throughout GTK+.</p>
+<note><p>The Pango layout engine can be used with different font
+backends and drawing backends.  On most GNOME systems, Pango
+will use FreeType, fontconfig, and Cairo to access fonts and
+render text.  On other systems, Pango will use the native font
+systems, such as Uniscribe on Microsoft Windows and ATSUI on
+MacOS</p></note>
+
+<p>Pango has extensive support for the various writing systems
+used throughout the world.  Many of the writing systems used for
+languages have complex rules for laying out glyphs and composing
+characters.  With Pango, nearly all languages can be written and
+displayed correctly, allowing users everywhere to view text in their
+native languages.  Pango support for multiple writing systems is
+automatic; application developers do not have to write any special
+code to support other languages.</p>
+
+<p>Pango supports the text styling used in typical documents
+and interfaces, including italics, font weights, and underlines.
+Pango uses a simple XML-like vocabulary called PangoMarkup which
+enables you to set font size, color, styles, and other text
+attributes.  Using PangoMarkup, you can specify inline styles
+without manually iterating over text blocks.  PangoMarkup can
+be used directly from GTK+, enabling you to style text in your
+graphical interfaces easily.</p>
+
+<p>You should use Pango directly whenever you need to lay
+text out on the screen or on a different medium.  Using Pango
+will allow your text layout to work seamlessly with GTK+ and
+the rest of the GNOME platform.  It will help you create
+portable code, and most importantly, it will ensure that your
+application can render text correctly in hundreds of different
+languages.</p>
+
+<list style="compact">
+  <item><p><link href="http://library.gnome.org/devel/pango/stable/";>Pango Reference Manual</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/soup.page.stub b/platform-overview/C/soup.page.stub
new file mode 100644
index 0000000..3392e6f
--- /dev/null
+++ b/platform-overview/C/soup.page.stub
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="soup">
+<info>
+  <link type="guide" xref="index" group="soup"/>
+  <desc>Asynchronous HTTP library with cookies, SSL, and XML-RPC</desc>
+</info>
+
+<title>Soup</title>
+
+</page>
diff --git a/platform-overview/C/telepathy.page b/platform-overview/C/telepathy.page
new file mode 100644
index 0000000..d2473c8
--- /dev/null
+++ b/platform-overview/C/telepathy.page
@@ -0,0 +1,28 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="telepathy">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Unified and integrated contacts and instant messaging</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>
+</info>
+
+<title>Telepathy</title>
+
+<p>Telepathy provides a powerful framework for interacting with the
+user's instant messaging contacts. With Telepathy, all accounts and
+connections are handled by a D-Bus session service that's deeply
+integrated into the GNOME desktop. Applications can tie into this
+service to communicate with contacts.</p>
+
+<p>With the Telepathy Tubes API, you can even tunnel an arbitrary
+protocal over modern instant messaging protocols like Jabber to
+create interactive applications. Create multi-player games or
+collaborative editors that integrate with the desktop-wide
+instant messaging services.</p>
+
+<list style="compact">
+  <item><p><link href="http://telepathy.freedesktop.org/doc/book/";>Telepathy Developer's Manual</link></p></item>
+</list>
+
+</page>
diff --git a/platform-overview/C/tracker.page.stub b/platform-overview/C/tracker.page.stub
new file mode 100644
index 0000000..870683b
--- /dev/null
+++ b/platform-overview/C/tracker.page.stub
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="tracker">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Semantic data storage with RDF and SPARQL</desc>
+</info>
+
+<title>Tracker</title>
+
+</page>
diff --git a/platform-overview/C/webkit.page b/platform-overview/C/webkit.page
new file mode 100644
index 0000000..c83831f
--- /dev/null
+++ b/platform-overview/C/webkit.page
@@ -0,0 +1,29 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="webkit">
+<info>
+  <link type="guide" xref="index" group="webkit"/>
+  <desc>The power of HTML5 and the web in your application</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>
+</info>
+
+<title>WebKit</title>
+
+<p>WebKit is a powerful, multi-platform HTML engine used in open
+source and commercial products. WebKitGTK+ is the port of WebKit
+built on <link xref="gtk">GTK+</link> and integrated into the
+GNOME developer platform. WebKitGTK+ is developed upstream as
+part of the main WebKit project, so it's always up to date with
+the latest HTML5 features.</p>
+
+<p>WebKitGTK+ makes it easy to add web functionality to your
+application, or to use HTML5 and associated technologies to
+create dynamic user interfaces quickly.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/gnome-devel-demos/stable/message-board.c.html";>WebKitGTK+ demo tutorial</link></p></item>
+  <item><p><link href="http://webkitgtk.org/reference/index.html";>WebKitGTK+ Reference Manual</link></p></item>
+  <item><p><link href="http://webkitgtk.org/";>The WebKitGTK+ web site</link></p></item>
+</list>
+
+</page>
diff --git a/platform-overview/Makefile.am b/platform-overview/Makefile.am
index d4d5ac6..4143b5d 100644
--- a/platform-overview/Makefile.am
+++ b/platform-overview/Makefile.am
@@ -2,99 +2,29 @@ include $(top_srcdir)/gnome-doc-utils.make
 dist-hook: doc-dist-hook
 
 DOC_ID = platform-overview
-DOC_PAGES =					\
-	concepts-boxmodel.page			\
-	concepts-deployment.page		\
-	concepts-gobject.page			\
-	concepts-signals.page			\
-	demo-audio-player.vala.page		\
-	demo-guitar-tuner.c.page		\
-	demo-guitar-tuner.cpp.page		\
-	demo-guitar-tuner.py.page		\
-	demo-guitar-tuner.vala.page		\
-	demo-image-viewer.c.page		\
-	demo-image-viewer.cpp.page		\
-	demo-image-viewer.js.page		\
-	demo-image-viewer.py.page		\
-	demo-image-viewer.vala.page		\
-	demo-magic-mirror.vala.page		\
-	demo-message-board.c.page		\
-	demo-photo-wall.c.page			\
-	demo-record-collection.js.page		\
-	demos.page				\
-	dev-build.page				\
-	dev-coding.page				\
-	dev-help.page				\
-	dev-translate.page			\
-	getting-ready.page			\
-	index.page				\
-	overview-communication.page		\
-	overview-datastorage.page		\
-	overview-gettingstarted.page		\
-	overview-help.page			\
-	overview-multimedia.page		\
-	overview-systemintegration.page		\
-	overview-ui.page			\
-	sample-avahi-discoverprinter.page	\
-	samples.page				\
-	sample-telepathy-imstatus.page		\
-	tech-atk.page				\
-	tech-cairo.page				\
-	tech-canberra.page			\
-	tech-clutter.page			\
-	tech-dbus.page				\
-	tech-eds.page				\
-	tech-gda.page				\
-	tech-gdk.page				\
-	tech-gio-network.page			\
-	tech-gio.page				\
-	tech-glib.page				\
-	tech-gobject.page			\
-	tech-gsettings.page			\
-	tech-gstreamer.page			\
-	tech-gtk.page				\
-	tech-gupnp.page				\
-	tech-keyring.page			\
-	tech-notify.page			\
-	tech.page				\
-	tech-pango.page				\
-	tech-soup.page				\
-	tech-telepathy.page			\
-	tech-tracker.page			\
-	tech-webkit.page
+DOC_PAGES =			\
+	atk.page		\
+	cairo.page		\
+	canberra.page		\
+	clutter.page		\
+	d-bus.page		\
+	eds.page		\
+	gda.page		\
+	gdk.page		\
+	gio-network.page	\
+	gio.page		\
+	gstreamer.page		\
+	gtk.page		\
+	gupnp.page		\
+	help.page		\
+	index.page		\
+	keyring.page		\
+	notify.page		\
+	pango.page		\
+	telepathy.page		\
+	webkit.page
 
-DOC_FIGURES =					\
-	audio-player/audio-player.vala		\
-	guitar-tuner/guitar-tuner.c		\
-	guitar-tuner/guitar-tuner.cc		\
-	guitar-tuner/guitar-tuner.py		\
-	guitar-tuner/guitar-tuner.vala		\
-	image-viewer/firefox_test.jpg		\
-	image-viewer/gtk_test.png		\
-	image-viewer/image-viewer.c		\
-	image-viewer/image-viewer.cc		\
-	image-viewer/image-viewer.js		\
-	image-viewer/image-viewer.py		\
-	image-viewer/image-viewer.vala		\
-	magic-mirror/magic-mirror-advanced.vala	\
-	magic-mirror/magic-mirror.vala		\
-	media/fedora.png			\
-	media/gnome-devtools.catalog		\
-	media/guitar-tuner-glade.png		\
-	media/guitar-tuner-pipeline.png		\
-	media/guitar-tuner-pipeline.svg		\
-	media/guitar-tuner.png			\
-	media/image-viewer.png			\
-	media/magic-mirror.png			\
-	media/message-board.ogv			\
-	media/opensuse.png			\
-	media/photo-wall-focused.png		\
-	media/photo-wall.png			\
-	media/record-collection.png		\
-	media/ubuntu.png			\
-	message-board/message-board.c		\
-	photo-wall/photo-wall.c			\
-	record-collection/record-collection.js
+DOC_FIGURES =
 
 DOC_INCLUDES=			\
 	cc-by-sa-3-0.xml	\



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]