From miguel@nuclecu.unam.mx
Received: (qmail 6056 invoked from network); 13 Apr 1999 20:18:01 -0000
Received: from mail.redhat.com (199.183.24.239)
  by lists.redhat.com with SMTP; 13 Apr 1999 20:18:01 -0000
Received: from metropolis.nuclecu.unam.mx (miguel@metropolis.nuclecu.unam.mx 
[132.248.29.92])
	by mail.redhat.com (8.8.7/8.8.7) with ESMTP id PAA17432;
	Tue, 13 Apr 1999 15:55:08 -0400
Received: (from miguel@localhost)
	by metropolis.nuclecu.unam.mx (8.8.7/8.8.7) id IAA15875;
	Tue, 13 Apr 1999 08:55:03 -0500
Date: Tue, 13 Apr 1999 08:55:03 -0500
Message-Id: <199904131355.IAA15875@metropolis.nuclecu.unam.mx>
From: Miguel de Icaza <miguel@nuclecu.unam.mx>
To: gnome-list@gnome.org, gnome-announce-list@gnome.org
Subject: GNOME: April status report
X-Mexico: Este es un pais de orates, un pais amateur.


Hello guys!

This is your scheduled status report on GNOME.  Federico and
Jonathan pointed out that it would be nice to know where the GNOME
project is doing now.

   So here is a list of how things are:

* GNOME - the base

After about eighteen months of development, we have produced a
foundation for program development in Unix.  I think we do provide
many cool things for developing applications quickly and that the
component model based on CORBA that we have now will allow for many
things to be done in shorter time.

   The GNOME libraries provide a stable foundation for GUI application
development on Unix: with the availability of the GNOME 1.0 release,
the GNOME team is promising people that they can now code to this API
and it will not change under them.  

   Having this foundation is particularly interesting, as now we have
something to build applications on top of.  And we have other
applications to which we can talk and do interesting things with.
Something that we lacked 18 months ago. 


* The GNOME 1.0 Release -my opinion.

Well, we found out that the GNOME 1.0 release was a bit premature.
Just a bit, nothing that could not be fixed. 

   So we have been busy open source bees and we have been releasing
updates, fixes and improvements over the past few weeks to make the
GNOME 1.0 distribution more robust and address problems users came up
with.  

   Currently various packages are at version 1.0.8.  I think this
release is pretty solid and good, if you have been scared by the
initial GNOME 1.0 release, give this one a try. 

   Which brings us to the next topic:

* Packages

   The RHAD Labs team has now new RPMs for GNOME 1.0.latest for Red
Hat 5.2 available for people to download and try on their Red Hat
systems.  This is the easiest way for Red Hat users to test the latest
and greatest GNOME on their systems.

   For more information see: http://www.gnome.org

   As a reminder: the ftp.gnome.org site carries binary packages
contributed by other people.  We do not have the resources for doing
the pre-packaging ourselves.  If we lack packages for your favorite
distribution, please talk to enthusiasts working with your
distribution.


* GNOME components

ORBit has proven to be a pretty good engine for building reusable
software components.  Specially now that we have all of the
infrastructure in place.  

    I have a document that describes how we are using CORBA in GNOME,
and what future uses I have for it, it is still a draft, but if you
are interested in it, send me mail. 


* The document models

