Sigfrid Lundberg's Stuff 2009-06-27
The ATOM syndication format has been around for almost five years. In comparison with the diverse fauna kept in the menagerie abbreviated to the three character acronym RSS, ATOM is a well kept standard and much more useful as well.
Now, I've used ATOM before refurbishing my personal web site, but I haven't used seriously. That is, I haven't manually encoded a sizeable amount of text in it, validated the result, and then written software using the data. ATOM is the fundament for this site, since the data used for generating the navigation system is encoded that way. I may return to that later on.
Tim Bray lists and provide a thorough discussion of a number of characteristics shared by successful mark-up languages (see his article On Language Creation). The list of success critera includes items such as extensibility, clever but not too extensive use of XML name spaces, the posibility of implementing the language using many, widely different, datamodels. From Bray's perspective, ATOM seems designed for success. I don't know the statistics concerning syndication format popularity, but if ATOM isn't yet the leader, it will become sooner or later. Possibly in RDF disguise.
From a modelling point of view there is a few, annoying inconsistencies. Let us, for example, compare the <author> element with the <title> element. A resource may have an author, then the author may have a number of properties, such as a name, an email address and a home page. The author for this note is encoded as:
<author> <name>Sigfrid Lundberg</name> <uri>https://sigfrid-lundberg.se/</uri> </author>
This is, in my view, a sign of good content modelling when it comes to metadata. A resource may have a title. A title may have different components, for example main title and sub-title. The main and sub parts are properties of the title, not of the resource. The authors of the ATOM spec did not see that way. A feed may have both. This is annoying for semantic puristic nerd like me. Entries, however, may not have sub-titles at all, which in my view is an inconsistency as well.
The biggest flaw is the encoding of category data. A resource belongs to a category, i.e., this membership is a property of the resource. The category may have an identifier and a name, and this name is different depending to language. However, ATOM forces me to use the following construct
<category xml:lang="en" label="structuralwebdesign" term="Structural web design" /> <category xml:lang="sv" label="structuralwebdesign" term="Structurell webbdesign" />
which in my view is less than excellent. I would have preferred something like
<category label="structuralwebdesign"> <name xml:lang="en">Structural web design</name> <name xml:lang="sv">Strukturell webbdesign</name> </category>
These are shortcomings, but I can live with them. But expect changes in this area. The semantic web is here already, and with SKOS becoming a de facto standard on the internet, the syntactic communities will have to come up with something more clever for categorization of syndicated web resources.
My name is Sigfrid Lundberg. The stuff I publish here may, or may not, be of interest for anyone else.
On this site there is material on photography, music, literature and other stuff I enjoy in life. However, most of it is related to my profession as an Internet programmer and software developer within the area of digital libraries. I have been that at the Royal Danish Library, Copenhagen (Denmark) and, before that, Lund university library (Sweden).
The content here does not reflect the views of my employers. They are now all past employers, since I retired 1 May 2023.
This entry (My first serious experience with ATOM) within Sigfrid Lundberg's Stuff,
by
Sigfrid Lundberg
is licensed under a
Creative Commons
Attribution-ShareAlike 3.0 Unported License.