Cross-platform Definition

Cross-platform refers to the ability of software to operate on more than one platform with identical (or nearly identical) functionality.

The term platform can refer to any of several things, or to a combination thereof, depending on the situation: (1) the type of operating system (e.g., FreeBSD, Linux, Mac OS X, Solaris and the various Microsoft Windows systems), (2) the type of processor (e.g., x86, PowerPC, SPARC or Alpha) and (3) the type of hardware system (e.g., mainframe, workstation, desktop, handheld or embedded).

The term platform independence has a somewhat similar meaning. However, it implies that software will operate on any platform, whereas the implication of cross-platform is that software will operate on at least two platforms.

The term cross-platform can be used with regard to all types of software, including programming languages, operating systems, application programs and file types. For example, the C programming language is highly cross-platform because it can be used to write software for use on virtually any operating system (as well as for writing operating systems themselves), for any processor type and for any system type. In contrast, Visual Basic is not cross-platform, as it can only be used to write applications for the Microsoft Windows operating systems.

The Microsoft Windows operating systems are not cross-platform, because they can generally run on only the x86 compatible processors. In sharp contrast, NetBSD, a Unix-like operating system, is highly cross-platform, as it features the ability to operate on more than 55 types of processor and emulators (ranging from acorn26 to xen) at present (and more are planned for the future). Versions of Linux are available for a smaller number of processor types, while some other Unix-like operating systems can run on only a single processor type.

Numerous application programs are cross-platform to some extent. This is particularly true for free software, whereas applications developed by Microsoft generally operate only on that company's operating systems (and also therefore only on one processor type). For example, AbiWord, a free word processing program roughly comparable to Microsoft Word, is currently available for several operating systems (including BeOS, FreeBSD, Linux, Mac OSX, the Microsoft Windows systems, NetBSD and QNX); moreover, the Linux versions are available both for Linux distributions that run on x86-compatible processors and for those that run on PPC processors.

PDF (portable document format) is a highly successful cross-platform file format for documents that was developed by Adobe. PDF files can be viewed, after the Adobe Reader or other reader program has been installed, on a number of operating systems (and thus on the most common processor types) including the Microsoft Windows systems, Linux, Macintosh (both Classic and OS X), Solaris, HP-UX, AIX, OS/2, Palm, Pocket PC and Symbian. They can also be created on a variety of platforms and with a variety of application programs (including OpenOffice). PDF is cross-platform not only in that the documents can be read and created on a large number of operating systems, but also because such documents will appear identical regardless of the platform on which they are viewed.

Some file types become cross-platform even if the application programs that create them are not. For example, documents created with Microsoft Word, which only operates on the Microsoft Windows systems, can be read and modified using word processors on other platforms, such as AbiWord and OpenOffice.

.html, .jpeg, .gif and other file types used by web browsers are also cross-platform, in that all browsers can render them and browsers are available for a wide range of platforms. However, not all browsers are equally cross-platform; for example, Firefox is available for Linux, Mac OS X, Microsoft Windows and other operating systems, whereas Internet Explorer is available only for the Microsoft Windows systems and Safari is available only for Mac OS X.

The Internet and the web are clearly among the greatest success stories of platform independence. The fact that they are compatible with virtually every type of computer (and even some devices which do not resemble conventional computers) is a result of the platform-independence of TCP/IP (transmission control protocol/Internet protocol), the dominant networking protocol in the world today. This platform independence has been a major factor in the rapid growth of web-based applications, which are expected to provide increasing competition to operating system-based applications in the coming years.

The X Window System, often referred to merely as X, is a cross-platform system for managing GUIs (graphical user interfaces) on single computers and on networks of computers. Versions of X have been developed for a variety of operating systems and hardware types, including virtually all of the modern Unix-like systems, and software has also been developed to allow it to run on the Microsoft Windows operating systems.

The term cross-platform can also be used with regard to hardware devices. For example, computer monitors are cross-platform in the sense that they will work with any operating system, most types of processors and most types of systems. In contrast, so-called win modems are usually not cross-platform because they typically can function only on computers using the Microsoft Windows operating systems (and thus only on computers using x86 processors).

It can be very advantageous to users of computers that software and hardware are cross-platform. For example, it makes it practical to transfer files among various operating systems with little effort. It can also benefit developers of software, for example by expanding the market for their programs, although it typically adds to the complexity and cost of development.

However, not everyone is happy with their products being cross-platform. For example, some developers, particularly those with dominant market shares in some product categories, have made great efforts to keep their products from becoming cross-platform in order to try to lock customers into their proprietary operating systems, programs and file formats.

Being cross-platform can be an important factor in becoming a standard. A standard is a uniform set of specifications for some or all aspects of a product (i.e., a good or service) or activity that allows its providers and users and their products to interoperate without special arrangement. Standards, if well designed and widely implemented, can bring benefits to businesses, consumers and the economy as a whole by reducing the costs (and thus prices) for products, promoting competition and even facilitating innovation.

The verb to port refers to the modification of software so that it is suitable for use on another platform. For example, there is much interest in porting OpenOffice to the Mac OS X platform.

Created December 15, 2005.
Copyright © 2005 The Linux Information Project. All Rights Reserved.