PAD : Java Glossary

PAD (Portable Application Description) They contain contact information about the author, details about a program for sale and its price in a standard XML (extensible Markup Language) format. Android use something similar, but much less elaborate called a AndroidManifest.xml.
PAD Editors NewsFeed Extension PAD Submitting Tips
Rant Manual PAD Submission PAD Submission Services
Verification Important Sites Submitter Mini PAD Submitter
PAD Creating Tips Hassle Free Sites Automated PAD Submitters
PAD file Format Minor Hassle Sites X.25
Futures Selling Sites Links

PAD Editors

PAD files are in XML format. You create them most easily with tools such as:


ASP has done a number of stupid things with PADs. PADsites are rapidly disappearing. What did they do wrong?

PAD Verification

Your PAD editor should verify your PAD files for you and only generate valid PAD s, but they may make errors or generate deprecated fields. The easiest way to check is to use the ASP online PAD validator. If you wanted to write a validator utility you could run locally, you could read the PAD 4.0 spec in HTML or the PAD 4.0 spec in XML. A few sites are stuck on the old PAD 3.11or 3.01 spec. You would have to convert the XML spec into XSD or some other formal schema, or write a custom parser that used the XML directly.

PAD Creating Tips

PAD file Format

The PAD file is on ordinary XML file with CrLf line endings. PAD 4 allows support for new operating systems and drops old ones, but oddly it excludes Windows 8. It has finer description categories. Extensions are now placed in separate files. The new PAD format does not support a backlink URL (Uniform Resource Locator) because backlinks are intended to trick Google into increasing rankings. When Google notices, they punish both the PADSite and the site with the backlinks.

Most of the fields are self explanatory:

Tricky PAD Fields
Field Notes
Program_Name Human name of the program. Do not embed the version number.
Program_Version Program version number, usually containing a decimal point.
Program_Cost_Dollars In US dollars
Filename_Versioned deprecated
Filename_Previous deprecated
Filename_Generic deprecated
Filename_Long deprecated
File_Size_Bytes Size of the entire distributable zip in bytes. Bare number.
File_Size_K Size of the entire distributable zip in K, i.e. kilobytes = bytes/1024. Bare number.
File_Size_MB Size of the entire distributable zip in MB, i.e. megabytes = bytes/(1024* 1024). Accurate to two decimal places. Bare number.
Program_OS_Support Which OS (Operating System) es will the program run under. The definitive list is posted as part of the PAD Specifications. Here is the list in a somewhat more readable form that it appears in the XML-based PAD specification. Some sites still expect the old PAD spec list. I email such sites to prod them to update to the current spec.


Despite its name, this is the broad category for the program. The definitive list is posted as part of the PAD Specifications. Here is the list in a somewhat more readable form that it appears in the XML-based PAD specification.

Program_Category_Class Category class and subclass specified as a single field with :: separating the two parts. The definitive list is posted as part of the PAD Specifications. However submission sites usually leave out some of the categories and add their own. Here is the list in a somewhat more readable form that
Keywords Make sure this field has no trailing punctuation. PADGen does not enforce this but some submission sites do. You can provide this list in various other languages.
Char_Desc_450 PADGen insists this field contain no newline characters, (embedded, leading or trailing). Unfortunately you can’t see them in the PADGen editor. To get rid of them, I often resort to editing the *.pml file with SlickEdit. PADGen is just being futzy trying to protect you from relying on alignment that will be reflowed by a browser displaying the field. XML permits newlines wherever you would have a space. If PADGen wants unusually tidy files, it should automatically convert newlines to spaces then trim lead and trailing spaces. I wrote the author to get this corrected. He said he has little time, since PADGen is a volunteer effort. It is such a frustration 
// convert newlines to blanks and trim lead/trail blanks
desc450 = desc450.replace('\n',' ').trim();
You can provide this text in various other languages.
Char_Desc_2000 This long description should be complete in itself. The end user will see only one of the descriptions. It is not a continuation of Char_Desc_250. There is no point is carefully aligning your description. This is XML. It may be reflowed. Avoid any high ASCII (American Standard Code for Information Interchange) characters or entities. You can’t count on those displaying the file rendering it properly. Avoid any &, < or > even if they are not being used as HTML. Some sites reject PADs with URLs (Uniform Resource Locators) in this field, even ones not hyperlinked. You can provide this text in various other languages besides English.
Application_Screenshot_URL *.png, *.jpg or *.gif, not *.bmp. Should be 200 × 200 or larger.
Application_Icon_URL *.png, *.jpg or *.gif, not *.ico. Should be 32 × 32. Some sites accept *.ico files, but that is not kosher. A few sites refuse *.png. A PADSite should make a copy of the icon, convert it to their preferred form and serve it locally. This prevents malicious substitution of icons with pornography or advertising.
Application_XML_File_URL full URL of where the master copy of your PAD *.xml file is posted.
Primary_Download_URL full URL of where to download the program.
Secondary_Download_URL Another full URL of where to download the program in case the first in not-available. Having multiple download mirrors gives your program extra status.
Distribution_Permissions Free form text to describe licensing, restrictions and purchase options.
EULA (End User Licence Agreement) Free form text to the end user license agreement, e.g. LGPL (Lesser General Public License), public domain, non-military use only.
PADRING PADRING PADRING is an extension that lets you insert a list of all your other PAD URLs or a related set. You can also list other people’s URLs. This will help propagate knowledge of these PADs around the web. PADRING is not widely supported. It has been supplanted by the more compact, easier to update PADmaps. Its main advantage is it spreads your PAD URLs to even those who refuse to understand the PADRING or PADmap protocol.
PADmap  PADmap

