GNKSA Evaluation Form 2.05 Product Name : Pluto Product Version : 1.11k Tested on platform : Acorn RISC OS 3.7 Available for platforms: Acorn RISC OS Evaluation date : 06-Jun-1999 Evaluated by : Vincent Lefevre Conclusion ========== Pluto 1.11k 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 31 8 39 79%/21% SHOULDs 22 5 27 81%/19% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 79%M %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 81%S [GNKSA Score-O-Meter] Details ======= Regarding the strict GNKSA requirements (MUSTs), Pluto 1.11k FAILS on the following points: 1c Does not show the groups the article was posted to (Newsgroups) 1d Fails to show where to followup to (Followup-To) 1e Does not show where to reply to (Reply-To) 7a Does not include MsgID of original article as the last reference 12a May not provide a syntactically correct From-address 12b Fails to refuse to post messages with syntactically incorrect From: 16c Does not warn when posting quoted text only 16e Does not warn against inadvertent multiple postings Pluto 1.11k violates `soft' GNKSA requirements (SHOULDs) in the following way: 9a Does not support mailing instead after following up 9b Does not support posting instead after replying 14a May cause posting mangled articles 16d Does not refuse to post quoted text only 16f Does not try to prevent posting multiple copies entirely Additional Comments: 1c: Pluto displays the currently read newsgroup. If the article is crossposted to several newsgroups, Pluto displays + where is the number of additional newsgroups. If the user wants to know these newsgroups, he can switch to "full header" mode (all the headers are displayed). Pluto highlights the "Newsgroups:" header by displaying it in a different color. The advantage of this choice is to save some space on the screen; this is important as many old Acorn computers with a low graphic resolution are still used. I think it is sufficient to display the currently read newsgroup and the number of newsgroups for most users in most cases; however, I think that Pluto's author should implement a way to display the newsgroups header (and other headers, chosen by the user) without displaying all the headers. 1d: When the currently read newsgroup isn't in the followup, Pluto displays the background of the newsgroup field in a different color (blue instead of the normal grey). I like this, as it attracts the user's attention, and find this more useful than just displaying the "Followup-To:" header. If the user wants to see the "Followup-To:" header, he can switch to "full header" mode, and Pluto highlights the "Followup-To:" header by displaying it in a different color (like the "Newsgroups:" header). The user will also see it when he wants to post a followup. 1e: If the user wants to see the "Reply-To:" header, he can switch to "full header" mode, and Pluto highlights this header by displaying it in a different color. I disagree with GNKSA here; this header doesn't provide essential information at message reading time and is only useful when the user wants to reply via e-mail, and at this time, Pluto shows the address. 3: Pluto warns the user when he wants to post to several newsgroups, and displays a second warning box, when the number of newsgroups is larger or equal to 4. It also displays a warning box when the followup isn't set to 1 newsgroup only (or poster). 7a: This requirement is met in most cases. However, the current version contains the following bug: if the article contains an "In-Reply-To:" header with a message-id, this message-id is added to the "References:" header (which may be corrupted if the message-id is followed by a non white-space character). 10d: Pluto recognizes broken signatures (starting with "--" instead of the correct "-- "). Unfortunately, Pluto's behavior may be broken when the sig separator is correct (for instance, when the signature contains a "--" line). If the user wants to, the signature may be included in the quoted text, but the user must explicitely request it (or he can do this by selecting the text to be quoted). 12a/b: For instance, the user may use the "<" character in the user name. This character isn't quoted, and the "From:" header is invalid. 12c: There is no way to know the user e-mail address. The user has to enter it before using Pluto for the first time. 13a: Well, it is possible to cancel other peoples' articles, but it requires some hacks and it is easier to do this entirely by hand, without using Pluto. :) 14a: This requirement is met in most cases. But there is a bug in the current version, and some line breaks may appear if proportional fonts are used. This bug should be fixed for the next version. 16c: Pluto only warns when there is excessive quoted material. But with small messages, quoted material only isn't regarded as excessive quoted material (unfortunately). 16e: There can be multiple copies only when the user posts the article several times. To do this, the user has to use the Adjust button of the mouse instead of the usual Select button. I've never seen any problem, but a mistake is possible... 19: Pluto has no NNTP support. 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 [N] c) List of groups posted to (Newsgroups) M [N] d) Where (and how) to direct followups (Followup-To) M [N] e) Where to reply to if not the From-address (Reply-To) M [N] 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 [Y] b) Warns about, or prevents, posting to large numbers of groups S [Y] 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 [Y] 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 [Y] PASS: Satisfies all MUSTs M 7) Make sure followups contain valid References [N] 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 [N] 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 [Y] 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 [Y] d) Omits correctly delimited signatures from quoted material S [Y] 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 [N] a) Sets "From: " header to syntactically valid e-mail address M [N] 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 [N] 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 [Y] b) Allows superseding articles S [Y] c) As far as possible, does not allow cancelling or superseding other peoples' articles M [Y] d) Uses standard terminology S [Y] 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 [Y] 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 [N] c) Warns when post articles containing quoted material only M [N] d) Refuses posting quoted-text-only articles S [N] e) Warns against posting multiple copies (`Y' if impossible) M [N] f) Prevents multiple posting entirely S [N] 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