Extending the GNOME system (ideal)



Disclaimer: While I am a progammer, I'm not a GNOME/bonobo programmer, so some
things here might simply not be possible.  Also, I'm working off of a discussion
that occured in a car first thing in the morning, so I might be talking out of
my butt :)

Anyway, the discussion went something like this.  Gnumeric does a good job of
using various bonobo components to create text, graphs, do spell checking, and
so on.  Why not make an entire app out of that.

Let me explain further.  IE4/5 has the COM/OLE (?) model of "open a word doc
in explorer, and it opens up the word app in the explorer window."  This is
cool, but you still are using separate apps (word, excel, whatever) within a
containter (explorer).  Why not make an application that is just a container.
You create a new "document".  This document could be anything that is
bonoboized.  Want a new image?  Well, the bonoboized gimp toolbars appear and
you start painting.  Want to add text?  Click the "add text" button and the
bonoboized text widget is used for entering and styling text.  Spell check?
Click on the spellcheck button and the spellcheck bonobo spell checks what is
in your text field.  

The "document" could work in layers, similar to GIMP layers, where one layer
could be a gimp component, one a text component.  Hell, expand things more,
and make the bonobos smaller.  Make a gradient bonobo component, then you can
overlay a gradiant on your text!  In essense, it's importing text into the
gimp, doing the gimp layering stuff on it, and then exporting it to a file,
but not really, and more transparently :)  

You could create not only an application out of this, but an entire desktop.
The discussions here recently about a "simple" and "advanced" gnome install,
where one installs gimp, one gpaint.  Well, why not just have a "graphics
editor application" component which can be set to "gimp" or "gpaint", or
"eeyes", or [j. random gfx app].  This could be set up similarly to the way
that a mimetype is setup.   When you install the "super mega-spellchecker",
you just set that in the "spellcheck" component slot and any app (gnumeric,
gimp, whatever) that uses that component now transparently uses supermega
spellcheck now.  

For the simple/advanced install, this would just set up the applications (or 
bonobo components or whatever they are) that match up with the "mimetype" list.
You can then set up a "granny" version of gnome using gpaint, the simple text
editor, and the simple mail client.  Switch to advanced and you have gimp,
xemacs, and evolutions.  Heck, you could have evolution all the time, but what
it displays/uses for reading and writing email could be different based on the
setting.  Evolution does this now from what I see, pulling in a mail,
calendar, and contact manager component. 

Another offset benefit is that this model would allow *nix to get back to what
it is good at, writing *small* applications that do their job WELL.  A lot of
applications are using a plugin system now for this exact reason.  Someone who
can code a graphics application might not be that good at writing a blur
component.  Why not design a way that that blur component could work on
*anything* and can be called from anywhere.  Wouldn't it be cool if the xchat
h4ck3r sp43k plugin could be used on your gnumereric spreadsheet? (ok, maybe
not the best example... :)

Saving could be done in XML/DOM, again, an excersise left to the reader :)

Now as I said before, I'm not a gnome or corba coder, and I realize that a lot
of this might be either impossible, already done, or not worth it.  But I
figured that I'd throw it out there.

--
Arcterex <arcterex userfriendly org>   -==-   http://arcterex.net
"I used to herd dairy cows. Now I herd lusers. Apart from the isolation, I
think I preferred the cows. They were better conversation, easier to milk, and
if they annoyed me enough, I could shoot them and eat them." -Rodger Donaldson




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