Introduction to Content Interoperability

Interoperability is defined by the IEEE Standard Computing Dictionary (IEEE, 1990) as the ability of two or more systems or components to exchange information and to use the information that has been exchanged. From the user perspective, interoperability is the ability of systems to work together, to “plug and play” without any hassles.

A non-computer example of interoperability is hooking up a DVD player by:

  • Plugging its power cord into the wall, putting two AAA batteries into the remote, and connecting a cable from the DVD player to the back of the television.

Behind the scenes a lot is going on in this example. The DVD player needs to be able to use the current supplied by the power grid, the plug has to fit into the socket, the remote needs to be physically and electronically designed to use one of several standard sizes of batteries. The connection between the DVD player and the TV is more complex. Not only must the cable fit, but the right signals must be transmitted on the right wires. The data must be encoded in a way that can be understood and processed by the TV.

All of this works because of a high degree of standardization. Plugs, cables, batteries, and data encoding formats for audio and video all conform to standards.

Desktop Software Interoperability

In the real world of desktop (or consumer) software, interoperability levels are good but far from ideal. Some of the factors that contribute are:

  • Different operating systems. Different versions of the same software are needed for Windows, Mac, and UNIX operating systems. In fact, different versions of the same software may be needed for different versions of the same operating system, e.g. Windows 98 versus Windows XP, Mac OS 9 versus Mac OS X, Solaris versus Linux, and even the version of the version (Mac OS 9.1 versus Mac OS 9.2) might make a difference.
  • Software that is not cross-platform. Many applications are developed only for one platform (e.g., a Windows 98 or higher). This is especially true of specialized software with a niche market.
  • Web Browsers and Java™. Both are supposed to be cross-platform but aren’t

    Different versions of different browsers (e.g., Internet Explorer 6.0, Netscape 4.7, Safari 1.0) exhibit different behaviors when faced with the same HTML and JavaScript code. The ways in which browsers integrate with desktop applications are also different, as is the availability of plug-ins for different browsers.

    Java™ was supposed to be the solution that enabled software applications to be developed once and run anywhere. In practice, this interoperability is destroyed by differences among the Java™ Virtual Machines and standard libraries that come with different versions of Java™ from different sources for different platforms.

Since digital learning resources rely on desktop software , these are unavoidable issues. Nonetheless, it is possible to achieve a reasonable degree of cross-platform functionality. Web content authoring tools can be configured to produce HTML that runs fairly well on most browsers, and many Java™ applets work quite well on different platforms. Word processors, spreadsheets and image editors have versions that run on a variety of platforms and can convert files back and forth without too much loss of functionality. Formats such as Flash™, PDF™ or QuickTime™ can be read using free plug-ins that are readily available and install themselves when needed (if an Internet connection is present).

Educational Software

Educational software is more specialized than productivity software. Even general classes of educational and research applications such as computer algebra systems have relatively small markets compared to word processors, spreadsheets, contact managers or personal financial software. Given the expense of developing for multiple platforms, it is natural to expect cross-platform issues to be more common. Relying on specialized software (or on specialized plug-ins for Web browsers) is always a risk. For some examples, look at the references to systems requirements for Chime (Martz, 2002), WebEQ (Design Science, 2004) and TI-Navigator (TI, 2004). If cross-platform interoperability is the goal, it is far better to rely either on:

  • Web content or applets that at least theoretically are cross-platform
  • Commonly available software that is known to be reasonably cross-platform

Enterprise Software Interoperability

Whereas authors and students live in the world of desktop applications, collections and institutional information technology staffs face the problem of interoperability at the level of enterprise software. Enterprise software supports the operations of an “enterprise” such as a school, college, government, hospital, corporation, etc. In the academic world, enterprise software includes databases, Web and file servers, student information systems, financial management systems, human resource systems, facilities management systems, and library information systems. Course management systems such as Blackboard and WebCT have evolved into enterprise systems over the last few years.

Interoperability for desktop software may be tricky at times, but if you meet the system requirements, it is possible to install and get them running in a matter of minutes. The software runs in a well-known and well-documented environment – the computer’s operating system – and there are standard software libraries that developers can use to access the operating systems functionality. Developers can also test their products in environments that are identical to your desktop.

This is not the case for enterprise software. The computing environments they run on are far more diverse and the applications more complex. For two enterprise systems to succesfully interoperate, both the syntax and semantics of information must be agreed upon and understood. The ability to customize enterprise systems through configuration and modification adds to the complexity of the problem, and makes standardization of interfaces very difficult to achieve. The enormous investment being made in Web services is an attempt to improve interoperability by agreeing on universal transport formats and then by using XML to separate semantics and syntax.

Interoperability and Standards

Standardization plays a role in desktop interoperability, but interoperability can also be achieved through domination of a product category by a single vendor. Most consumer product categories have a single dominant vendor, or perhaps two or three. But with enterprise software, where there are many more vendors and product versions, achieving wide interoperability requires industry standardization of formats and protocols systems use to exchange data and to request functionality.

Interchangeability and Componentization

For desktop software, interoperability means getting applications to work on the platform and to share files. These criteria area also important for enterprise software, but equally important benefits are interchangeability and componentization. By standardizing formats, protocols and services, individual components can be replaced by other components (updated veersions or products from another vendor) with relative ease. This isolates the effects of failures, permits each component to be maintained and updated independently and reduces dependence on a single vendor or combination of vendors.

Relational databases provide an example where a reasonable level of interoperability has been achieved for an enterprise application. The structure of data inside a relational database is standard, there is a standard language for searching and manipulating data in relational databases (Structured Query Language, or SQL) and there are standard protocols for connecting to relational databases (such as Open Database Connectivity, or ODBC, and Java Database Connectivity, or JDBC). As long as an IT shop has avoided the use of proprietary extensions, changing database vendors is relatively straightforward.

Learning Application Integration

Among the most important enterprise systems in an educational organization are those that manage the learning process. Interpreted narrowly, these include student information systems and course management systems. Interpreted more broadly, these also include library systems, digital libraries, knowledge and content management systems, portals, Web content development environments, authentication and directory services, and other technologies.

Interoperability among these systems is not highly developed. “Single sign-on” has been achieved at many institutions, but the data exchange between course management systems and student information systems is often managed on an ad hoc basis and interoperability among other components is still in its infancy. The IMS Global Learning Consortium (IMS, 2004), the Open Knowledge Initiative (OKI, 2004), the Schools Interoperability Framework (SIF, 2004) and other organizations are creating standards, but it is still early in the adoption cycle.

Course Management and Learning Management Systems

Regardless of whether they interoperate with other enterprise applications, course management systems (CMS) are being used more and more in education. According to Campus Computing 2002 (Green, 2004), over one-third of college courses used a CMS/LMS tool in 2003 and almost half of the institutions participating in a 2003 survey reported strategic plans for deploying a CMS/LMS. The spread of these platforms raises two interoperability questions for authors and users of content:

  • Can content be ported between course management systems?
  • Can content be developed that will run in any course management system?

These questions are addressed by SCORM.