potage - Specifications
A `potage` is basically a XML-file, which gets translated to HTML. This
document explains the general concept of a potage as well as the technical
details of the XML structure and the translation procedure.
- 1. Concept
- 2. The XML
- 3. Tracking
- 4. Translating to HTML
- 5. Development
The purpose of a potage is to disseminate information to its relevant recipient.
The procedure tries to surmount deadlocks in the process of word-of-mouth
Company ACME wants to inform about a new product isGOOD®. There
is the presumption that
the product will be interesting for a specific target group. ACME either does
not have the necessary infrastructure to reach that target group or does not
know exactly how to outline it. ACME creates a potage. The description of the
product gets seperated from its name: "A good product". ACME hands out the
potage in existing
networks. Participants of the networks can decide where (to whom) they remit the
potage. In the best case it will be remitted until a number of relevant
(interested) recipients is found.
The core idea of a potage is the assumption that network participants will
rather remit an information (which is not interesting for them personally), if
the information does not include advertising components. Therefore the
information gets seperated in its description and its content.
The description is what will be seen first when receiving a potage. It may not
include any advertising. This means: nothing which would identify the product
or company behind it. The content may include advertising. It is the actual
advertsing message, and will only be seen if a recipient is interested in it,
after he or she read the description.
A potage is not convenient for spreading information which is generally
interesting. Think about it: A potage is designed to be remitted if the
information is not interesting. If everybody is interested, nobody will remit it.
A potage is also not convenient for reaching large numbers of recipients. It
is no mass communication procedure by definition.
A potage is designed for reaching `first generation seeders` for specific information.
2. The XML
The dtd defines a valid potage XML file:
<!ELEMENT potage (id,localisation*,tracking)>
version CDATA #REQUIRED
<!ELEMENT id (#PCDATA)>
<!ELEMENT localisation (language,label,content,link+,media?)>
<!ELEMENT language (#PCDATA)>
<!ELEMENT label (text)>
<!ELEMENT text (#PCDATA)>
<!ELEMENT content (text)>
<!ELEMENT link (description,destination)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT destination (#PCDATA)>
<!ELEMENT media (image*,video*,audio*)?>
<!ELEMENT image (source,destination,description)>
<!ELEMENT source (#PCDATA)>
<!ELEMENT video (poster,resource+,subtitle*)>
<!ELEMENT poster (source)>
<!ELEMENT resource (source,type)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT subtitle (source,language)>
<!ELEMENT audio (description,resource+)>
<!ELEMENT tracking (allowed,url*)>
<!ELEMENT allowed (#PCDATA)>
<!ELEMENT url (#PCDATA)>
A valid potage XML may look like:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE potage SYSTEM "http://potage.openpot.com/potage_0.0.6.dtd">
A potage is designed to be not interactive. It is a one-way communication.
The content of a potage may include text, link/s, image/s, audio/s and video/s.
Client-side renderable or executable scripts and objects are not intended.
The only client-to-sender communication may be the use of
tracking URL/s. It is either "true" or "false" whithin the <allowed> tag.
Although the dtd does not limitate the number of tracking URLs for a potage, it
is self-evident that that should be rather low. Too many tracking URLs are
hardly necessary and will produce a high overhead, which could lead to a bad
user experience due to slow responses.
Furthermore the server which accepts the tracking may not respond with anything.
A blank (bodyless) HTML response is expected.
An accepting server will need a crossdomain.xml specification.
4. Translating to HTML