In addition to the previously described Information Architecture and the TourML XML schema, the following can serve as a “straw-man” proposal for a potential software architecture of how this whole thing could work from the authoring of tour content through the application specific interpretation of a portable content bundle.
Here’s the basic idea. Content authors don’t want to worry about the technical details about how to structure and validate XML or HTML documents, they just want to be able to focus on the task of creating great content. Authors also need to be able to preview the tour and tour stops to verify that the correct media is being used and that navigational links are correct, etc… This could be done by deploying to the final device and checking there, but in reality that process is a bit time-consuming and will slow the content development process down considerably.
A CMS seems to be the perfect tool for this job. We propose the creation of a back-end Content Management System with a restricted set of content types reflecting the different types of tour content that can be represented by the TourML XML schema. Such a CMS can be used by authors to create descriptive content, upload media, and organize the flow and navigation of a tour. CMS functionality can do nice things like handle all the resizing/cropping of images, transcode video and audio to a standard set of formats, present structured input fields for the creation of repeatable content. A CMS can also provide a simple web-based rendering of the tour content and navigation allowing the content author to “try out” and tweak the tour prior to bundling a platform independent content package of the tour.
Once the author is satisfied with the tour, they will choose to “Publish” or “Export”. Publishing a tour will issue a number of callbacks which will be executed by the CMS. Content types from the CMS will be traversed to create an XML instance of this tour using the TourML schema. In addition any media assets associated with the stops on a tour (i.e. audio files, video files, uploaded images) will be bundled together into a zip file or other type of package that can be deployed with the TourML document to the application device platform. At the conclusion of the Publishing process, the TourML document and the Media bundle should represent a complete and portable version of the tour consisting of all the information needed to reconstruct this tour on any number of devices.
Deploying a tour to a mobile device may take a number of paths depending on the desired platform and use case. Museums may choose to copy the tour bundle to a devices for “offline” use where a wireless network is not available. Museums might choose to host this tour content on a web server inside or outside of their museum, and then render this content into stylesheets branded for their museum, and/or as mobile web pages designed for small-screen rendering.
For the iPhone, museums might choose to either build an iPhone App which can interpret the TourML schema and reference media files local to the device, or they may choose to use webkit and dashcode based tools such as iWebKit and JQTouch to take advantage of the iPhones browser based user interface support.
Specifics about user interface behavior, the look and feel, graphics design of the tour, and the need for wireless access are all the responsibility of the application layer. Museums will likely make many different choices about how this application layer will work, but Museums-To-Go could provide a few sample application instances that understand and parse the TourML specification. Likely candidates for these sample applications include: iPhone App, Mobile Web based app, Dashcode based iPhone app, etc…