From: jeffo@uiuc.edu (J.B. Nicholson-Owens)
Subject: Modules for adding functionality (was: Re: 3.0 Librarian) (long)
Reply-To: jeffo@uiuc.edu (J.B. Nicholson-Owens)
Organization: University of Illinois at Urbana
Date: Sun, 27 Sep 1992 23:35:15 GMT

Dave Griffiths writes
> Interesting, but you guys are speaking another language.

Actually, I don't think so.  What has been called a 'module' could be thought  
of as a Kit of some sort.  One that provides the added functionality already  
spoken about.  All the functionality that needs to be shared could be bundled  
together inside a MailKit.

> For those of us still waiting for 3.0, what are these "modules" you're
> talking about? 

They don't exist now, but to make it easy for other apps to take advantage of  
them ('them' being the features listed before this post) it would be  
advantageous to make them independant of any one app in particular.

> Are you sure that NG and Mail both use them? 

You've obviously not been following this thread.  I will elaborate.  Earlier in  
this thread, I commented that DL 3.0 doesn't have any new features, in fact it  
is LESS functional than the 2.1 and 2.2 DL was.  I said:

So, is this yet another place where NeXT is waiting for 3rd-party apps to give  
us things that we often use in mailing one another like:

* properly reformatting and quoting text when replying
* signature insertion (both RTF [for NeXTmail] and ASCII [for Non-NeXTmail])
* recognition of uuencoded and shar'ed material ala NewsGrazer (because not
  everyone can send NeXTmail)

These three features (and probably many more) could be made into modules, or  
part of a MailKit which could then be called upon from other programs.  By  
putting this functionality into a Kit, services like MailHelper and 3.0's  
Terminal services could be eliminated.  I like MailHelper now (and prefer it  
over Terminal services because I'm against bringing up an entire Terminal  
application plus a shell to do a simple reformat and quote of selected text  
when I now use Stuart as my first choice of terminal application), but I would  
like to see this functionality implemented in a way that isn't an  
'afterthought' of sorts.  I'm not against Services menus either, but I think  
that if the service is that functional and used that often across often-used or  
numerous apps, it should be made available to every app by a more convienent  
method than going 3 or 4 levels into a Services menu.

For instance, the first item is reformatting and quoting text when replying.   
If it were up to me and I needed a quick and dirty solution, I would have added  
a preference section to Mail.app that is "Quote text when replying" and if this  
is checked, when you click "Reply", the text is automatically taken from the  
message you are replying to, formatted to 60 columns (or something settable in  
Mail.app's Preference) and a "> " is inserted before each line (the standard  
quote marker, also settable in Preferences).  I would also have made it so if  
you hit Command-Reply (command-click on the Reply button) it forces a NO  
QUOTING (regardless of the quote Preference setting) and an Alt-Reply would  
force a YES QUOTING (regardless of the Preference setting).

Actually, now that I think about it, this could be taken one step further.   
Since more apps might be made concerning mailing or getting information from  
one person to another in a mail or news-conversation like manner, the  
preferences should be global or login-wide.  Therefore, the place to put the  
preferences for width of reformat, quote mark, signature selection, signature  
insertion, etc. should be a module in the Preferences.app.  This way you have  
ONE place to change the Preferences for this stuff and you can know it will  
"just work" across all apps.  By module for Preferences.app, I mean a thing  
like AppleTalk Preferences, Mouse Preferences, and this one could be called  
Reply Preferences.

>  (Since NG is a 2.1 app, this seems unlikely).

Well, all the functionality I speak of here can only be done nicely and easily  
in 3.0 or later.  On the subject of "should 2.1/2.2 apps be tolerated", I don't  
think ANY apps should be developed for anything less than 3.0 now simply  
because 3.0 makes everything so much easier to do.  I know there could be  
problems with users only having 2.1 and below, but unless someone is willing to  
make a 3.0-specific and a 2.x-specific version of the same thing (which I don't  
think anyone would do), it seems to me that one would actually be putting in  
more work to get the same or similar benefits as one could get out-of-the-box  
if one had used 3.0's programming equipment.  And since time is money, one  
would make more money by spending less time to develop; therefore, use 3.0.
-- 
-- Jeff (jeffo@uiuc.edu)
-- NeXTmail ok