PADmap is an extension that lets you insert a reference to a list of all your other PAD URLs or a related set. This is an improvement on the PADRING idea. The advantage of this scheme is you don’t need to keep changing your PADs when you add new programs. All your PAD s, including obsolete ones, automatically point to the latest list, in my case at with a PAD extension that looks like this:

Unfortunately, the people who invented it have gone out of business.

PADGen will not let you use any entities or HTML in your descriptions, not even hex entities. You must encode all your accented characters directly in Unicode UTF-8.


Unfortunately there is no backlink field. Many PADSites insist you link back to their site as a courtesty for them listing your PAD. This has to be fed out-of-band in the PAD submission form. The URL where the backlink is on the submitter’s website should be a field, at first a non-standard field, in the PAD itself. It also should be made clear the submitter has 24 hours after submission to set up this link and upload it to his website. The PADSite should not be a dork and reject backlinks just for adding or deleting a www prefix. They should point to the home page so they will not go stale if the PADSite reorganises. There is one backlink page URL in the PAD for all PADSites links.

The list a program categories needs to be expanded, perhaps with a third layer of detail. The problem now is the categories are not fine enough for a significant number of PADSites. Those PADSites resort to proprietary categories that you enter on a web form rather than conveniently embedding in the PAD file. This defeats the entire point of the PAD file as a self-contained complete, universal descriptor and interferes with efficient automated submission.

NewsFeed an extension that lets you broadcast knowledge of your RSS or Atom newsfeed that describes updates and relevant announcements about your software. Details.

NewsFeed Extension

Rudenko Software (the Submit-Everywhere/RoboSoft people) created an extension to the PAD file you might include to get your newsfeeds about program updates propagated. The extension you insert looks like this: Here is an XSD (XML Scheme Definition) schema I wrote to validate the NewsFeed extension fragment:


PAD (Packet Assembler/Disassembler) has another completely different meaning. One of its jobs is to reassemble arriving packets in the proper order. It is a small computer owned by the local packet net company (Datapac in Canada). You can access it using your modem with a local phone call. The PAD will then route your call via digital satellite, fibre optic and microwave links almost anywhere on earth. Though static on the line between your computer and the PAD can cause errors, once it reaches the PAD, special error detection and correction methods guarantee your data gets to its final destination with no further errors added. This method is much cheaper than phoning long distance. Packet nets use long distance circuits about 250 times more efficiently than 2400 BPS (Bits Per Second) modems phoning direct. Many modems cannot call directly more than a few hundred miles because of the static and other distortions. Any modem using the packet nets can easily reach the four corners of the earth. Now, the pioneering packet nets are made obsolete by the Internet.

available on the web at:
ClustrMaps is down

optional Replicator mirror
on local hard disk J:

Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy.
Your face IP:[]
You are visitor number 38,420.