SmartMusic Finale Garritan MusicXML

Apply Usability Techniques to XML Language Design

Usability is an important consideration for designers of XML interchange languages. By definition, interchange languages are going to be used by different communities – communities of users of different applications, and communities of developers of different applications. Usability of an interchange language involves balancing the needs of these different communities.

Usability for application developers is particularly important because no interchange standard can be established without developer support. Application developers are often asked to investigate integrating applications with third-party technologies. An important part of adoption is to make sure that the interchange language feels right to developers during their initial investigation of the language technology.

We believe that several key aspects of MusicXML’s design distinguished it from other attempts to standardize music notation formats:

  • MusicXML’s scope was limited to common Western music notation from the 17th century onwards. This scope is broad enough to cover a wide range of commercially and culturally important music, and matches a limitation on the expertise of performing musicians.
  • Wherever possible, elements and attribute names used musical terms, not technical terms specific to computers. Limiting the scope to common Western music notation was a prerequisite for making this possible.
  • MusicXML’s design prefers clarity over concision. This includes using full names rather than abbreviations, and a preference for structuring musical data in elements rather than attributes.
  • The overall structure of MusicXML documents closely matches the structure of many leading symbolic music formats, both in commercial and academic applications. This comes in part from MusicXML modeling a document, not an abstraction of a document.