grim/guifications3

Parents 373b7a71ae45
Children 0b5513f16fc8
rearranged a bunch of the structure of the docs as well as split the introduction out to it's own sgml file
--- a/gflib/doc/gflib/gflib-docs.sgml Sat Oct 10 16:48:04 2009 -0500
+++ b/gflib/doc/gflib/gflib-docs.sgml Sat Oct 10 16:48:47 2009 -0500
@@ -6,28 +6,15 @@
<title>Guifications Library Reference Manual</title>
</bookinfo>
- <part id="api-ref">
- <title>Guifications Library Overview</title>
- <partintro id="overview-partintro">
- <para>
- Guifications Library is heart and soul of Guifications 3. It
- is the base library that defines the base behavior and
- structure for everything Guifications related.
- </para>
- </partintro>
+ <part id="Overview">
+ <title>Overview</title>
- <chapter id="building">
- <title>Building</title>
- <xi:include href="./building.sgml"/>
- </chapter>
+ <xi:include href="./introduction.sgml"/>
+ <xi:include href="./building.sgml"/>
</part>
- <part id="core-ref">
- <title>GfLib Core Reference</title>
- <partintro id="core-ref-partintro">
- <para>
- </para>
- </partintro>
+ <part id="CoreReference">
+ <title>Core Reference</title>
<xi:include href="xml/gf_core.xml"/>
<xi:include href="xml/gf_enum.xml"/>
@@ -40,14 +27,10 @@
<xi:include href="xml/gf_marshallers.xml"/>
</part>
- <part id="object-ref">
- <title>GfLib Object Reference</title>
- <partintro id="object-ref-partintro">
- <para>
- </para>
- </partintro>
+ <part id="ObjectReference">
+ <title>Object Reference</title>
- <chapter id="object-hierarchy">
+ <chapter id="ObjectHierarchy">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>
</chapter>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gflib/doc/gflib/introduction.sgml Sat Oct 10 16:48:47 2009 -0500
@@ -0,0 +1,149 @@
+<refentry id="Introduction">
+ <refnamediv>
+ <refname>Introduction</refname>
+ <refpurpose>
+ Getting to know you
+ </refpurpose>
+ </refnamediv>
+
+ <refsect1 id="Intro">
+ <title>Introduction</title>
+
+ <para>
+ Guifications Library is heart and soul of Guifications 3. It
+ is the base library that defines the base behavior and
+ structure for everything Guifications related. It's been built
+ from the ground up to be extremely flexible, but also easy to use.
+ You'll see a lot of abstraction and a lot of helpers in it's API.
+ </para>
+
+ <para>
+ Guifications 3 is, what can only be describe as, a global
+ notification system. What does this mean? Well to put it quite
+ simply, ever want to be notified of something regardless of where
+ you happen to be? Well Guifications 3 is meant to make that
+ happen. I know that sounds confusing, but the examples below
+ should be able to clear that up.
+ </para>
+ </refsect1>
+
+ <refsect1 id="Concepts">
+ <title>Concepts</title>
+
+ <para>
+ HAHAHA nothing here yet, and there probably won't be until they're
+ better defined, and most likely implemented. This is a war we're
+ fighting to get to market, can't give our enemies our secrets!
+ </para>
+ </refsect1>
+
+ <refsect1 id="Examples">
+ <title>Examples</title>
+
+ <para>
+ The example I've been using forever to explain this is, say you
+ a few servers sitting on a UPS at work, and you'd like to know when
+ you've lost power and the UPS has kicked in. Solutions exist today
+ for this, but they're horribly specific, and usually implemented by
+ a pager. This may work great for this problem, but say you have
+ a UPS at home and you'd like to do the same. In most cases, your
+ employer won't let you connect your home UPS to this system, thus
+ you'll have to get another pager to do the same thing at home.
+ </para>
+
+ <para>
+ If you were using Guifications 3, all you'd need to do is replace
+ the paging system with a Guifications Daemon monitoring the
+ servers. After that, you include the daemons into your
+ notification cloud, and wahlah you're done. If you want to add
+ your home UPS, it's the same deal. Now, you've gotten rid of the
+ pager, and the notification can come over anything that
+ Guifications can talk to.
+ </para>
+ </refsect1>
+
+ <refsect1 id="History">
+ <title>History</title>
+
+ <para>
+ Guifications has an interesting history that only few actually
+ know.
+ </para>
+
+ <para>
+ It all started around June of 2003 when Gary Kramlich finally made
+ the big move and replaced Windows with Debian GNU/Linux on his main
+ workstation station. During that transistion he had settled on the
+ instant message client Pidgin (Gaim at the time).
+ </para>
+
+ <para>
+ Pidgin was awesome for instant messaging, but Gary really wanted
+ something with toaster popups. He had tried all of the plugins
+ that existed for Pidgin at the time, but he couldn't find one that
+ he liked. So like any coder with an itch to scratch, he started
+ Guifications.
+ </para>
+
+ <para>
+ When Guifications was started, it was original known as notifwin.
+ Which, as I'm sure you'll agree, is a crappy name. After some
+ brainstorming with friends, it was renamed to Guifications. The
+ name is a mash of GUI and notification, since the toaster popups
+ are GUI windows that show notifications.
+ </para>
+
+ <para>
+ The Guifications 1.x code base had a decent life span, where it
+ quickly climbed to the top plugins for Pidgin, but it didn't take
+ long to realize that it wasn't going to fit the bigger picture Gary
+ had in his head. This sparked a the Guifications 2.x code base.
+ </para>
+
+ <para>
+ The Guifications 2.x code base was meant to be a complete rewrite
+ that would extend the customizibility in Guifications 1.x as well
+ make sharing those customizations easier and to create a bunch of
+ code that could later be used in the already planned Guifications
+ 3.x code base.
+ </para>
+
+ <para>
+ Guifications 2.x was meant to be a short term update between
+ Guifications 1.x and Guifications 3.x. It has, unexpectedly,
+ turned into a long term stable branch while Guifications 3.x has
+ been in development. It has seen quite a few releases, and
+ continues to spark user created content in the form of themes.
+ </para>
+
+ <para>
+ For quite a few years now, Guifications 2.x has been in what we've
+ been calling maintenance mode while Gary, the lead developer, has
+ been focusing on the Guifications 3.x code base. It has had a few
+ corner case bugs that work arounds have existed for, and has for
+ the most part laid completely dorment.
+ </para>
+
+ <para>
+ The Guifications 3.x code base has stretched far beyond the
+ original idea that sparked in Gary's head so long ago. The goal,
+ that seemed so innocent at the time, of writing a global
+ notification system, has turned into what can only be describe as
+ a distributed micro kernel. Or as Gary likes to refer to it
+ "Capable of becoming skynet".
+ </para>
+
+ <para>
+ As development continues on Guifications 3.x, many inadaquieces
+ have been discovered and in most cases, completely nullified.
+ However, there are still problems, but those are slowly being dealt
+ with. But the biggest problem of time continues to eat away at the
+ project, destroying both morale and motivation. The biggest
+ problem by far, has been that the entire concept and implementation
+ details live in Gary's head. While he's tried to document them,
+ it raises questions in the other developers which take time to
+ answer, and thus, time away from Guifications 3. But one day,
+ hopefully soon, Guifications 3 will see an alpha release.
+ </para>
+ </refsect1>
+</refentry>