May 2008 Archives

AddThis Social Bookmark Button

Markup design fascinates me. What is it that makes one format easier to use than another? Why, even within that subset of markup that uses XML syntax, are some markup languages elegant and others unreadable? When is it best to use XML, when YAML, when a custom format?

Not all XML is created equal, and I think the biggest distinction between a good markup language and a bad one comes down to whether the XML was designed as a markup language or whether it’s a serialisation of a completely different model. Practically all the XML serialisations that I’ve seen of object-oriented models, or relational models, or graph models, have been dreadful as markup languages.

Michael C. Daconta

AddThis Social Bookmark Button

I’m a developer who frequently advises senior management on technical policy so I routinely keep one foot in techie-land and one foot in business-land. This position keeps me “squinting” at both and “smelling” both to insure that technology is built right so it can be applied right.

By now, you all know that Jeff Atwood wrote a controversial article calling XML a “tax”. The very title of the article is spin and a one-sided developer’s perspective. Why one-sided? He is not considering the business value of XML. By trying to squeak out a tiny bit of time-saving and save a few characters per line he would be throwing away a robust standard that offers application-independent data, a simple syntax, and a wealth of tool support. From a business perspective - stability and reliability beat your minimal efficiencies. Wake up and stop thinking like a techie! We easily forget, and I have been guilty of this many times, that technology serves business and not the other way around. YAML? Are you kidding me? Computers are fast and disk storage is cheap so I really am not interested in such minor efficiencies. Using indentation to distinguish hierarchy in data? That is very risky! This is not a programming language like Python that is guaranteed to be run through a compiler. In the data you must have explicit declaration of syntax NOT implicit. Again, if you are thinking like a developer your brain says “hey, I can save those angle brackets and not have to type them” or “I can save that closing tag so I don’t ‘waste’ my precious time.” Please … those angle brackets and that closing tag make the data demarcations explicit. That is more important than a developer saving five keystrokes per line. So, I don’t know whether Jeff is a senior developer or not, but he needs some more exposure to the business side of the house. Developers re-breathing their own air is dangerous.

Before I go - kudos to Norm Walsh and Eric Larson for their excellent commentaries on this same subject. We have different perspectives on the issue but some of the points are similar.

The key point here is that stability and reliability (like the explicit syntax of angle brackets) over minor developer efficiencies wins every time in the minds of business executives. And they are the ones who pay the bills! Violate this principle and you, or your business, will lose. As an interesting corollary for developers as the customer, here is an interesting ZDNet article on how Microsoft may be losing the trust of developers due to lack of stability in its development platform. In this case the developers are the customers and they have to choose a development platform. If you keep switching positions because the new group of developers Microsoft hired wants to do it differently for “small efficiencies”, you lose the trust of your customer base who get tired of the tail wagging the dog. The perfect example of what not to do is the Ribbon interface in Office 2007 - I just witnessed a large government agency with many, many employees delay pushing out Office 2007 because Microsoft’s office developers threw out years of people’s knowledge of the menus and layout in Office 2003 - and for what? No gain from a business perspective that’s for sure because creating word documents or slide presentations is not rocket science. So if Word 2007 reduces worker productivity by any appreciable percentage that is a direct hit to the bottom line.

So, small developer efficiencies must not derail hard-won business value. Application-independent data with explicit syntax that everyone is familiar with (think HTML) is a gold-mine of business value. For any developer to be ambivalent about that is downright naive. Sorry if that offends some, but developers develop to achieve business value and not technical value. The days of “I saved 8 key strokes in my data”, like saving “8 bytes in 64k of memory” are over.

Eric Larson

AddThis Social Bookmark Button

My wife is a rather amazing woman. In addition to being an amazing song writer, performer and guitarist, she is insanely smart, with a heart to help. This summer she will be helping out Girls Rock Camp. Austin also has a great program called GirlStart that aims to help girls get excited about math and science. What is so great about programs like Girls Rock Camp and GirlStart is that it provides young girls a chance to be feel empowered. What excites me most about these kinds of programs is the opportunity for perspective.

My wife and I play music together and have throughout our entire marriage. I can’t tell you how much I have learned from the experience. The biggest benefit is the constant exposure to a women’s perspective. I’m convinced that men and women are simply different in how problems are approached. If you’ve ever worked on a problem for a while, only to talk to a coworker that provides an entirely different approach that is more elegant and better in all measurable ways, then you get an idea of what it is like to have a women’s perspective. It is something totally different from your own, and the vast majority of the time it is enlightening.

