For content jockeys, of course, it is the dream: a single information store and automated delivery to multiple platforms in numerous configurations, all at the push of a button. And it is not a new ambition–it predates the tablet and smartphone outbreak by decades.

About 20 years ago, the challenge was largely being taken up in the area of technical content targeted to portable work devices-giving technicians relevant data on CD-ROM, ruggedized notebooks, and wearable PCs. Today, of course, there are many more targets: numerous browsers, a plethora of smartphones, almost as many tablets, and more devices appearing every month.

The need for smart content management and the ability to automatically generate customized outputs, then, is greater than ever. Luckily, getting there is easy. All you need is intelligent content and cross-platform code development. (Okay, maybe getting there sounds easy.)

INTELLIGENT CONTENT

Practically, targeting multiple devices also means producing a variety of different outputs. Screen resolution, navigation functionality, and many other distinct features dictate that each device needs to receive its own special flavor of content. But dozens of different outputs doesn’t-and shouldn’t-mean that you have dozens of different versions of what is really the same information.

Eliminating source content redundancy-not having seven versions of essentially the same thing-starts with making sure that the single source of information has some intelligence to it. That is, the content should be semantically rich, structured, and flexible. Content with a high IQ can be reliably processed and turned into any number of highly configured outputs-custom views flowing to Internet Explorer on a Microsoft Surface; similarly tailored information sent to an iPad app.

When you talk about adding richness to content so as to enable multiplatform publishing, there is almost no avoiding bringing XML into the discussion. The Extensible Markup Language allows you to define rules for your content-adding intelligence-that make it easier to decipher programmatically and is a format that is easy to manipulate and convert into multiple outputs. Today, the question is not so much whether XML is in your publishing process, the question is where XML is in your publishing process.

To ensure that the intelligence enabling your customized content distribution is in place, you will need to impose rules on the content creators and handlers. It may be that your source is managed in a database, for example, in which case table and field design and validation are important. (Even here, it is likely you would want to export the database to XML for subsequent tweaking and publishing.) Better yet, if your source is XML-based, you can impose a multitude of rules using any of the various editors or content management systems available-including many open source options.

CROSS-PLATFORM CODE DEVELOPMENT

If the content that is delivered to a device needs to be customized to be appreciated, it is also likely that the application that consumes it will be unique. This might mean multiple versions of browser-specific JavaScript-one flavor generated for Safari on Apple devices, one for Chrome on an Android tablet-or it might mean offerings in all of the main application stores-the App Store, Google Play, BlackBerry World, and the Windows Store. The same way multiple targets shouldn’t mean multiple versions of the same content, it also shouldn’t mean multiple versions of the same code. One source, many outputs applies to application development too.

If your content delivery requirements are simple enough, it may be that a web application will suffice. That is, a browser-based approach, where you apply tailored code such as JavaScript to tailored content-and ideally both are automatically generated from your single source (with target-specific rules applied).

In practice, though, complex applications may need to be built. That would usually involve using the native development environment of each major platform, so you are left managing an iOS version, an Android version, etc. This is because applications that run on an iPhone, for example, are of a different nature than those that run on an Android device-Apple’s devices run applications developed in Objective-C, while Android applications are developed in Java. And so it may be the case that your specific situation requires that a separate application be developed for each of the major platforms, using each one’s native development environment-but there are other options too.

Development environments that are able to produce cross-platform versions of applications from a single base programming language exist. So, for example, developers can write their application in Java and “export” versions specific to the many mobile operating systems. Taking this cross-platform approach to code development can reap major benefits-automation, ease-of-update, and reduced cost of maintenance, for example. Again, for us content aficionados, the dream.


XML Editors

Arbortext Editor

CAM editor

CKEditor

EditiX XML Editor

jEdit

<oXygen/> XML Editor

Quark XML Author

SDL LiveContent Create

Serna XML Editor

Stylus Studio XML Editor

XMetaL Author Enterprise

XML Copy Editor

XMLSpy

Native Mobile Development Environments

Android

BlackBerry

iOS SDK

Windows Phone

Cross-Platform Mobile Development Environments

Adobe AIR

Adobe Flash Lite

Appcelerator

Aqua

Convertigo

Corona SDK

GeneXus

Java ME

Marmalade

Metismo

MoSync

Mulberry

OpenPlug

PhoneGap

Sencha Touch

Unity

(Image courtesy of Shutterstock.)

Download a PDF of “A Guide to Multiplatform Publishing: Getting Your Content on Every Device”