ross@spam.ua.oz.au (Ross Williams) (06/20/91)
PROPOSAL FOR A DATA COMPRESSION INTERFACE STANDARD
==================================================
Author : Ross Williams.
Date   : 20-Jun-1991.
There  are  now so  many  data  compression  algorithms with  so  many
different characteristics, written in  so many different languages, on
so  many  different   systems  that  there  is   pressing  need  for a
standardized  data  compression algorithm  interface.  A  standardized
interface would yield the following benefits:
   * The  standard  interface  would  allow programmers  to  code  for
    generic data compression and then  quickly and easily swap between
    various algorithms  until they find  the one best suited  for thir
    application. Writing glue  code may be trivial, but if  one has to
    do it twenty times, it can become prohibitively time consuming.
   * A standard interface would  assist those cataloging and comparing
    algorithms.
   * A  standard  interface  would  encourage the  designers  of  data
    compression algorithms to provide conforming implementations.
   * A standard interface would make  it easy for programmers to write
    programs that select  from a range of  data compression algorithms
    at run time.
As far  as I  know, no such  standard exists and  so I  have devised a
standard  which I  propose  be used  in  all  applications of  general
purpose data compression algorithms. I am posting the standard and its
justification to comp.compression in the  hope that after a few rounds
of  critical  discussion and  revision  an  informal standard  can  be
settled  upon.  A  later  date, a  standards  committee  could  become
involved.
As it stands, my standard proposal  is fairly rough. I look forward to
your assistance in knocking it into shape.
Ross Williams
ross@spam.ua.oz.au
Note 1: In the past when I  have posted stuff, I have often received a
barrage of email which would have been best shared with the group. For
this exercise, which will be a  group discussion, I suggest a bias for
posting.
Note 2: I  am choosing to post  this stuff instead of  referring to an
ftp site,  as every time  I refer  to something I  have put in  an ftp
site, I get  a barrage of mail from people  without ftp access wanting
me to email them a copy. This said, the files will be available in:
   Machine   : sirius.itd.adelaide.edu.au   [IP=129.127.40.3]
   Directory : ~pub/misc/
   Files:    : dc_stan_spec - The proposed standard.
               dc_stan_just - Justification of the standard.
               cm_header.h  - Child standard for C programming
                              language.ronald@ecl014.UUCP (Ronald van Eijck) (06/22/91)
In article <858@spam.ua.oz> ross@spam.ua.oz.au (Ross Williams) writes: >PROPOSAL FOR A DATA COMPRESSION INTERFACE STANDARD >================================================== >Author : Ross Williams. >Date : 20-Jun-1991. > >There are now so many data compression algorithms with so many >different characteristics, written in so many different languages, on >so many different systems that there is pressing need for a >standardized data compression algorithm interface. A standardized >interface would yield the following benefits: > > * The standard interface would allow programmers to code for > generic data compression and then quickly and easily swap between > various algorithms until they find the one best suited for thir > application. Writing glue code may be trivial, but if one has to > do it twenty times, it can become prohibitively time consuming. > > * A standard interface would assist those cataloging and comparing > algorithms. > > * A standard interface would encourage the designers of data > compression algorithms to provide conforming implementations. > > * A standard interface would make it easy for programmers to write > programs that select from a range of data compression algorithms > at run time. > How about this: You have a standard command 'archive' (or whatever) with a standard syntax and a standard file format. in this format the filename etc are stored and there is an idenification code for every compression scheme. Now you have shared libraries that do the actual encoding/decoding. This would be a good solution for everybody. - The user has to know only one command syntax to do his work. - Archive shells do not have to support a lot of different syntaxes. - The programmer of a future compression scheme only has to make a library with the encoding/decoding routines. Ofcourse there this standard code has to be ported to a number of platforms but since almost every archive programm is ported anyway this is not much of a problem. Identification codes have to be obtained from some central point where all the codes are registered. Just my $.02, -- +-------------------------------------------------------------------------+ | Ronald van Eijck {eunet!}hp4nl!cbmnlux!ecl014!ronald | | | | We do the impossible at once for a miracle we need a little more time | +-------------------------------------------------------------------------+