I recently read an article on why girls should consider a career in IT. The author mentions programming as art and it made me think about my own experience creating something artistic with my wife. I’m confident that without the perspective my wife brings to the music, the songs and band as a whole would be nothing compared to what it is now. I can only imagine what the software landscape would look like if a women’s perspective were more prevalent.

Assuming there is a wave of ladies infusing this male dominated software industry, us guy should get prepared. The first step is losing the derogatory comments. Anytime you speak of a person as though they are an object or less than a person, you are training yourself for failure because you are refusing to step up to the challenge of acknowledging equality. The next step is recognizing when you are allowing a person’s gender or differences influence how you evaluate contributions. Becoming attentive to when your internal dialog includes derogatory comments can be scary. On a personal level, realizing that you have bigoted thoughts is a tough pill to swallow. But, if you are to move beyond your own insecurities, you must be in control of your views. Lastly, practice really listening. Learning to listen is a valuable asset, and what’s more, it places the attention on what is being said instead of who is saying it.

Hopefully in the near future more women will find their way into the software industry. I truly believe it could revolutionize how software is written in addition to helping change society for the better.

M. David Peterson

AddThis Social Bookmark Button

Dimitre Novatchev recently posted the following to XSL-List, something of which I thought would be of both interest and benefit to those of you in Land-O-XML who care about things kinds of things. As such,

Kurt Cagle

AddThis Social Bookmark Button

O’Reilly Video

Building on its influential predecessor chicagocrime.org, EveryBlock takes the local-data mashup to new levels. Founder and hacker Adrian Holovaty talks about the philosophy and technology behind EveryBlock, the untapped potential of address-specific news, open data, and life after Google Maps.



Kurt Cagle

AddThis Social Bookmark Button

O’Reilly Video

Geoff Zeiss (Autodesk, Inc.)–Convergence is about breaking down islands of information based on traditional disciplines or professional categories or those created by the traditional organization of the architecture, engineering, construction, transportation, and utility and telecommunications industries. The convergence of architectural and engineering design, location, and 3D visualization and simulation technologies developed is resulting in a framework for interoperability across the lifecycle of building and infrastructure including design, construction, and operation and maintenance.

The business drivers for this transformative technology advance are productivity and efficiency in the construction and facilities management industry, and improving the performance of facilities over their full life-cycle. The goal is seamless access to architectural, engineering design, and geospatial data inside, outside, and under a facility.



Kurt Cagle

AddThis Social Bookmark Button

O’Reilly Video

Paul Torrens (Arizona State University)–Ambient crowds are the new distributed computing platform. Smart mobs are fashioning new architectures for social networking. Armed with cell phones and mobile gaming devices, they are the new business model for location-based services. Seditious crowds are creating havoc in urban theaters of war and at global economic forums. Crowds of shoppers, endowed with smart chip credit cards and RFID tagged merchandise are trailed by long-lasting data shadows that follow them ubiquitously.

Embedded in urban infrastructure and in the very products we consume, new technologies are emerging to enable cities to think about—and process—the people that pulse through them, with a burgeoning code-space being developed to capture the actions and interactions of individuals within large dynamic crowds. This presentation will focus on our recent research work in developing models of crowd behavior and their application to theory-building and scenario evaluation in the contexts just described.

We have developed a reusable modeling platform for constructing large simulations of individual and collective behavior in dense urban environments. The simulations are developed with individual agents, equipped with geospatial AI that allows them to perceive and react to their evolving surroundings with an incredible level of behavioral realism. These agents are also capable of social and antisocial interactions. The simulation architecture is coupled to Geographic Information Systems, allowing for a suite of geospatial analytics and data-mining to be performed, across a wide array of scenarios. Moreover, the models have been developed as realistic 4D immersive environments with unprecedented levels of graphical realism.

From O’Reilly Where 2.0, San Jose, CA, Tuesday, May 29th, 2007.



Kurt Cagle

AddThis Social Bookmark Button

O’Reilly Video
James Greiner, Senior Vice President and General Manager, MapQuest, Inc. In preparation for Where 2.0, MapQuest conducted an ethnography study. The massive survey polled users on what they want from location-based services, mapping sites, and in mobile. It should be a very informative look into the desires of the people (many) our apps are made for. From O’Reilly Where 2.0, San Jose, CA, Tuesday, May 29th, 2007.
Kurt Cagle

