DISTRIBUTION FILENAMES
----------------------

In today's world of electronic distribution, there are 2 distinct types of 
distribution 'filenames' that are used -- Versioned and Generic.

   Versioned filenames (commonly known as 'BBS' filenames) contain the
   version number of the product (i.e. MYPRG123.ZIP), making them
   individually unique with each release/update of the product. For
   distribution systems that utilize Versioned filenames, the filename
   for a given product must be unique for each and every release (in
   other words, you can't release any revision, no matter how minor,
   using the same filename as a previous release).

   Generic filenames contain no reference to the product version/release
   number (i.e. MYPRG.ZIP), and that same filename is used for each and
   every release of the product. For distribution systems that utilize
   Generic filenames, the filename for a given product will always be the
   same, regardless of the version number. As newer versions are released,
   they replace the previous one, using the same filename.

Depending on their background, many authors are familiar with 1 type or the 
other, but a great many authors don't understand the concept of using both 
types to their advantage. Throughout the years, there have been numerous, 
lengthy, and sometimes heated debates over which filename type is better and 
which is worse, and I'll not bother to perpetuate that debate here. The bottom 
line is that it shouldn't really matter at all to the author -- both types 
have their pros and cons, and both types have their place in our industry. 
Authors should take full advantage of the situation by accommodating both 
types of filenames, and allow the distributors to utilize whichever type best 
suits their system.

It is extremely easy for an author to accommodate both types of filenames for 
their products, using the following procedure. I recommend that you begin with 
the 'Versioned' filename.....

We normally think of filenames as consisting of 2 parts -- the Root and the 
Extension. For example, in the filename MYPRG123.ZIP, the MYPRG123 portion 
would be the Root, and the .ZIP portion would be the Extension. However, 
notice that the Root portion actually consists of 2 parts itself: the MYPRG 
portion indicates the Product ID, and the 123 portion indicates the Version 
number of that release. So in reality, a 'Versioned' distribution filename 
really consists of 3 parts: the Product ID, the Version number reference, and 
the Extension.

   I should mention here that despite the fact that Windows95/NT can
   accommodate 'long' filenames, they should never ever be used for
   distribution filenames. Many/most distribution systems can't
   accommodate them. As such, you should always use standard 8.3
   filenaming conventions for your distribution filenames.

   Similarly, long filenames should never be used for the files in your 
   'distribution' fileset (i.e. the files contained inside your 
   distribution ZIP file). Many of the processing routines and utilities 
   used by distributors will not accommodate long filenames.

The number of characters available for the Product ID portion depends on your 
version numbering system. If you use a 3-digit version numbering system (i.e. 
v1.23), then you will have 5 characters available for the Product ID portion. 
Likewise, if you use a 2-digit version numbering system, you'll have 6 
characters available for the Product ID portion. I personally recommend using 
the industry standard 3-digit system. A 2-digit system is fine, but don't 
start out with a 2-digit version numbering system and later change to a 
3-digit system --stick with what you start out with, in order to maintain 
consistency.

   I would strongly recommend against using more than 3 digits for your
   version numbering system. If you do, I would recommend that you
   consider changing to the more standard 2 or 3-digit numbering system

One aspect that complicates this situation is that of having separate 16/32bit 
Windows versions of the same product. If you do, then you need to identify 
them in the Product ID portion.

   Most authors simply append a '16' and '32' to the end of their Product 
   ID (i.e. MYP16123.ZIP, MYP32123.ZIP). You might choose to use '31', 
   '95', 'NT', etc. instead, but the accepted industry standard seems to 
   be '16' and '32'. The downside to this situation is that it uses 2 of 
   your available characters in the Product ID portion of your filename. 
   With a 3-digit version numbering system, and separate 16/32bit 
   versions of the product, you're left with only 3 characters to 
   actually identify the product. Not only is it difficult to adequately 
   identify your product with only 3 characters, but the fewer characters 
   you have, the greater the chance is that another author will be using 
   those same 3 characters.

   If you also have a DOS version of the same product, the situation 
   becomes even more complex. In this situation, using 'DOS', 'W16', and 
   'W32' would be one solution (i.e. MPDOS123.ZIP, MPW16123.ZIP, and 
   MPW32123.ZIP). Using W16/W32 instead of 16/32 allows you to maintain 
   format consistency between the 3 product filename, but ends up taking 
   yet another character away from your Product ID. If you use a 3-digit 
   version numbering system, and 3 characters to identify the product 
   platform, you're left with only 2 characters to identify your product.

   Because of the complexity illustrated above, many authors have simply 
   abandoned the mass distribution their DOS and 16bit Windows products. 
   Instead, they choose to only distribute their 32bit Windows products 
   via the mass distribution channels, and make their DOS and 16bit 
   Windows products available only by request, and/or via their own 
   author web sites (where they can utilize more obscure filenames for 
   all the various platform versions).