We have been busy working on two document models in GNOME: One
intended to deal with compound documents and one to manipulate the
contents of a document programatically:

   Bonobo: This one is intended to deal with compound documents:
	   managing the storage of compound files, dealing with
	   in-place editing of components and printing of compound
	   documents. 

	   The bonobo model is based on Microsoft's OLE2 interfaces
	   and interactions, we are currently deploying this into the
	   spreadsheet and into the plotting program.

	   During the process of defining Bonobo, we have removed all
	   of the historical problems of OLE2, converted it to Unix and
	   provided simple wrappers for pretty much all of it.

	   The implementation of Bonobo uses GTK objects, so extension
	   of objects in Bonobo is done most of the time trough
	   connecting to special signals, simplifying the time it takes
	   to write a full server in Bonobo. 

	   Bonobo is not yet finished, but it has recently reached
	   usable state.  We should be using Josh McDonald's librepo
	   code from the PRCS project in Bonobo. 
	   
   DOM:    Raph Levien, Daniel Veillard, Chris Lahey and others have
	   been designing a DOM engine that could be used in various
	   GNOME applications.  

	   The DOM exports the internals of a document trough CORBA
	   that enable the contents of the document to be
	   manipulated. 

	   The sample implementation done by Raph is called gdome and
	   it is available on the cvs server as other GNOME toys.


* GNOME Workshop

For a long time, we have developed a number of productivity
applications, we are now working toward assembling them as a unified
set of applications.  These include the spreadsheet, the plotting
engine (for the spreadsheet), the word processor projects, the diagram
programs and more.

   We have plans to work with the maintainers of the different
packages to have those packages include Bonobo and DOM support in the
future.


* New GNOME FAQ Maintainer

Gleef <dzol@virtual-yellow.com> has taken over the maintenance of
the GNOME FAQ.  Now the GNOME FAQ is kept in the CVS on the module
gnome-docu (thanks to Martin and Gleef for this), so we have a more
up-to-date version of the FAQ. 


* The new GNOME web site

   Various volunteers are keeping now our Web site in shape.  

   An effort is in progress to redesign the contents of the Web site
and keep all of its information on CVS to allow us to update it
without having to log into the Web machine.  You can contact the team
working on this as webmaster@gnome.org


* Glade: A Jewel hiding on CVS

   Damon Chaplin has wrote one of the most awesome applications I have
seen in a long time: he wrote Glade, a GUI designer for GTK which is
now getting GNOME support.   Glade outputs C and C++ code for your
applications.  The internal format for the GUIs created with Glade is
XML. 

   libglade from James Henstridge on the other hand can load
interfaces created with Glade and either do the signal connection for
you or allow you to customize the GUI yourself.  Pretty amazing
stuff. 


* Documentation

GNOME still needs to be documented in a number of places.  Many places
actually:

	- API documentation with examples needs to be finished.

	- Documentation for specific applications needs to be done,
	  finished or reviewed.

	- On-line help documents need to be written and the existing
	  applications need to get their help bound to the app.

    As usual, we would like to get your help and input on these
issues. 

* General hacks

   There are a number of interesting hacks I have seen recently:

	- GuileServer: A nice way of having CORBA and Guile in your
	  application for automated testing of your application.
	  Check out the testing procedure of guppi2 to see it in
	  action.  Pretty nice.

	- The dynamic modules:  GTK applications can dynamically load
	  and execute code that extends an application.  An example of
	  this is Aldy's gnome-terminal enhancements that add:
	  guile, url-launching and customized menus without
	  recompiling gnome-terminal.

* Helping in GNOME

   There are still many things that need to be done within the GNOME
framework:

	- Improving applications.
		. Localizing applications to your country.
		. Thorough testing ("Let me see if I can break it.").
		. UI improvements
		. Writing end-user documentation.

	- Improving development
		. Maintaining a TODO list, and keeping track of the
		  status of each item.  (in other words, make these
	 	  status reports easier for me). 
		. Writing development docs.
		. Expanding our API documentation to include
		  nice examples of use of each API function.
		. Finding example apps that use each of the API functions,
	 	  so people can know how to test their changes easily.

	- Helping on the mailing lists.
		. Making sure bug reports get into the bug tracking system
		  (http://bugs.gnome.org.  You can use the gnome-bug script
		  to simplify your bug tracking activities).
		. Answering questions.
		. Summarizing list traffic.

	- Helping to make the install procedure simpler.
		. Writing scripts that examine the system and downloads
		  and installs the necessary packages in the correct order.