AddThis Social Bookmark Button

O’Reilly Video
Since Google first presented a snapshot of the geoweb at last year’s Where 2.0, it has considerably evolved: more Geo data is published on the web, KML was accepted as an OGC standard and is adopted by a growing number of tools. Join John Hanke, Director of Google Earth & Maps to hear the latest on the evolution of the Geoweb and Google’s effort to organize it and make it universally accessible and useful. In this video from the O’Reilly 2008 Where 2.0 conference, John Hanke demonstrates the latest in Google geo development with Jack Dangemond of ESRI.
Eric Larson

AddThis Social Bookmark Button

Today I took some time to quickly scan through a backlog in my feed reader. There were a good number anti-XML articles cropping up. This got me thinking. What do you think of when I say “XML”? I personally associate XML as a baseline technology in a large set of tools used for describing data. For example, I think of Atom and XHTML within the scope of RESTful web services. Next up would be document formats such as DITA and DocBook. This starts me thinking about linking data and technologies such as XInclude and XPointer. As I reflect on where my mind wonders when thinking about XML, themes of linked data and document resources quickly rise to the top. What does not come to mind is WSDL, XML Schema, object serialization, configuration files, or SOAP.

What do you think of when I say XML? What kind of context does XML succeed and where does it fail?

M. David Peterson

AddThis Social Bookmark Button

Update: len trumps his own QOTD with these two gems. I’ll let you decide which you feel is funnier/more accurate, cuz’ I can’t decide,

I try to tell him that no element is *really* non-terminating but he gets wrapped up in the language abstraction and forgets to breathe.

.. or ..

We made this a lot harder than it has to be in the name of “just in case.”

[Original Post]
Is it really that taxing… - O’Reilly XML Blog

Most of the time when I find a programmer struggling with XML, they are a relational database programmer or an object-oriented programmer, or both. We should have lined these guys up against the wall at the beginning of the revolution, really.

NOTE: I met Jeff Atwood for the first time a month or two back. Nice guy. Obviously an OO-trained programmer. But a nice guy, none-the-less. ;-)

M. David Peterson

AddThis Social Bookmark Button

Brain.Save() - We are pleased to bring you new features in .NET 3.5 SP1

Syndication OM for the Atom Publishing Protocol. We added strongly-typed OM for all of the constructs defined in the Atom Publishing Protocol specification (like ServiceDocument and Workspaces) and put them in the System.ServiceModel.Syndication namespace.

M. David Peterson

AddThis Social Bookmark Button

So as Jeff Barr recently pointed out over on the Amazon Web Services blog,

Amazon Web Services Blog: Redundant Disk Storage Across Multiple EC2

M_david_preparing_for_ec2_persisten
XML Hacker M. David Peterson has put together a really interesting article.

As part of his work at 3rd and Urban, he has implemented redundant, fault-tolerant, read-write disk storage on Amazon EC2 using a number of open source tools and applications including LVM, DRBD, NFS, Heartbeat, and VTUN.

Mark notes that "the primary focus of this paper is to present both a detailed overview
as well as a working code base that will enable you to begin designing,
building, testing, and deploying your EC2-based applications using a
generalized persistent storage foundation, doing so today in both lieu
of and in preparation for release of Amazon Web Services offering in
this same space."

The article provides complete implementation details and links to source code for the scripts that Mark developed.

You can read the article, and you can also follow progress via the discussion group.

– Jeff;

Firstly, and most importantly, as pointed out in the first portion of this article,

Eric Larson

AddThis Social Bookmark Button

Jeff Atwood mentions the Angle Bracket Tax and not surprisingly, I don’t agree. XML can be difficult and painful at times, but I think the reasons are not entirely technical. Recently, I had the opportunity to work with XML in Java and it was definitely “taxing”. Even though the process was frustrating, it really had little to do with XML. The biggest pain was actually Java.

After working in Python/Ruby for a good portion of time, declaring types, long CamelCase variable/class names and overly complex Object Oriented patterns feel painful. I’m not much of a Java hacker, so most problems could be chalked up to my lack of experience in the language. While a better understanding of Java would have been helpful, in learning XML and C# I had a very similar (and frustrating) experience, which makes me believe it is not necessarily the XML. After working with XML in Python (and Ruby to a lesser extent), it is clear that the real problem is not an “angle bracket” tax. In fact, I would argue that I got a “tax return” by understanding concepts like DOM, which I became exposed to through JavaScript, rather than Python.

