Re: Word Processors



Todd Graham Lewis writes:
 > If I can weigh in here, I have some suggestions about The Great Word
 > Processor Project:
 > 
 > 1) All mjor parts should be componentized with baboon so that all
 > applications can reuse your work.  This includes spellchecking, thesaurus,
 > page layout, print preview, printer selection.

 I'm thinking of setting up a web page so we can have a central
repository of idea, screenshots of interesting stuff, and a separate
archive of this discussion.  Thanks to Pathetic Writer, I can htmlize
my text without code.

 > 
 > 2) Perhaps most importantly, the document format engines should be
 > abstracted out as much as possible.  It would be nice if you could save
 > spreadsheets and gimp illustrations in PDF, etc. formats, and if they
 > did not have to re-implement to engines to do so.

Remember always that the user base for a word processor extends from
people who are *forced* to use it in order to make $2 an hour over
minimum wage to people who are doing hypertext media presentations and 
desktop publishing.  I don't think it's impossible to suit the whole
spectrum, but we might want to consider that the absolutely lowest end 
users are less likely to use a Gnome program than the more
sophisticated.

On the other hand, the design challenge means really thinking about
how intuitive is it really, how easy is it to learn from base 0.

 > 
 > 3) I wish that the actual editing component be replaceable.  Think shades
 > of emacs-as-an-X-widget here.  Define the editing component as richly
 > as you think necessary via CORBA; go ahead and load it up with as much
 > functionality as you need to do real-time spell checking, etc.  But make
 > sure that it is abstracted out via CORBA, so that someone can take one
 > of the free VI's and make it into an editing component.  Same for emacs
 > and anything else that people want to use.  This component could also
 > be used in our notepad replacement.

Yeah, right, and my totally naive user better not hit something by
accident that causes wetware kernel panic.

 > 
 > 4) It would also be nice if the API for interacting with the document
 > in progress were standardized.  That way, you could program your spell
 > checker, grammar checker, etc., all the same way, and it would be easy
 > to add a new module of this kind.

But default has to be useable out of the box.  See above.  Or let's
define the range (I'm not about to program my spell checker, thank you 
very much).  And adding new modules has to be way under the hood, or
in a very explanatory GUI.

 > 
 > 5A) On the template front, this is really not a programmatic concern,
 > except in so far as you have to make templates possible.  I would think
 > that you could make template writing very easy by allowing people to
 > write their dialogues in scheme, perhaps with some helper functions to
 > make dialogues very easy to write.


 I think we're better served with simplier templates that cover most
of the bases, especially if we're going to have ways to add templates
simply.  One way is to write a sample document and declare that the
template, say, highlighting various headers, making them a different
weight and point size, and then naming that Super Bold Header One,
then saving document as template Foo with style mark-ups.

Doesn't require scripting per se at all.  If I remember correctly,
that's about the way Word templates can function.

 > 
 > 5B) The crucial thing in making templates useful to users is editorial
 > control.  You should pick someone as the template baron who exercises
 > dictatorial control over what does and does not go into the standard
 > template library which ships.  Without this, you are just going to have
 > a big pile of unorganized, duplicative templates which will confuse
 > the user.  I nominate Rebecca as the template baron; since she can't
 > program, but she's a writer, I think she'd be perfect for this.  (Let's
 > hear it for the nonprogrammers in the crowd!  8^)

 Gee, thanks, and I've got an October 15th book deadline.




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