Version 1.0 of the MAGIC Services Specification had fixed API methods defined by C++ header files. This approach has a number of disadvantages, including inflexibility and complexity. Early design decisions had to be taken without the benefit of implementation and operation experience. Changing a method definition (function signature) is a significant task. Validating an XML document against a standard set of XML schemas in a registry is not.
As a result, the design for Version 2.0 has moved significantly in the direction of streamlined and generic methods, organized along functional lines, with highly structured parameters. This allows interfaces to remain fixed, while the structure of the information flowing across these interfaces evolves according to experience and the changing needs of the mobile information services market.