Separating content from presentation is a very old “Best Practice”™.
Publishing using web technology is not new anymore, either, but mobile puts a newish urgency in that best practice. I’m seeing ignorance of the old best practice bite some in a potentially surprising way as the age of mobile apps become the preferred way to consume content.
Here’s what I mean by publishing separate content and presentation…
Take for example a menu from a restaurant. I’m finding in many cases, restaurants have web sites that publish their menu. Their menu items are content, and the web site presents it in a pleasant manner. In many cases, the presentation and the content are published just in that web page. (The menu items are “hard coded” as HTML into the page.)
If the restaurant’s menu items are “hard coded” into the page presentation, it’s very hard for anyone to re-use that information in any other presentation. It’s not impossible. It can be “scraped”, and some tools do a decent job of it. It’s just not easy enough.
The more technically correct path is to publish the content as a web service, and then publish the web site. The web presentation layer should consume content it gets from the service.
Why does this matter?
There’s lots of functionality that can be provided by a content service. Users can consume portions of the content by filtering it, sorting it, or classifying it.
To expand on that, I’ll pick on Microsoft’s Windows Phone AppStudio a bit, since they’re the star in my circles right now. Microsoft’s AppStudio is one of many ways to create apps for mobile devices. (In this case, for Windows Phones, but that’s beside the point.) AppStudio’s niche is making it easy for people to pull in content from various sources and present it in their own Windows Phone app. LOTS of people are building apps for just about everything you can imagine… members of the Granite State Windows Phone Users Group are producing a ton of apps based on it.
Here’s some statistics to try to paint a picture of this. The NH Windows Phone UG community publishes a list of apps produced by its members. In the past three months since App Studio was released, I estimate that the number of apps in that catalog has doubled, and 95% of the new apps are AppStudio apps, consuming and re-presenting, making use of content provided by 3rd parties.
What makes it easy to build AppStudio apps is that it has a simple presentation of its own… all folks need to do is find content that’s been formatted in one of a few very standard ways.
We have, for example, a grade-school aged member of the #NHWPUG community building and publishing apps with AppStudio. His publisher name is YoungMaster, and his first app is called “Kids Zone”. The cool part about Kids Zone is that he was able to add video content from YouTube. His app merely queries YouTube for certain kinds of videos, and YouTube responds with a list (in a standard format) of items. Users of the app simply tap the list for more information about it, or to watch the video.
Now, back to that restaurant… if a patron/fan developer wants to make an app for a specific restaurant, it would be very hard to add that restaurant’s menu items if the menu item information is not published separate from the web site presentation.
Another application might be to allow a person searching for a meal to browse menu items from a number of nearby restaurants. Will your restaurant’s menu items be available in the list?
Lots of folks already understand this concept of separately published content and presentation, and apps pop up around the content all the time. Movie theaters, travel agencies, transit authorities, social media updates, news agencies… all publish their content separate from their web site presentations.
What’s rougher, for folks using a CMS (Content Management System), chances are, you have the ability to publish a Syndicated Feed or RSS Feed that would do the job… but if you’re not enabling and exposing it, you’re missing a chance for folks to help spread the word about your company in these new ways.