It is fine to think XML is “hard” and as I said before, it can be frustrating. But to consider XML the source of frustration probably is not considering all the factors. Jeff’s blog generally focuses on programming and human factors and this is a great example of a human factor. If you expect the static typing, wasteful OO patterns and require IDE support, then you have accepted the struggles as normal. When you then are forced to deal with XML, the common links to OO ideals and patterns don’t match, leading you to the conclusion that XML is hard. The people who breeze through XML and enjoy the technology are simply those who have invested a little time in learning basic tools. Of course, these people also have set their own expectations regarding XML, but therein lies the secret.

Programmers are supposed to be logical people who make decisions using reason. The reality is programmers are people with irrational feelings and emotions that impact decision making. There is a good chance your criticisms of XML are rooted in the thousands of blog posts saying XML sucks. There is an even better chance you promote tools such as YAML without ever actually having used it heavily. Opinions obviously have a place in software, but so does logic and reason. The next time you deal with XML, take a minute and try to learn something new before complaining. When I recently worked with Java, I went ahead and put aside my frustrations for a bit to get a good handle on Ant. Lo and behold, it was interesting and I learned something new that helped improve my perspective on Java. If you take the time to learn XML basics with an objective mindset, you might still say it sucks. On the other hand, you might realize it is not so bad.

Rick Jelliffe

AddThis Social Bookmark Button

I’ve just caught up with this document from W3C which fills in a big gap in English-language technical material. Japanese typesetting technology has been very influential in the other Ideographic countries, and they share many commonalities (e.g. Japanese ruby text and Taiwanese bopomofo.) There is a Japanese standard JIS X 4051, but it has no translation available: though parts of it, usually called the kinsoku rules, are floating around in material from vendors, particularly Adobe’s Ken Lunde and some MS material.

By and large, Chinese and Korean have different details (e.g. different characters) but the same analysis applies.

One term that the W3C draft uses but does not define is kihonhanmen; readers getting held up by this could substitute underlying grid (or text block or even constant width frame) for this.

AddThis Social Bookmark Button

Hello all.

My name is Griffin Caprio and I’m a new blogger here on xml.com. Apologies are in order to Kurt, my fearless editor, since this is my first post and I actually came into the O’Reilly fold back in March. I am very excited to blog here, as the O’Reilly xml community is at the forefront of XML evangelism.

I’ll be blogging mostly about semantic technologies. However, this will not be just another Semantic Web blog. Most of the talk surrounding semantics is centered on the Semantic Web and it’s potential to usher in a new era of interactive / integrated web applications. Personally, I’m more interested in using semantic technologies to tackle the oceans of data companies are amassing internally. Some people call that Business Intelligence (BI) and some call it Data Mining (DM). I’ll try and stay away from those types of product categorizations and concentrate on the pragmatic application of semantics.

As is standard practice here at xml.com, please feel free to leave me comments and / or suggestions if there is something you think I should know. We welcome all feedback!

Michael C. Daconta

AddThis Social Bookmark Button

A few months ago I wrote an article for Government Computer News on the battle over Rich Internet Applications. At that time, I thought it was odd that the other major contenders, Silverlight and Flex, use XML and JavaFX does not. I wonder, if in the rush to push something out the door, Sun forgot about separation of concerns and the benefits of skill specialization to quality production. I see the trend towards declarative User Interfaces as a good thing - the proper domain of graphic designers - so, why did Sun seemingly take a step backwards? If you are a JavaFX guru, I am interested in understanding this. I found a good simple way to compare these techniques was the bubblemark site which programs a simple animation in all three (and many more) variants. What are your thoughts on XAML versus MXML versus JavaFX? In looking at the bubblemark application I still feel that MXML is the cleanest. This definitely will require some more looking in to… in the meantime, see you in the trenches. - Mike

Rick Jelliffe

AddThis Social Bookmark Button

A couple of years back I had a very surprising experience with a junior programmer, who had just joined our team. I had asked him to work on some code until there were no more JUnit errors. A few hours later he proudly showed there were no errors, and explained it was easier than he expected because he just commented out the tests! Then he paused, regarded my startled expression for a few seconds and quickly blushed deeply. Doh!

