I recently had the 'opportunity' to use a GNUstep environment full
time for a month while Apple were repairing my PowerBook (a very,
very long story). This got me thinking about what I need in order to
use a working environment full time. Since we said in the GNA
interview that our first target userbase would be ourselves, I am
interested in what we feel would be the minimum requirements for us
to start using a fully- or primarily-Étoilé environment. In other
DEs, this has been the point at which progress has started to be made
at a good speed, since bugs / feature-lacks irritate the developers
enough to get fixed. Here are my thoughts. Note that these are
personal requirements - what else do other people feel they need?
Minimum Requirements (in no particular order):
1) A working terminal. Terminal.app is fairly nice except that:
- It doesn't render some characters correctly (&, for example)
- It doesn't allow you to change the colours (you can do this under
Linux, but nothing else, and even that's a bit of a hack).
- The history buffer is too short, and there seems to be no way of
changing it.
Basically, this one is in the nearly-there category. Not much effort
is required to get it fully-there.
2) A web browser. I used FireFox and the UI is okay, but the menu
bar is in the wrong place and the shortcut keys use control instead
of meta. A port of WebKit to GNUstep or a port of Camino would be
required. I believe this is a work in progress for someone?
3) A mail client. GNUmail seemed okay. I didn't really like the
search interface (I don't like the one in newer versions of Mail.app
either), and it had a habit of eating all of my CPU and freezing
after a few hours of use, but I'm sure I could fix that if I spent a
little while in a debugger.
4) LaTeX. This one's easy - it runs pretty much everywhere, and I
don't need a GUI for it.
5) Address Book. The OS X address book has some nice bluetooth stuff
(which now doesn't work with my new 'phone, *sigh*). Importing my OS
X address book into the current GNUstep implementation lost a lot of
data. I will have a good look at why at some point this year.
6) Calendar. iCal in Panther is close to my ideal calendar.
Agenda.app is probably a good starting point. If all else fails,
there is a decent PHP calendar I could run locally, if I had a good
web browser...
7) Jabber Client. I've been dragging my heels a bit on this one.
There are a few bugs I need to fix, but I did some work tidying the
code to make it compile on GNUstep again last month. I am waiting
for the new GORM before I port the UI.
8) OmniOutliner replacement. This is little more than a wrapper
around NSOutlineView (at least, as I use it). Nicolas was working on
a semantic text editor at one point, which would probably fit the bill.
9) OmniGraffle replacement. I haven't found a diagramming package I
like as much as this.
10) iTunes replacement. I might work on this a bit. I have some
ideas I'd like to play with.
11) Presentation tool, ideally with Keynote import. I haven't really
found a presentation tool other than Keynote on any platform I like.
Implementing such a thing on Étoilé should be relatively easy - all
it would really need would be some kind of transition framework
(Nicolas said someone is working on this?) to put joins between
individual slides which could be created with the existing components.
12) Some kind of image editing tool. I believe this is, again, a
work in progress.
Desired, but not required:
1) Video editing tools. I wouldn't mind keeping a Mac around for
this for a bit, but ideally being able to do it with Étoilé would be
nice. I might spend some time on this - I've been looking for an
excuse to play with OpenGL shaders, and implementing a filter graph
framework and some filters would be a good excuse (yes, I will write
fall-back code for people who don't have shiny GPUs).
2) Developer tools. Currently XCode is a good way ahead of anything
GNUstep offers. GORM is close to IB, although I still run into bugs
every time I use it. I would expect it to surpass IB in the next few
months if Gregory keeps up his current pace. DDD is a nicer debugger
than the XCode one, and Vim 7 looks like it will be a better code
editor than XCode, so all of the components should be there soon...
Nicolas and Quentin, I believe, both have some interesting ideas
about an IDE, so this looks promising.
That's about it for me. My new years resolution is to participate
more actively in Étoilé development (i.e. actually start putting some
code in SVN), so hopefully I shall start to produce some things of
use in the next few months...