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.