Poor old Alex Brown has been in and out of favour with the extreme anti-OOXML-ists (perhaps I should use a new acronym, such EAOOXMLista, to say for the hundred thousandth time that not every anti-OOXML person is extreme?) over the last few weeks. First, he didn’t somehow stop the DIS29500 BRM somehow (exactly how?) from doing its job. So he is bad. Then he works with SC34 to organize getting more improvements made to OOXML and ODF. Again, bad. Then he says ““The question behind the question, for a lot of the current OOXML debate, seems to be: can Microsoft really be trusted to behave? We shall see” which earned him the quote of the day on ConsortiumInfo. So presumably he is good.

Then he does a smoke test of validation conformance of Office and the various OOXMLs, and reported the validation errors he found. So he is deemed good. Now he has validated various versions of Open Office and ODF and reported the validation errors he found. And that makes him the devil again.

Unless there is some tussle between evil twins going on, I’d like to suggest that Alex is just trying to faithfuly fulfill his normal committee responsibilities, which include checking through standards. Alex has long been involved in Data Quality issues for publishing professionally, and has been very involved in the development of ISO DSDL at SC34 (which includes RELAX NG and Schematron.)

So what is it that Alex found about ODF that has caused the fuss? It is quite technical, but the gist is this, as I understand it: if a schema is not itself valid, no documents can be formally valid against it.

(When the invalid part of the schema is only detected at run-time when exercised by a particular instance document structure, and the document does not contain such a triggering instance, the implementation may report that the document is valid, but that is a false positive. And you make look at the schema and say “I know what was intended, and the false positive is in fact correct against the intent of the schema” but this is lucky accident, i.e. hacking, not formal validity.)

The particular issue is quite interesting because it relates to an area in a W3C Schema standard where the user requirements for XSD could not be supported by the facet model used, and where XSD fudges it. OASIS RELAX NG, also to an extent inherited this problem.

The problem is with attributes of type ID in the ODF schema. Alex Brown has provided a very simple fix, which I hope gets adopted into ODF 1.2.

The problem with IDs is this. XML inherits ID type attributes from SGML. They have various constraints, which include that they are XML names (tokens), that their values are unique within the document, and that an element can only have one ID attribute.

When XSD came to make its datatyping the XSD WG made a nice theoretical distinction between lexical space and value space: these are entirely context-free distinctions, which relate only the atomic values of the individual pieces of text. XSD also provided another mechanism to declare that certain data values should be unique. But the constraints that an ID attribute value must be document-unique and that an element may only have a single ID attribute are left out in the cold by this model, and are not directly in the XSD specs. Blink and you’ll miss them, there is a little handwaving going on but it is a good pragmatic workaround: the spec references the XML specification; that these non-facet constraints on IDs are intended is made explicit in the (non-normative) Primer which forms Part 0 of the spec:

the scope of an ID is fixed to be the whole document.

and, more importantly, the XSD Structures Spec Part 1 specifies the ID/IDREF table as part of the PSVI.

ODF uses RELAX NG, and ISO RELAX NG specifically allows (s. 9.3.8 data and value pattern) datatyping to validate using more than just the atomic string:

services may make use of the context of a string. For example, a datatype representing a QName would use the namespace map.

(This seems to be a difference from the original OASIS RELAX NG, which AFACS started with a more atomic view of datatypes. )

So when an ODF schema says an attribute is an ID type, we expect for full validation it will have all the XSD/XML semantics, and that for full validation of the schema conflicts would be pointed out. If you don’t want these semantics, you just use the base type xs:ncName which has the lexical and value space but adds none of the other constraints.

So we come to the concrete problem that a couple of content models allow wildcarded attributes in any namespace, and many of the attributes in the namespaces in question have ID attributes. So the argument (which you can follow on Alex Brown and Rob Weir’s blog) is what class of error this should be: all the implementations of RELAX NG and Alex say this makes the schema invalid (in ISO Schematron I specifically included definitions for a “good schema” and a “correct schema” as well as a “valid schema” in order to make these nuances clearer); Rob thinks it shouldn’t be an error (”thinks” is too weak a term) and seems to think it should only be an error if a element actually has two ID attributes. I think this is also legitimate possible approach that the standards could take (but they don’t.).

Alex has found the fix for ODF, but I think RELAX NG and XSD could well have some extra clarifaction text (non-normative) to stop basic mistakes. If a schema, whether DTD, XSD or RELAX NG, says something is an ID, it has all the semantics of an XML ID.

