At the end of July 1995, Peter Mattis posted a message in several newsgroups related to X11 and Linux application development, asking two questions and giving hints about an interesting program…
From: Peter MattisSubject: Image Manipulation Program FeaturesDate: 1995-07-29Message-ID:<petm-2907952329370001@charnley.hip.berkeley.edu>Newsgroups: comp.windows.x,comp.windows.x.apps,comp.os.linux.x,comp.os.linux.development.appsSuppose someone decided to write a graphical image manipulation program(akin to photoshop). Out of curiousity (and maybe something else), I have afew (2) questions: What kind of features should it have? (tools, selections, filters, etc.) What file formats should it support? (jpeg, gif, tiff, etc.)Thanks in advance, Peter Mattis
Two weeks before, he was mentioning some program using plug-ins…
From: Peter MattisSubject: Re: Best way to write plug-ins?Date: 1995-07-16Message-ID:<3ua2hd$bbv@agate.berkeley.edu>Newsgroups: comp.os.linux.development.appsIn article<3u7amh$...@felix.cc.gatech.edu>,Jeff Garzikwrote:>I am writing an application for a my company, and I am interested in>making it very easy to hook into internal program data (like a>PhotoShop Plug-In, if you know what one of those is). What would be>the best way to do this?>>I can only think of two ways to do it right offhand, but I would like>to avoid the second (call me a purist):>>* Allocate shared memory to a child process, which is either an> a.out or ELF binary.>* Write the data out to a temporary file, or pipe, which the child> executable then reads.>>Is there a better way?Well, I'm currently writing an application that uses plug-in modules. Thetechnique I use is to use pipes to handle communication and to use sharedmemory to pass large data structures back and forth. (Well, I guess theyaren't really "passed" when using shared memory, now are they. :)It is, however, not very easy to hook into internal program data. I set upa fairly simple message passing system to handle requests for data. It worksfine for my purposes, but it wouldn't easily expand to allow access toarbitrary data structures in the main application.Mail me if you want more specifics.Peter Mattis
And then in November comes the first announcement of a beta release of the General Image Manipulation Program, “TheGIMP” (later renamed to just “GIMP”).
From: Peter MattisSubject: ANNOUNCE: The GIMPDate: 1995-11-21Message-ID:<48s543$r7b@agate.berkeley.edu>Newsgroups: comp.os.linux.development.apps,comp.os.linux.misc,comp.windows.x.appsThe GIMP: the General Image Manipulation Program------------------------------------------------The GIMP is designed to provide an intuitive graphical interface to avariety of image editing operations. Here is a list of the GIMP'smajor features: Image viewing ------------- * Supports 8, 15, 16 and 24 bit color. * Ordered and Floyd-Steinberg dithering for 8 bit displays. * View images as rgb color, grayscale or indexed color. * Simultaneously edit multiple images. * Zoom and pan in real-time. * GIF, JPEG, PNG, TIFF and XPM support. Image editing ------------- * Selection tools including rectangle, ellipse, free, fuzzy, bezier and intelligent. * Transformation tools including rotate, scale, shear and flip. * Painting tools including bucket, brush, airbrush, clone, convolve, blend and text. * Effects filters (such as blur, edge detect). * Channel & color operations (such as add, composite, decompose). * Plug-ins which allow for the easy addition of new file formats and new effect filters. * Multiple undo/redo.Requirements------------ * The operating system must support shared memory. * X11 R5 or R6\. (Actually, it may work on R4, but we have not had a chance to test it). * The X-server must support the X shared memory extension. (The X-server does not actually need to support shared memory so this is only a temporary situation until we integrate the configure information with the source code). * Motif 1.2 or above.The GIMP has been tested (and developed) on the following operatingsystems: Linux 1.2.13, Solaris 2.4, HPUX 9.05, SGI IRIX.Currently, the biggest restriction to running the GIMP is the Motifrequirement. We will release a statically linked binary for severalsystems soon (including Linux).URLs----http://www.csua.berkeley.edu/~gimpftp://ftp.csua.berkeley.edu/pub/gimpmailto:gimp@soda.csua.berkeley.eduBrought to you by----------------- Spencer Kimball (spencer@soda.csua.berkeley.edu) Peter Mattis (petm@soda.csua.berkeley.edu)NOTE----This software is currently a beta release. This means that we haven'timplemented all of the features we think are required for a full,unqualified release. There are undoubtedly bugs we haven't found yetjust waiting to surface given the right conditions. If you run acrossone of these, please send mail to gimp@soda.csua.berkeley.edu withprecise details on how it can be reliably reproduced.
GIMP 0.54, the (in)famous Motif release, is announced in February 1996.
From: Peter MattisSubject: The GIMP v0.54 -- General Image Manipulation ProgramDate: 1996-02-15Message-ID:<cola-liw-824385260-28937-1@oravannahka.helsinki.fi>Followup-To: comp.os.linux.development.appsNewsgroups: comp.os.linux.announceA new version of the GIMP has been released. 0.54 features someimprovements over earlier versions and many bug fixes. (I tried myhand at using Purify and found out what an extremely cool tool itis). Also available are precompiled binaries for HP's, Suns (bothSunos 4.1.x and Solaris), SGI's, and Linux a.out. I'm attaching theREADME file to the end of this message which contains the url's forgetting the source and binaries.This is a partial list of changes from earlier versions: * Fixed lots of other shit...added targa (tga) and pnm support... * Fixed a bit of stupid programming that caused some memory in autodialogs to never be freed. * Windows tend to retain their scale when using plug-ins which create new images now. (Such as "duplicate"). * Used purify and found some stupid memory bugs. These include creating several arrays 1 byte too small and using unitialized memory in one instance. * Fixed a bug in bezier selections when an anchor point was outside of the image. * Implemented a dirty bit for images. Modified images will prompt to be saved before being closed. * Made a slight modification to the way the file overwrite dialog works.Future plans------------During Christmas break we encountered Photoshop 3.0 and discovered the"joy of layers". This functionality was deemed absolutely necessaryand will part of the next release of the GIMP. This will involve majorchanges to many parts of the GIMP and is not expected to be ready forseveral months. The other major item being changed is a reworking ofthe interface (and perhaps the dropping of Motif!). Please do not bugus about when these changes will be ready. It only distracts us andslows us down. (Suffice it to say, we think the changes will be worththe wait).The GIMP: the General Image Manipulation Program------------------------------------------------The GIMP is designed to provide an intuitive graphical interface to avariety of image editing operations. Here is a list of the GIMP'smajor features: Image viewing ------------- * Supports 8, 15, 16 and 24 bit color. * Ordered and Floyd-Steinberg dithering for 8 bit displays. * View images as rgb color, grayscale or indexed color. * Simultaneously edit multiple images. * Zoom and pan in real-time. * GIF, JPEG, PNG, TIFF and XPM support. Image editing ------------- * Selection tools including rectangle, ellipse, free, fuzzy, bezier and intelligent. * Transformation tools including rotate, scale, shear and flip. * Painting tools including bucket, brush, airbrush, clone, convolve, blend and text. * Effects filters (such as blur, edge detect). * Channel & color operations (such as add, composite, decompose). * Plug-ins which allow for the easy addition of new file formats and new effect filters. * Multiple undo/redo.Requirements------------ * The operating system must support shared memory. * X11 R5 or R6\. (Actually, it may work on R4, but we have not had a chance to test it). * The X-server must support the X shared memory extension. (The X-server does not actually need to support shared memory so this is only a temporary situation until we integrate the configure information with the source code). * Motif 1.2 or above.The GIMP has been tested (and developed) on the following operatingsystems: Linux 1.2.13, Solaris 2.4, HPUX 9.05, SGI IRIX.Currently, the biggest restriction to running the GIMP is the Motifrequirement. We will release a statically linked binary for severalsystems soon (including Linux).URLs----http://www.xcf.berkeley.edu/~gimpftp://ftp.xcf.berkeley.edu/pub/gimpmailto:gimp@xcf.berkeley.eduBrought to you by----------------- Spencer Kimball (spencer@xcf.berkeley.edu) Peter Mattis (petm@xcf.berkeley.edu)NOTE----This software is currently a beta release. This means that we haven'timplemented all of the features we think are required for a full,unqualified release. There are undoubtedly bugs we haven't found yetjust waiting to surface given the right conditions. If you run acrossone of these, please send mail to gimp@xcf.berkeley.edu withprecise details on how it can be reproduced.
For historical interest, the Internet Archive has a copy of the link in Peter’s email above:http://www.xcf.berkeley.edu/~gimp
The story continues in “A Brief (and ancient) History ofGIMP“.