home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / SETEXT.ZIP / setext.doc
Text File  |  1995-01-10  |  13KB  |  260 lines

  1. # Message from: Ian Feldman, the Current Setext Oracle
  2. # Date:         Sun, 16 Aug 92 08:19:00 +0100 (CET)
  3. # Reply-To:     setext-list@random.se (Keepers of The Setext Flame[tm])
  4. # Replaces:     setext_concepts_Mar92.etx
  5. # Lines:        240
  6. # Subject:      setext_concepts_Aug92.etx
  7.  
  8.  
  9.   Thank you for your interest in the setext format.  Enclosed is an
  10.   advance sheet that will remain in effect until the first public
  11.   release of the setext format package (originally planned for around
  12.   March 1st, 1992, now delayed).
  13.  
  14.   If you recognize some of the arguments presented here then that is
  15.   the price that you are paying for having been an early bird.  ;-))
  16.   Please note that my email address may change in the near future;
  17.   consult the trailer of weekly issues of TidBITS for the most
  18.   current one. 
  19.  
  20.  
  21.   What is setext
  22. ----------------
  23.   As originally explained in TidBITS#100 and mentioned there from 
  24.   now on, that publication now comes "wrapped as a setext." The noun
  25.   itself stands for both a method to wrap (format) texts according 
  26.   to specific layout rules and for a single _structure_enhanced_
  27.   text.  The latter is a text which has been formatted in such a
  28.   fashion that it contains clues as to the typographical and logical
  29.   structure of its source (word-processed) document(s), if any.
  30.   Those clues, which I call "typotags," facilitate later automatic
  31.   detection of that structure so it can be validated and extracted/
  32.   processed/ transformed/ enhanced as needed, if needed.
  33.  
  34.   It follows that setexts, being nothing but pure text (albeit with
  35.   a special layout), are eminently readable using ANY editor or
  36.   word processor in existence today or tommorrow, and not only on
  37.   the Macintosh either.  ANY computer, any computer program that is
  38.   capable of opening and reading text files can be used for reading
  39.   setexts.  By default all properly setext-ized files will have an
  40.   ".etx" or ".ETX" suffix.  This stands for an "emailable/ enhanced
  41.   text", the ExtraTerrestrial overtones nothwistanding ;-))
  42.  
  43.   Unlike other forms of text encoding that use explicit, visible tag
  44.   elements such as <this> and <\that>, the setext format relies
  45.   solely on the presence of _implicit_ typotags, carefully chosen
  46.   to be as visually unobtrusive as possible.  The underlined word
  47.   above is one such instance of the defacto "invisible" coding. 
  48.   Inserted typotags will at worst appear as mere "typos" in the text. 
  49.  
  50.   Similarly, just to give an example, here is a short description
  51.   of the four types of word emphasis typotags that setexts MAY
  52.   contain, limited to one emphasis type ONLY per word or word group:
  53.  
  54.  -------------------  ----------------------------  --------------
  55.        **aBoldWord**  **multiple bold words**       ; bold-tt
  56.  _anUnderlinedWord_    _multiple underlined words_  ; underline-tt
  57.      ~anItalicWord~                                 ; italic-tt
  58.           aHotWord_     multiple_hot_words_         ; hot-tt 
  59.  ----------------------------------------------------------------- 
  60.  the 'hot-tt' is synonymous with the 'grouped' style of HyperCard
  61.  only single ~italic~ words are allowed for visual-clarity reasons
  62.  
  63.   Please note, however, that the <end> strings previously found in
  64.   TidBITS #100-110 were not part of the format as such, but were
  65.   added by Adam Engst for a specific setext-raterrestrial purpose.
  66.  
  67.  
  68.   Why is setext
  69. ---------------
  70.   Data formats like the RTF (Rich Text Format) and SGML (Standard
  71.   Graphic Markup Language) have been designed for processing ONLY
  72.   by software.  Setext, on the other hand, has been _optimized_
  73.   for reading directly by human eyes on what probably is still the
  74.   lowest common denominator of today's computer hardware, an 80-
  75.   character by 24-line terminal screen (or, in effect, any computer
  76.   screen).  It follows that the format is intended chiefly for 
  77.   smaller texts, those of a size that a human reader might find
  78.   within her capacity of overview.
  79.  
  80.   I need to state explicitly that although TidBITS is currently the
  81.   only setext publication in wide distribution, the setext is NOT
  82.   synonymous with that of TidBITS's layout.  Many other distinctive
  83.   layouts are possible.  TidBITS is therefore just an _instance_ of
  84.   the format, not THE setext format.  More specifically, that also
  85.   means that any of you thinking of writing a "TidBITS browser"
  86.   should in reality be considering a "setext browser."  Otherwise
  87.   your program will in all probability be able to recognize only
  88.   today's specifically-formatted TidBITS and no other future setext
  89.   publications (which are in the making), including that of a future
  90.   possibly changed or modified TidBITS. 
  91.  
  92.  
  93.   How come is setext
  94. --------------------
  95.   The idea of a common format for online-distributed publications
  96.   grew in my mind since approximately 1986-87.  It came into focus
  97.   after I started corresponding with Adam C. Engst, following my
  98.   April, 1990 criticism of the original TidBITS presented as a
  99.   HyperCard stack.  Gradually it ceased to be a redesign effort for
  100.   the TidBITS and became instead a generic format for all kinds of
  101.   electronic publications (which I affectionately call "the compu-
  102.   rags" ;-)).  I hit on the current "tagless" version of the format
  103.   in the winter of 1990 and the first internal beta product -- a
  104.   setext encoder for TidBITS -- saw the light of the day in July of
  105.   1991.  Later Adam wrote a setext-encoding Nisus macro for his
  106.   personal use, the one he now uses to wrap the weekly issues of
  107.   TidBITS (he isn't putting all those spaces and dashes in there
  108.   entirely by hand! ;-))
  109.  
  110.   As can be seen from the above setext is not some quickie project,
  111.   though up and finalized in a few afternoons.  A lot of thought 
  112.   has gone into it and some of it has survived to the present day. 
  113.   Needless to say the format definition will be placed in the
  114.   public domain and its use actively promoted by the many parties
  115.   that have expressed an interest in adopting it for their own use.
  116.  
  117.  
  118.   What for is setext
  119. --------------------
  120.   The setext (data) format is intended primarily for use by online-
  121.   distributed periodic publications.  It is particularly well-suited
  122.   to all kinds of electronic digests and other types of repetitively
  123.   disseminated text information.  Despite its formal appearance as
  124.   "mere stream of unenhanced ASCII characters on a computer screen" 
  125.   setext is rich enough and unambiguous enough to permit construction
  126.   of fairly complex encoding engines for specific application purposes
  127.   (also on top of the format) and to allow easy implementation of a
  128.   countless number of front-end browsers/ decoders and other
  129.   reading/ archiving-enhancement tools. 
  130.  
  131.   While setext does, indeed, allow the preservation of a source
  132.   text's structure it does not, by definition, guarantee the 100%
  133.   ability to recreate it at the destination.  Any word originally
  134.   styled as **bold** may in effect end up as Yellow-On-Black or be
  135.   set in a different font, or considered a candidate for a
  136.   cumulative keywords list or be deemphasized at will.  There are
  137.   not now and never will be any rules to govern how decoded setexts
  138.   should be presented at the receiving end.  It will be up to each
  139.   front-end's author to ensure that decoded (no-longer-)setexts are
  140.   presented in a fashion that's agreeable to his/ her end users.
  141.   There is plenty of sound advice and recommendations on how to
  142.   achieve that but that's an entirely different matter. 
  143.  
  144.   Those principles also apply to decoding of a setext's logical,
  145.   rather than merely its typographical, structure.  The format does
  146.   not rely on some large set of predefined, unambiguous, mutually-
  147.   exclusive rules.  Rather, it "knows of" just the barest set of
  148.   typotags (1 required, 12 optional), knows their symbolic purpose
  149.   and what criteria to use when looking for and validating them in
  150.   a setext.  This approach differs some from the commonly heard
  151.   programmers' wish for clearly-delimited data patterns that could
  152.   be scanned for quickly and their position used as an offset to
  153.   the text to be displayed. 
  154.  
  155.   Setext has those patterns too but, since it relies primarily on
  156.   defacto "invisible" elements that could also be part of the text
  157.   itself, it must validate them first before proceeding with any
  158.   enhancements.  Writing a real setext decoder is therefore
  159.   conceptually much closer to (though nowhere near as hard as)
  160.   writing an SGML application than it is to writing a macro routine
  161.   to munge some data in one predefined fashion.  In spite of all
  162.   that, setext tools should be easily implementable with, and no
  163.   more complex than, typical HyperTalk, sed, awk and perl scripts. 
  164.   The barest minimum required for such an attempt is an intelligent
  165.   search/ replace function in a programmable macro editor.  Though
  166.   yet to be proven, conceptually there is nothing in the format to
  167.   prevent implementation of real-time setext browsers written in,
  168.   say, some advanced pattern-matching macro language of a terminal
  169.   emulator program. 
  170.  
  171.  
  172.   Where is setext
  173. -----------------
  174.   As of now (Aug '92) there is finally one validated setext browser
  175.   in existence, the Easy View 2.1 application, written by Akif Eyler,
  176.   free to distribute and use.  Though not yet capable of decoding
  177.   style-typotags nor unwrapping (reflowing) paragraphs of text, it
  178.   is a very nice application all the same.  It allows for cumulative
  179.   indices of TidBITS or any other setext, and is capable of parsing
  180.   and displaying a few other useful data formats as well (Info-Mac
  181.   Digest among others).  Adam Engst has uploaded it to CompuServe
  182.   (MACSYS #6), ZiffNet/Mac (ZMC:DOWNTECH #0), America Online ("look
  183.   for a new TidBITS library in the Hardware forum coming soon"), and
  184.   the mother of all Macintosh archives, the <sumex-aim.stanford.edu>
  185.   (look for it in /info-mac/digest/tb or /info-mac/app directories). 
  186.   It is, no doubt, already present at many private Bulletin-Board
  187.   Systems etc.  Read "TidBITS#136/03-Aug-92" for more information
  188.   about the Easy View 2.1 and, if you use the application, do write
  189.   Akif a note of appreciation. 
  190.  
  191.   Other than that I have a working prototype of a setext front-end,
  192.   which has been "not far from completion" for the last half year or
  193.   so (draw your own conclusions).  A paging macro routine for the
  194.   rn, a popular newsreader under unix, allowing forward jumps to the
  195.   next topic of any TidBITS read online in comp.sys.mac.digest group
  196.   has been published in TidBITS#110/09-Mar-92.  On top of that there
  197.   is a mailing list for developers and future setext publishers:
  198.   <setext-list@random.se>.  If interested, please send me a short
  199.   note stating degree of your future involvement (wants to write a
  200.   setext tool or 'just an observer/ future user') and your Internet-
  201.   accessible email address and I will put you on the list and/ or
  202.   reply as soon as possible. 
  203.  
  204.  
  205.   When is setext
  206. ----------------
  207.   Due to a varying work load and other distractions between the
  208.   original announcement of the planned release and the actual date
  209.   of it, the browser that I am writing is not yet ready.  I do not
  210.   intend to repeat the mistake of preannouncing it again. Instead
  211.   please feel free to join the mailing list through which the rest
  212.   of the specifications will be published.  The full release will
  213.   contain approximately 150K worth of setexts on setext along with
  214.   a demo browser written in HyperCard (2.0) that will permit
  215.   showing of the format's capabilities in a dynamic rather than
  216.   the strictly textual and sequential fashion.  Those of you who
  217.   know me, know also of the high standards of coding that I try to
  218.   adhere to. 
  219.  
  220.   If you're among those that have already written a prototype
  221.   that's based mainly on a reverse-engineered layout of the current
  222.   TidBITS then you'd be well advised not to release it without prior
  223.   validation of it by me.  Please do not call your product a
  224.   "setext browser" (or whatever) UNLESS it is truly capable of
  225.   parsing all (future) setextized docs, not solely the TidBITS.
  226.  
  227.  
  228.   How is setext
  229. ---------------
  230.   A lot can (and will) be said about it but there is one claim no
  231.   other text encoding method can make: "there is a lot more of me
  232.   than meets the eye" ;-))
  233.  
  234.  
  235.   Who is setext
  236. ---------------
  237.   The setext format and its underlying philosophy isBroughtToYouBy
  238.   Ian Feldman <ianf@random.se>.  I live in Stockholm, Sweden, Europe.
  239.   I used to work as and describe myself variously over the years
  240.   but now simply contend myself with being just a free Human Factors
  241.   thinker and tinkerer. 
  242.  
  243.  
  244. .. last line contains a twodot-tt, a tag signifying the logic end of
  245. .. text while those three lines are all suppress-typotagged ones, i.e.
  246. .. can be suppressed (hidden) by a front-end application by default.
  247. ..
  248.  
  249.  This text is wrapped as a setext. For an index of informational
  250.  files on our sponsors' products, or to submit comments or
  251.  suggestions, please send email to <sponsors@tidbits.com>.
  252.  
  253.  
  254. -----------------------------------------------------------------------
  255. This information brought to you by the TidBITS Fileserver, conveniently
  256. located near you at <fileserver@tidbits.com>. To speak with a
  257. human, send email to Adam C. Engst at <ace@tidbits.com>. Enjoy!
  258.  
  259.  
  260.