So what was the point about the programmer turning off tests to make some code fault-free? That is Rob Weir’s suggestion on how to make the ODF documents valid: turn off ID testing! Brilliant! So what is the point of ODF 1.0 making these things IDs in the first place if that was not the intended semantics?

I suspect this is actually another example of where it would have been more satisfactory all around to have these constraints in Schematron. For example, not use ID type but xs:ncName (this is not real code, but to give the idea…you’d use a regex and this assumes a consistent naming convention in ODF and sub-vocabularies wrt attribute naming):

<sch:rule context="whatever">
   <sch:report role="duplicate-ids"  test="count( @*[ends-with(name(), 'id']) &gt; 1">
    There should not be more than one attribute called  id.
   </sch:report>
</sch:rule>

This seems to give the intended constraint against duplication, but makes it a run-time instance-driven problem, not a static schema error. Another assertion would handle uniqueness.

So my take: Alex is right that the schema has a flaw, and right to point it out and offer a fix; Rob is right that it is unnecessary for this to be a static error (which is the positive point I would infer from his over-reacting blog), but wrong that the way to fix it is to turn off validating that constraint.

Michael C. Daconta

AddThis Social Bookmark Button

The IBM Information Server has a business glossary manager that I am implementing for several clients. Some of those clients have existing data dictionaries and glossaries that will need to be imported into the product. The IBM information server has an XML format to allow you to import/export business glossaries.

There is a lot to talk about in examining this format. There is the good, the bad and the ugly in this format. Before we begin our dissection there are two contextual topics in need of some discussion. First is examining the goals of the format and second is determining whether those goals could have been achieved using existing formats.

At a high-level, the format has three main goals which correspond to its three main elements: represent terms and their definitions (via the term element), categorize terms (via the category element) and add custom attributes to categories or terms (via the attribute element). Except for the metadata extension mechanism (custom attributes), this is a simple way to create and organize a dictionary in XML. When examining the schema or the example of the format it is clear that it is far from a complete standard. For example, the available data types for custom attributes is only String. So, it is clear that this format will evolve. A bigger question is - should it? And should it even have been created in the first place?

There are quite a few formats for capturing glossaries, dictionaries and thesauri in XML. A colleague of mine, Ken Sall, examined this for the government a few years back. The W3C has SKOS, IBM has subject classification in DITA (though DITA is much broader than glossaries), and XML topic maps can also serve this purpose.

So, although we will continue to explore the details of this format and even conversion of some of the others mentioned into this format, what are your thoughts on it?

Until next time, see you in the trenches… - Mike

Rick Jelliffe

AddThis Social Bookmark Button

Now that ODF and OOXML are both set to be on the ISO/IEC books, it is useful to consider what the next productive steps are.

For genuine ODF Supporters who are concerned that ODF has languished a little out of the limelight during 2007, there are a lot of useful things to be done. You don’t even need to join the OASIS groups or your local National Body or SC34 to begin.

