GNKSA Evaluation Form 2.04 Product Name : Alexandra Product Version : 0.95PR5 Tested on platform : OPENSTEP 4.2 (Motorola) Available for platforms: NEXTSTEP 3.x, OPENSTEP 4.x Evaluation date : 9/28/98 Evaluated by : "Charles Swiger" Conclusion ========== Alexandra 0.95PR5 fails to satisfy some basic GNKSA requirement(s), hence does NOT qualify for the Good Net-Keeping Seal of Approval. Summary ======= Pass Fail Total Pass/Fail% MUSTs 37 2 39 95%/5% SHOULDs 17 10 27 63%/37% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 95%M %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 63%S [GNKSA Score-O-Meter] Details ======= Regarding the strict GNKSA requirements (MUSTs), Alexandra 0.95PR5 FAILS on the following points: 6a Does not handle Followup-To: poster correctly 13c Allows cancelling/superseding other people's articles Alexandra 0.95PR5 violates `soft' GNKSA requirements (SHOULDs) in the following way: 3b Does not warn when posting to a large number of groups 3c Fails to encourage setting a Followup-To on large crossposts 9a Does not support mailing instead after following up 9b Does not support posting instead after replying 9d Mail message not preceded by notification when posted and mailed 10d Does not omit (proper) signatures from quoted text 10e Does not let the user indicate which part to followup to 13b Does not enable users to supersede their own articles 14a May cause posting mangled articles 14b Fails to warn for excessively long lines Additional Comments: In order to make sure I was evaluating this "out of the box", I deleted all of my defaults relating to Alexandra. 3b-- I didn't actually try to test-post to a large number of groups, but I looked over the source code and no such checking is evident. (should be added to -post:sender method in Composer.m) 6a (also all of #9)-- Alexandra has completely seperate posting and emailing functionality -- in fact, it communicates with and uses the system-provided Mail.app for emailing. This is why Alexandra does not offer simultaneous mail/posting, although copy/paste between the two apps is adequate (not convenient, not annoying). Anyway, hitting "Compose" on an article with a Followup-to: poster causes an alert panel warning that the poster asked for an email response with "Post" and "Cancel" options; I'd suggest a third labelled "Email" which does what the "Reply" (email) button would have done. 13c-- provides a stern warning if you try to cancel someone else's article (says you should only proceed if this article was from you using a different email address), but you can ignore the warning if you wish. I think this is good behavior, and the GNKSA standards should permit this given that any user could send a cmsg cancel directly. 14a & b-- will break lines and rewrap text automatically for the user; thus, it is not possible to create lines longer than 80-chars. Long strings containing no text (eg, URL's) are not broken nor is a warning issued. 16e & f-- a compose window goes away when you hit post; you'd have to create an identical message by hand, deliberately. (In other words, there isn't a window lying around after posting which a user could accidentally hit post again.) Miscellaneous comments: Alexandra prefixes included signatures with the sigdash. It would be nice if it silently hid (or had the option to hide) the line containing the sigdash both when sending and reading articles. And, of course, it shouldn't quote past the sigdash when replying. In fact, I'd like Alexandra to support just quoting the selected region in the article being replied to. Nice job, though -- the new quotation engine in particular pretty much rocks. Checklist ========= (M)UST / (S)HOULD 1) Displays all essential header information Software clearly displays: [Y] a) Article's author (From) M [Y] b) Article's Subject M [Y] c) List of groups posted to (Newsgroups) M [Y] d) Where (and how) to direct followups (Followup-To) M [Y] e) Where to reply to if not the From-address (Reply-To) M [Y] PASS: Satisfies all MUSTs M 2) Provides clear, separate commands for new posting, followup, and e-mail reply [Y] a) for posting a new article M [Y] b) for posting a followup article M [Y] c) for replying by e-mail M [Y] d) Uses standard terminology S [Y] e) Avoids ambiguous terminology S [Y] PASS: Satisfies all MUSTs M 3) Provides cross-posting functionality [Y] a) Allows specifying multiple groups M [N] b) Warns about, or prevents, posting to large numbers of groups S [N] c) Strongly encourages setting Followup-To: on large crossposts S (`Y' if large crosspostings are disallowed) [Y] PASS: Satisfies all MUSTs M 4) Allows users to change essential headers [Y] a) Allows editing Subject at all times during composition M [Y] b) Allows specifying new Subject of at least 70 characters M [Y] c) Allows setting "Followup-To: poster" M [Y] PASS: Satisfies all MUSTs M 5) Ensures followups and e-mail replies contain a correct Subject [Y] a) Prepends "Re: " if (and only if) not already present M [Y] b) Preserves entire original Subject (modulo minor repairs) M [Y] PASS: Satisfies all MUSTs M 6) Directs followups to the correct newsgroups [N] a) Initiates e-mail reply rather than a followup posting on "Followup-To: poster", clearly informing the user M [Y] b) Posts to groups in Followup-To if present M [Y] c) Posts to groups in Newsgroups otherwise M [N] PASS: Satisfies all MUSTs M 7) Make sure followups contain valid References [Y] a) Creates References header with Message-ID of original article as the last element M [Y] b) Includes last three References from original M [Y] c) Ensures References will fit in 998 characters M [Y] d) Keep as many References from original as fit S [Y] e) Does not propagate broken Message-IDs in original References S [Y] PASS: Satisfies all MUSTs M 8) Direct e-mail replies to the correct address [Y] a) Uses Reply-To if present M [Y] b) Uses From address otherwise M [Y] PASS: Satisfies all MUSTs M 9) Allow the user to change her mind about whether to post or mail (or do both) and behave if doing both [N] a) Allows users to change their mind and mail rather than post after having initiated a followup message S [N] b) Allows users to change their mind and post rather than mail after having initiated a reply message S [Y] c) Does not offer both posting and mailing as default behaviour M [N] d) Inserts a notification that the message was posted as well as mailed in the e-mail copy when both posting and mailing a followup article S [Y] PASS: Satisfies all MUSTs M 10) Provide adequate quotation and attribution facilities [Y] a) Allows including quoted original M [Y] b) Clearly distinguishes quoted material M [Y] c) Prefixes quoted material with `>'/`> ' S [N] d) Omits correctly delimited signatures from quoted material S [N] e) Provides a means of indicating which part(s) to followup to S [Y] f) Attribution line containing original author precedes quotes M [Y] PASS: Satisfies all MUSTs M 11) Provide a user-specified "Subject: " header [Y] a) Requires non-empty, user-specified Subject for new articles M [Y] b) Refuses posting articles without, or with an empty, Subject M [Y] c) Does not provide default Subject if user did not set one M [Y] d) Allows changing the Subject at any time while editing M [Y] PASS: Satisfies all MUSTs M 12) Provide a valid "From: " header [Y] a) Sets "From: " header to syntactically valid e-mail address M [Y] b) Refuses posting articles without a syntactically valid "From: " header M [Y] c) Uses correct e-mail addresses (valid and belonging to the user) only, as far as it can possibly know S [Y] PASS: Satisfies all MUSTs M 13) Allow users to both cancel and supersede their own articles (and _no_ others!) [Y] a) Allows cancelling articles S [N] b) Allows superseding articles S [N] c) As far as possible, does not allow cancelling or superseding other peoples' articles M [Y] d) Uses standard terminology S [N] PASS: Satisfies all MUSTs M 14) Try to respect the 80-character line-length convention [N] a) Articles are posted as edited, with linebreaking intact S [N] b) Warns about lines over 80 characters S [Y] c) Does not refuse to post articles containing long lines S [Y] d) Allows rewrapping quoted text S [Y] e) Enforces formatting requirements on article after external editing (`Y' if there is no support for external editors) S [Y] PASS: Satisfies all MUSTs M 15) Separate signatures correctly, and don't use excessive ones [Y] a) Uses (and enforces) standard signature delimiter S [Y] b) Warns against or refuses to use excessive signatures S [Y] PASS: Satisfies all MUSTs M 16) Try to prevent obvious user errors [Y] a) Warns when attempting to post empty articles M [Y] b) Refuses posting empty articles S [Y] c) Warns when post articles containing quoted material only M [Y] d) Refuses posting quoted-text-only articles S [Y] e) Warns against posting multiple copies (`Y' if impossible) M [Y] f) Prevents multiple posting entirely S [Y] PASS: Satisfies all MUSTs M 17) Post human-readable articles unless ordered otherwise [Y] Does not (and can not) encode or encrypt articles unless on explicit user demand M [Y] PASS: Satisfies all MUSTs M 18) Provide self-protection [Y] Allows filtering out annoying articles (killing) S [Y] PASS: Satisfies all MUSTs M 19) Be kind to servers, leave room for others [Y] a) Does not unnecessarily open multiple connections M [Y] b) Does not generate excessive server load otherwise M [Y] PASS: Satisfies all MUSTs M