At any rate, now that we've established the Versioned filename for 
distribution, establishing the Generic version of the filename is amazingly 
easy -- just drop the version number portion! Yup, it's just that simple. For 
example, if your Versioned filename is MYPRG123.ZIP, then your Generic 
filename would be MYPRG.ZIP.

   Many authors are tempted to use a completely different filename as 
   their Generic filename, just so they can use up all 8 available 
   characters (i.e. MYPROGRM.ZIP). However, I would recommend against 
   this, quite simply because shorter is better when it comes to the 
   Generic filename. In many distribution systems, the Root portion of 
   the Generic filename is also used for a wide variety of other 
   'internal' purposes, and shorter is always better in these situations. 
   Not only that, but using completely different 'Roots' for your 
   Versioned/Generic filenames destroys any consistency between your 
   Versioned and Generic filenames.

Using the above system for establishing your filenames will allow you to 
maintain consistency not only between the various releases of your product 
(i.e. MYPRG123.ZIP, MYPRG124.ZIP, MYPRG200.ZIP, etc.), but will also allow you 
to maintain consistency between your Versioned and Generic filenames -- 
because the Product ID portion of each will always be the same.

Now that you've established the Versioned and Generic filenames for your 
product, just include references for both of them in your distributor 
documentation, and in your Vendinfo.diz file, and you're all set! For example, 
your distributor documentation might include:

   Product Name:             My Program
   Version Number:           1.23
   Versioned/BBS Filename:   MYPRG123.ZIP
   Generic Filename:         MYPRG.ZIP
   Author:                   Richard Holler
   Company:                  RMH Computer Services

In most cases, you'll want to release your file using the Versioned filename. 
But as long as your distributor documentation and/or vendinfo.diz includes 
listings of both your preferred Versioned and Generic filenames, distributors 
can utilize whichever filename best fits into their system.


TIPS:
-----

1) When establishing the Product ID for your filename, don't be tempted to 
waste space by including your initials or the initials of your company name. 
That space will be of much more value in identifying the actual product. When 
it comes to the filename of a product, nobody really cares about the initials 
of you or your company.

2) Once you start out with a given filename format for a product, be 
consistent with each subsequent update. For example, if you release v1.23 as 
MYPRG123.ZIP, and you later release v2.0 of that product, don't be tempted to 
shorten the version number portion to allow more characters in the Product ID 
portion (i.e. MYPROG2.ZIP or MYPROG20.ZIP). Maintain consistency by always 
using the same Product ID portion, and pad the version number portion with 
trailing 0s if necessary (i.e. MYPRG200.ZIP). Unfortunately, some systems 
(primarily BBSs that use automated posting routines) don't always remove older 
versions, so maintaining this level of consistency will help to insure that 
multiple versions of the same product will be grouped together in sorted 
listings, making it easy for the user to spot the newest one simply by looking 
for the highest number in the Version number portion.

3) Don't be tempted to use non-alpha/numeric characters in your filenames. 
Trying to separate portions of the filename with "-" or "_" characters only 
wastes space, and some systems can't accommodate certain non-alpha/numeric 
characters.

4) Similarly, don't try to use characters like "!" as the 1st character of 
your filename, just to place your file at the top of an alphabetically sorted 
listing -- most distributors are wise to this practice. Some may simply 
discard that character and accept your file... but they'll remember your name 
as one who tried to be 'cute' and get a better spot in their file listings. A 
few years ago, this practice became so rampant (especially with game 
developers) that many distributors simply rejected any submissions that had 
"!" characters in their filenames. This situation isn't as common now, but the 
negative connotations associated with it still remain fresh in the minds of 
distributors.

5) Also, don't waste space in your filename by including the letter "V" 
between the Product ID and the Version number. Most users will know which part 
is which, so including a V to indicate the version number does nothing but 
waste a character that could otherwise be used in your Product ID.

6) Before you settle on a given Product ID for your filename, go to one of the 
major online distributors (i.e. ZDNet's hotfiles.com or CNet's download.com) 
and search to see if your chosen Product ID is already being used. Releasing 
your file, only to have to re-release it with a different filename, or 
releasing it only to have a distributor forced to rename it is a situation 
that you can easily avoid just by checking first.

----------
Prepared by Richard Holler, 22-Dec-97.

While I don't claim to speak for the entire electronic distribution industry, 
I do have a long history of experience in the file distribution world. I've 
been a distributor member of the ASP since 1991, have worked for ZDNet as an 
online file librarian since 1992, and I've operated my own Author-Direct 
distribution service since 1993.