I suggest here are some things that will help the ODF effort coming into ODF 1.2.

  • Lobby the component standards groups, notably the W3C, to have official RELAX NG schemas available. Without schemas, there is no validation, and without validation there is no conformance testing, and without conformance testing there is no interoperability. (Or, at least, it becomes significantly more difficult in each case.) I believe SMIL is an example of this. If possible, actually have the schema ready and waiting, to make it easy: you will feel more of an achievement to have part of the standard that you can say “I contributed that”!
  • In a similar vein, lobby the component standards groups to harmonize their standards with ODF. SVG is the one in particular that seems needed. It would be great if not only would W3C SVG group add the few missing attributes and so on, but perhaps also make a profile of SVG to match ODF better (this is not a concrete suggestion, just something whose usefullness could be checked up by someone wanting to get involved.
  • Speaking of SVG, some open source XSLT transforms for going from ODF’s “SVG” to standard SVG would be good.
  • Join in the KOffice and Open Office efforts, especially in areas that effect you or for which you have expertise. Maths is a good area, for example.
  • Check through the IS29500 spec that are of interest, when it comes out, and figure out whether they are things that are decorations (which can be handled merely by foreign elements in ODF) with the current ODF behaviour an adequate fallback, or features that are currently unsupported in ODF, that will need attention. Share your results with the SC34 committee and with the OASIS and ECMA committees.
  • Patrick Durusau has made a request that he thinks the area of checking how well some of the detailed descriptions of formula functions in IS29500 accords with the reality of Office as currently implemented, would be really helpful. This would help both IS29500 get improved and provide better information for IS26300.
  • Join in a conformance testing group: make up test documents. Ideally a test library will have some tests that test one thing per document, which makes a very large number of documents, and others that test cascaded errors. So I wonder if algorithmically generating test documents from schemas is viable.
  • Get you National Body to submit more Defect Reports, so that SC34 does not lose impetus. Remembering that when something becomes a standard, maintenance becomes a community job not “their” job.

Of course, if you were not interested in being constructive but in trying to frustrate yourself there are other things you could do. You could for example, mount a court action asking for something that you know to be impossible (e.g. withdraw a vote on a ballot that has been closed), with reason that you know won’t stand up (e.g. that a committee of long-term experts changes it vote after being satisfied that there have been enough changes to proceed with a standard), with odd legal ground (if the voluntary standards group is not subject to administrative law, not being under the government), and where you know that your standards body’s final vote is a credible one (because it was shared by more than an absolute majority of other National Bodies around the world.) Why would someone do that, my readers might be asking themselves? Embarrassment? Sour grapes? Vindictiveness? Marketing?

I certainly hope that national standards bodies will stand by their committee members and provide financial support during court cases, for time and expenses the private individuals will be dragged away from their work. This kind of intimidation, to use courts and the threat of legal action to force a result after you have lost the technical argument, should be seen for what it is.

Now please, I am not saying that I have confidence in every NBs votes. While I believe that every NB acted intra vires and therefore legal overturns are futile, I was not pleased with the Norwegian national vote (for just the same reason as I was not pleased that several NBs voted for ODF bypassing their technical committees too) and the Brazillan vote (after an IBM representative blogged that he had convinced them that if they had *any* outstanding technical problems they should vote no: if he is true, the NB secretariat should have picked this up in committee and told its members that perfection is not a requirement for a standard.) But, I don’t see them as acting outside their powers.

And, most importantly, it is a different class of problem to have a standard accepted than to have it blocked.

National and international standards bodies are highly aware that their activities and importance is tolerated and encouraged only because they create markets. The minute a national or international standards effort becomes a servant of some clique or cartel, to the exclusion of others, it loses its fundamental justification. (I say “effort” because a body may have thousands of efforts on the boil at any time.) For standards bodies, exclusive behaviour is a mortal sin; in comparison, too much inclusiveness (i.e. by having multiple standards where in a perfect world we could imagine having only one) is only a mild (and bearable) fault. (And, indeed, in most cases I consider support of plurality, to allow the market to choose, a positive virtue.)

Eric Larson

AddThis Social Bookmark Button

When I think of REST, the biggest benefit always revolves around using XML dynamically. It is a matter of reducing the contracts to their smallest possible state. This is why technology like Atom and RSS have flourished, they are totally "abusable". Dynamic XML involves taking this "abusability principle" and applying it to XML. My previous comments on Schematron reflects this mindset. Using dynamically typed languages also helps. Thinking in terms of resources and representations also pushes flexibility over functions and objects.

Dynamic XML involves a subtle constraint of robustness. A huge reason this concept works is because it sets developer expectations. If you expect that you are going to get large variety of XML, it is much easier to disregard everything as long as there is a value at "//xyz:my-value". This is almost exactly the same practice as a function that accepts some object that has an attribute you need. In both cases you will most likely still be checking the actual value anyway, so why force the entire object or XML to be meet requirements that just don’t matter.

When you think of all the recent discussions on functional programming, monads, duck typing and dynamic languages in general, it is clear the programming landscape is changing. I think many programmers have benefited from taking a serious look at these ideas. There is no reason the same ideas can’t be applied to XML with the same result of finding new ways of solving problems.

M. David Peterson

AddThis Social Bookmark Button

So I got a ping from William Candillon yesterday on IM, but I wasn’t around so am just now getting in sync with him today. He and I had a discussion about a year or so back regarding a potential internship with Dana Florescu, you know, the primary mastermind behind the XQuery language. Well, fast forward to a year or so later and it turns out that through a collaborative cross-organizational effort, the following folks,

Cezar Andrei
Vinayak Borkar
Matthias Brantner
Nicolae Brinza
William Candillon
Dana Florescu
David Graf
Donald Kossmann
Tim Kraska
Dan Muresan
Sorin Nasoi
Daniel Turcanu
Markos Zaharioudakis

… got together and created,