GNOME: Newsreader development




Heya,

For various reasons, I recently decided to begin development of a
GUI-based newsreader for Linux/Unix.  Although I don't have much
experience with Gtk, it seems to me that Gnome is both an excellent
environment to develop this in and a worthwhile project to contribute
to.

The first thing I'm interested in finding out is whether or not anyone
has already started work on such a beast.  My impression from the
Gnome web site is that while there has been some discussion on how it
should be done, nobody has actually picked up the ball.  Since I'm not
big on wheel-reinvention or parallel work, I'd probably be happy to
contribute to any existing efforts.

On the assumption that I'd be working alone on this, my initial plans
will probably be pretty close to just slapping a Gtk front-end onto
slrn.  Even though I'm normally a gnus man, slrn has a lot of things
going for it, including...

a.) Most of the initial set of features I'm interested in.
b.) C implementation
c.) GPL'd code

Beyond that point, I'll probably want to maintain some sort of file
format compatibility with slrn, so that slrn can be used a non-X
newsreader without losing synchronization between newsgroups, read
articles, etc...

Off the top of my head, below are some of the seed ideas that I'll be
basing the program on.  

* Functional using only a keyboard
    + Pressing the spacebar does the Right Thing (ala slrn and trn)
    + One key navigation for all major functions.

* Configurable GUI
    + Allow at least five, list selectable, configurations of the
      three main windows.

* Offline newsreading capability, independent of the system news spool.
    + Probably will have to wait for a while, but the initial design
      will keep this in mind.

* Read-ahead ability
    + While you read one article, the next few logical choices should
      should be downloaded.  Once again, probably won't be implemented
      in early versions.

* Scoring/Kill files

* Encourage good netizenship
    + Ensure that important information isn't obscured, such as followup
      and newsgroup lines.
    + Instead of giving the standard

         #-----------------------------------#
         # Sure ya wanna post? [ok] [cancel] #
         #-----------------------------------#

      dialog all the time, it should include warnings when appropriate:

         #-----------------------------------------------------------------#
         # Your followup post is being sent to the following newsgroups in #
         # addition to comp.os.linux.misc                                  #
         #    comp.os.ms-windows.advocacy                                  #
         #    comp.os.next.advocacy                                        #
         #    alt.fan.warlord                                              #
         #                                                                 #
         # Your .signature file is over 4 lines long                       #
         #                                                                 #
         # Sure ya wanna post? [ok] [cancel]                               #
         #-----------------------------------------------------------------#

     + Probably will give a nod to the Good Net-Keeping Seal of Approval
       requirements.

* Intelligent display of articles.
     + Distinguish between various levels of nested text (using
       colorization and/or fonts) ala gnus.
     + Recognition of embedded links.  Should at least be able to
       launch a browser and utilize netscape's 'kick' feature.  I
       imagine, given the nature of the environment, the Gnome browsers
       have similar functionality.
     + Related to the last point, possibly be able to handle HTML
       formatting...someone mentioned a Gtk HTML viewing lib somewhere,
       but I consider this a very low priority.

Well, the list is neither complete nor well organized (since I've got
to take off in a few minutes), but should give you an idea of what
I'm thinking.

All comments, criticisms and discussion are welcome.



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