At 3:57 Uhr +0200 02.04.2005, Frederico Muñoz wrote:
I then found out about your Shovel.app, and I think that the concept is the same. I'm not familiar with PAD or MacPAD. I'm totally outside of the shareware world so this mechanisms are alien to me. I tried to find some real information on MacPAD but I must admit that I got lost really quickly amidst the .sitx and .dmg of "SDK" files.

Could you perhaps point me to some good resouce with real details on implementation? Take in consideration that I can't see actual code under any non-free licence (and non-free for me is what is non-free for the FSF).

I'm not saying I will implement it, but it could be an interesting thing to support...

Well, I thought the MacPAD stuff was BSDed or something, but I can't seem to find the license in the newest SDK anymore, so let me give you a general overview, and provide you two example files from my own apps (i.e. with permission):

MacPAD files are XML Property List files (like Cocoa generates/accepts them), containing information about a particular application. This includes a download URL, current version number, bundle identifier, short and long descriptions and release notes, as well as some other info.

Not unlike an RSS feed, MacPAD files are stored on a web server somewhere and kept current by the application developer. In every application package, there is a MacPAD.url file (which is usually structured like a Windows Internet Shortcut file), containing the URL of the MacPAD file for this application.

Update checkers can now simply download the MacPAD file from that URL, compare the version numbers and determine whether it's current, and then open the product web site or download the file from the specified download URL. Web sites can extract the MacPAD URL from the application and thus easily add it to their list of files.

Right now the official version mostly concerns itself with providing information that is useful to software download sites such as macshareware.net, but on Andreas' Wiki at furrysoft.de, there are some proposed extensions to help installers, in particular support for authentication so MacPAD can be used to download paid updates or updates that require registration keys.

A sample MacPAD.url file would be:


[InternetShortcut]
URL=http://www.zathras.de/new_versions/com.ulikusterer.Shovel.plist
<<<

A sample MacPAD file would be:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<dict>
        <key>companyCountry</key>
        <string>Germany</string>
        <key>companyName</key>
        <string>M. Uli Kusterer</string>
        <key>fileBundleID</key>
        <string>com.ulikusterer.valueconverter</string>
        <key>fileReleaseDateD</key>
        <integer>26</integer>
        <key>fileReleaseDateM</key>
        <integer>11</integer>
        <key>fileReleaseDateOffset</key>
        <string>+1:00</string>
        <key>fileReleaseDateY</key>
        <integer>2004</integer>
        <key>fileType</key>
        <string>APPL</string>
        <key>padLocale</key>
        <string>en</string>
        <key>padVersion</key>
        <string>4</string>
        <key>productDescLong</key>
<string>This small utility app can convert between various values and number bases that programmers commonly need:

- signed long (4 bytes, decimal)
- unsigned long (4 bytes, hexadecimal, decimal, octal, binary)
- signed short (decimal)
- signed byte (decimal)
- four-char-code (4 characters, 2 characters, 1 character)
- bit field (up to four bytes as checkboxes

If you've used Resorcerer's value converter, you should have an idea what this app does.</string>
        <key>productDescShort</key>
<string>A small programmers' utility for converting between various values.</string>
        <key>productDownloadURL</key>
        <array>

        
<string>http://www.zathras.de/programming/apps/ValueConverter.zip</string>
        </array>
        <key>productIconURL</key>
        <string>http://www.zathras.de/new_versions/ValueConverter.png</string>
        <key>productKeywords</key>
        <array>
                <string>value</string>
                <string>converter</string>
                <string>programming</string>
                <string>signed</string>
                <string>unsigned</string>
                <string>long</string>
                <string>short</string>
                <string>byte</string>
                <string>binary</string>
                <string>hexadecimal</string>
                <string>octal</string>
                <string>decimal</string>
                <string>conversion</string>
                <string>fourcharcode</string>
                <string>file type</string>
                <string>file creator</string>
                <string>bit field</string>
        </array>
        <key>productLicense</key>
        <string>Freeware</string>
        <key>productName</key>
        <string>ValueConverter</string>
        <key>productOS</key>
        <array>
                <string>10.2</string>
        </array>
        <key>productPageURL</key>
        <string>http://www.zathras.de/programming/macapplications.htm</string>
        <key>productReleaseNotes</key>
<string>Added some preferences, now also displays float values.</string>
        <key>productVersion</key>
        <string>1.0.3</string>
</dict>
</plist>
<<<

--
Cheers,
M. Uli Kusterer
------------------------------------------------------------
       "The Witnesses of TeachText are everywhere..."
                   http://www.zathras.de

Reply via email to