<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Seabourne Consulting</title>
	<atom:link href="http://seabourneinc.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://seabourneinc.com</link>
	<description>We develop web applications &#60;em&#62;&#38;&#60;/em&#62; websites. From planning to launch, we are experts in creating successful projects.</description>
	<lastBuildDate>Wed, 11 Jan 2012 02:47:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>2011: A Big Year for Seabourne</title>
		<link>http://seabourneinc.com/2012/01/10/2011-a-big-year-for-seabourne/</link>
		<comments>http://seabourneinc.com/2012/01/10/2011-a-big-year-for-seabourne/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 02:47:24 +0000</pubDate>
		<dc:creator>Mike Reich</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=1027</guid>
		<description><![CDATA[2011 was a big year for Seabourne. We started the year with 2 employees and a general idea of the work we wanted to be doing. We ended 2011 with 8 employees, a great set of clients and a clear vision for how we can change the world. More than anything, this year was about [...]]]></description>
			<content:encoded><![CDATA[<p>2011 was a big year for Seabourne.  We started the year with 2 employees and a general idea of the work we wanted to be doing.  We ended 2011 with 8 employees, a great set of clients and a clear vision for how we can change the world.  More than anything, this year was about growing our organization; all the pieces, processes and skills that make Seabourne a full fledged company rather than a newly formed startup in its infancy.</p>
<p>Year over year, we saw revenue grow by 1,348.93% from 2010.  This came from both our expanding role in the development of <a href="http://seabourneinc.com/2011/04/05/our-latest-project-fcc-gov/" title="Our Latest Project: fcc.gov">FCC.gov</a> and <a href="http://seabourneinc.com/2011/12/22/fcc-launches-myfcc-beta/" title="FCC Launches MyFCC Beta">MyFCC</a>, but also work with new clients.  </p>
<p>In 2011 we developed a product and service strategy focused on API publishing and consumption.  This strategy is tied together by the <a href="http://seabourneinc.com/2011/09/22/the-web-api-publishing-platform/" title="The Web API Publishing Platform">API Platform Concept</a>, an approach to building the next generation of applications on the web. We spent about 30% of our time on R&#038;D projects that implement this strategy, including the <a href="http://seabourneinc.com/2011/09/19/announcing-the-content-api-drupal-module/" title="Announcing the Content API Drupal Module">Drupal Content API Module</a>, and <a href="http://cumula.org" title="Cumula" target="_blank">Cumula</a>, our own framework for <a href="http://seabourneinc.com/2011/09/23/what-is-a-content-api/" title="What is a Content API?">API Web Platform Development</a>.  </p>
<p>In order to support our growth and new clients, we quadrupled in size from 2 to 8 employees.  When Seabourne began, we offered PHP and Rails development services.  At the end of 2011, we are able to offer the full spectrum of services necessary for developing great online experiences.  Our services now include system architecture planning, UX/UI design and branding, front-end and back-end development, mobile app development, and project management.  This enables us to tackle entire projects from start to finish, and we focused and improved our internal workflows to ensure that our clients see a huge benefit from our ability to deliver complete products.</p>
<p>In order to support our growing team, we moved into a great <a href="http://www.flickr.com/photos/66343155@N02/sets/72157627487339155/" title="Update: Summer 2011" target="_blank">new office in Dupont Circle</a>.  We also gathered as a team 3 times over the year: twice in DC and once in Phoenix for multi-day strategy and planning sessions.  Our ability to work together as a cohesive team has never been stronger, despite being in multiple cities around the country.  </p>
<p>Looking forward, 2012 is going to be huge. We have an organization that is humming, and a series of products, services and ideas that we are committed to building.  We continue to <a href="http://seabourneinc.com/2012/01/09/seabourne-is-hiring/">grow</a>, and are always looking for new challenges to which we can bring our unique talents.  </p>
<p>Lastly, we want to give a big thanks to all our friends, partners, clients and families for the help and support over the last year.  Seabourne certainly would not be the company it is today without you.</p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2012/01/10/2011-a-big-year-for-seabourne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seabourne is Hiring</title>
		<link>http://seabourneinc.com/2012/01/09/seabourne-is-hiring/</link>
		<comments>http://seabourneinc.com/2012/01/09/seabourne-is-hiring/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 15:06:48 +0000</pubDate>
		<dc:creator>Jeff Stovall</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=1031</guid>
		<description><![CDATA[Seabourne is looking for a couple of motivated rock stars to join our team. We're in immediate need of a front-end developer and two web developers. If you're opinionated, have an eye for design, great taste, and can communicate effectively, you may be the right fit. You will have a chance to work on many different [...]]]></description>
			<content:encoded><![CDATA[<p>Seabourne is looking for a couple of motivated rock stars to join our team. We're in immediate need of a front-end developer and two web developers. If you're opinionated, have an eye for design, great taste, and can communicate effectively, you may be the right fit. You will have a chance to work on many different types of projects while learning and increasing your skill level in all sorts of new technology. We like to try new things. We want you to do the same.</p>
<p>Does that sound like you? If so, you can apply by sending the following to <a href="mailto:jobs@seabourneinc.com">jobs@seabourneinc.com</a>:</p>
<p>* Cover letter<br />
* Resume<br />
* Portfolio / Website<br />
* Code examples</p>
<p>We can't wait to hear from you!</p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2012/01/09/seabourne-is-hiring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FCC Launches MyFCC Beta</title>
		<link>http://seabourneinc.com/2011/12/22/fcc-launches-myfcc-beta/</link>
		<comments>http://seabourneinc.com/2011/12/22/fcc-launches-myfcc-beta/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 14:17:13 +0000</pubDate>
		<dc:creator>Mike Reich</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=1002</guid>
		<description><![CDATA[The Federal Communications Commission announced the Beta launch of MyFCC, a project we have been working on for the last 6 months. MyFCC is a personalized dashboard for power users that provides a simple way to access a broad range of content coming out of the agency. MyFCC content is powered by the Content API [...]]]></description>
			<content:encoded><![CDATA[<p>The Federal Communications Commission <a href="http://www.fcc.gov/blog/introducing-myfcc-beta" title="MyFCC Blog Post" target="_blank">announced the Beta launch of MyFCC</a>, a project we have been working on for the last 6 months.  MyFCC is a personalized dashboard for power users that provides a simple way to access a broad range of content coming out of the agency.  MyFCC content is powered by the <a href="http://seabourneinc.com/2011/09/19/announcing-the-content-api-drupal-module/" title="Announcing the Content API Drupal Module" target="_blank">Content API module</a>, and is built using our very own <a href="http://cumula.org" target="_blank">Cumula Framework</a>.  </p>
<p><strong>Solving A Common Problem</strong><br />
MyFCC seeks to solve a common problem: many website users who know exactly what they want, but can't easily access that content. By providing a clean interface that enables the user to customize blocks of content, called widgets, they can create customized pages that are a single point of access for anything of interest published by the FCC.  Widgets are collected on a user's dashboard, allowing them to create fully customized pages containing multiples streams of information.  The initial set of widgets include a Topic Watcher, Latest News, the FCC Twitter feed, and a version of the FCC Daily Digest.  Lots of content can be intimidating for users, but the Dashboard and Widget approach creates a manageable experience where users control how the information is displayed.</p>
<p><strong>An API Approach</strong><br />
MyFCC utilizes a content API published by FCC.gov.  Because we were able to leverage the FCC.gov content through the API, the time and cost to develop MyFCC were radically lower than alternative approaches.  This is a great example of how a <a href="http://seabourneinc.com/2011/09/22/the-web-api-publishing-platform/" title="The Web API Publishing Platform" target="_blank">Web API Platform architecture</a> can help to reduce development cost while supporting cutting edge applications.</p>
<p><strong>Social Sharing Tools</strong><br />
MyFCC includes a series of innovative social sharing tools designed to help make FCC content accessible to a wider audience.  Each widget inclues an embed code, allowing users to take a widget and embed it natively into another website.  Each user dashboard also includes a 'Share' button that generates a unique URL they can send to others.  When clicked, the link opens up an exact copy of the dashboard.  This is a great tool for creating a dashboard that monitors a series of topics for specific content coming from the FCC.</p>
<p>MyFCC is a new approach to open government — making the content easily available to everyone, everywhere via APIs.  Using the Content APIs, the public can create their own tools like MyFCC.  An exciting time for technology and government!  </p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2011/12/22/fcc-launches-myfcc-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Responsive Design needs Responsive Development</title>
		<link>http://seabourneinc.com/2011/11/21/responsive-design-needs-responsive-development/</link>
		<comments>http://seabourneinc.com/2011/11/21/responsive-design-needs-responsive-development/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 21:45:57 +0000</pubDate>
		<dc:creator>Jay Contonio</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=931</guid>
		<description><![CDATA[Since the release of the iPhone we have struggled with best practices when it comes to designing and developing for mobile. We’re going on four years, and while we’ve made great progress, there is still a lot left to be desired. “Responsive Design” is the hot topic. With media queries it is so easy to [...]]]></description>
			<content:encoded><![CDATA[<p>Since the release of the iPhone we have struggled with best practices when it comes to designing and developing for mobile. We’re going on four years, and while we’ve made great progress, there is still a lot left to be desired. “Responsive Design” is the hot topic. With <a href="http://www.alistapart.com/articles/responsive-web-design/">media queries</a> it is so easy to take an existing website and reformat it for a mobile phone or tablet, or you can design something that is truly flexible so that it looks great on any device. While this is a fantastic new method of doing things, and will solve all of some people’s problems, it is not <em><span class="caps">the only</span></em> solution.</p>
<p>By working with content APIs, designers (who code, you code right?) can deliver unique user experiences to a range of devices without the "hacking" that is involved when using media queries. By hacking, I mean all the showing and hiding of content depending on the device, which often results in loading a ton of data that is useless to the viewer (images, background images, specific javascript, etc). A unique, tailored experience is a better experience for your customer.</p>
<h2>Content first</h2>
<p>We design for content. Content that is (hopefully) accessible across all devices. So let me ask you: does your design achieve the same goals when viewed on a mobile phone? Does your information architecture solve the problems for a customer on the go? Are you loading unnecessary content and toggling it visible or hidden depending on the device? No matter the answer, I hope to give you some things to think about.</p>
<p>When I switched from table-based markup to semantic markup and <span class="caps">CSS</span> (thanks to one <a href="http://www.zeldman.com/">Jeffrey Zeldman</a>) I convinced myself that for the rest of my life I would write thought-out, semantic markup and never have to worry about it down the road. We would adjust our layouts later in <span class="caps">CSS, </span>right? Write once, view everywhere. This method worked great for a long time. Now that we actually <em>have</em> multiple devices to deliver content to we’ve found ourselves in a rut. My image-heavy homepage doesn't work in a mobile browser. My text-heavy homepage is pointless in a mobile browser. My navigation with all those dropdowns is a pain to use in a mobile browser.</p>
<p>Now, of course you can change the presentation of all this information using media queries, but do you stop to think about all the data you’re asking your viewers to download when you may be only presenting 80% of that to them? Let’s take a pharmacy like <span class="caps">CVS</span> (not Walgreens, I’m from New England and have pride). A pharmacy's mobile site should be very different from the desktop counterpart. As a customer you probably expect to see the closest location at the top of the screen with a phone number, and the hours they're open. Then maybe you’d want a list of action items such as refilling a prescription, or checking if your photos are ready. This is all important (but not a lot of) information. Would you load the entire cvs.com and rearrange it using media queries? You could, but you'd be forcing the user to download more data than necessary, resulting in slower load times and a less focused design.</p>
<h2>A different solution</h2>
<p>There are probably a hundred different ways organizations solve this problem; some develop entirely separate mobile sites, some go the media query route, some decide to deliver the same desktop experience and that’s where they stop. Using <a href="http://seabourneinc.com/2011/09/22/the-web-api-publishing-platform/">content APIs</a>, you can build both mobile and desktop applications/websites using the same content and underlying system, but serve different markup that's tailored to each browsing experience. Now, I am not going to dive into what a content API is as my colleagues can do that much better. I am going to tell you how we approach design and front-end development.</p>
<blockquote class="right"><p>Think about where else your content is going to live. Are you going to have a native iOS app? Android? How about on the Apple TV or Roku? Will people want to view it on their mobile phone and tablet? The answer to all these questions is without a doubt, yes.</p></blockquote>
<p>With content APIs (and any API in general) we can quickly develop multiple applications off of the same data source. We can design and develop a big, complex application for a pharmacy or bank for the desktop, and then, with access to the same exact data, build a simple, stripped down version for mobile. We can do this using any technology we want, and usually with way less development time.</p>
<p>On the frontend it's an entirely new ballgame. New libraries are popping up constantly focusing on client-side rendering (<a href="http://alexmaccaw.co.uk/posts/async_ui">here's a great related article</a>), backed by APIs. A great tool we've been using is <a href="http://backbonejs.org/">Backbone.js</a>.  We believe it helps us create the best experience possible for not only mobile customers, but also for the desktop. Tools like Backbone fit into the approach to software design that I find most efficient: serve content and layout separately, serve layout based on the device (or user agent), do all of this on client side.</p>
<p>I've been thinking a lot about the perfect CMS (who hasn't?). As a front-end developer I require one thing; I want direct access to the objects I will be manipulating and displaying. I don't want to ask the backend developer for help (which is a constant in Drupal theming), I don't want markup being served out of the CMS (Drupal), and I don't want to assume the content being served up is for a web browser. Imagine drawing out your models in a <a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language">UML</a> diagram, hitting 'Save', and having all of that data available to you as JSON. This allows simultaneous development of mobile apps, desktop apps, websites, and mobile sites that are all rendering that content on the client side. This means less back-end development time. Front-end developers and designers that have direct access to the content they need can build a multitude of unique user experiences quick and easy. This is also known as profit.</p>
<p>Think about where your content is going to live. Are you going to have a native iOS app? Android? How about on the Apple TV or Roku? Will people want to view it on their mobile phone and tablet? The answer to all these questions is without a doubt, yes. It’s time to think about the most efficient way to bring a unique experience to each device without being limited by the devices themselves. By implementing content APIs into your project you give your team (or client) the tool they need to rapidly craft custom experiences for each device, resulting in true responsive design.</p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2011/11/21/responsive-design-needs-responsive-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slides from DC Week Presentation</title>
		<link>http://seabourneinc.com/2011/11/13/slides-from-dc-week-presentation/</link>
		<comments>http://seabourneinc.com/2011/11/13/slides-from-dc-week-presentation/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 14:25:39 +0000</pubDate>
		<dc:creator>Mike Reich</dc:creator>
				<category><![CDATA[Slides]]></category>
		<category><![CDATA[DCWeek]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=909</guid>
		<description><![CDATA[Here are my slides from the DC Week Presentation I gave last week on the future of APIs. It was a fun time — the venue and audience was great. In case you missed the talk, stay tuned for a blog post on the same topic. DCWeek Presentation Slides]]></description>
			<content:encoded><![CDATA[<p>Here are my slides from the <a href="http://dcweek2011.sched.org/event/27a2af29db18f8d12fe789f443a3e428">DC Week Presentation</a> I gave last week on the future of APIs.  It was a fun time — the venue and audience was great.  In case you missed the talk, stay tuned for a blog post on the same topic. </p>
<p><a href='http://seabourneinc.com/wp-content/uploads/2011/11/DCWeek.pdf'>DCWeek Presentation Slides</a></p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2011/11/13/slides-from-dc-week-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seabourne At DrupalCon Denver</title>
		<link>http://seabourneinc.com/2011/11/11/seabourne-at-drupalcon-denver/</link>
		<comments>http://seabourneinc.com/2011/11/11/seabourne-at-drupalcon-denver/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 15:47:42 +0000</pubDate>
		<dc:creator>Jeff Stovall</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=892</guid>
		<description><![CDATA[Three members of our team have submitted session for DrupalCon Denver. Revolving around how content APIs are changing the web, the sessions cover using APIs with Drupal on both front and back ends. Voting is open until November 14. If you'd like to see one of these sessions, get your drupal.org login and cast a [...]]]></description>
			<content:encoded><![CDATA[<p>Three members of our team have submitted session for <a title="Drupalcon Denver 2012" href="http://denver2012.drupal.org/" target="_blank">DrupalCon Denver</a>. Revolving around how content APIs are changing the web, the sessions cover using APIs with Drupal on both front and back ends. Voting is open until November 14. <a title="DrupalCon Denver Vote" href="http://denver2012.drupal.org/news/next-phase-selecting-drupalcon-denver-sessions" target="_blank">If you'd like to see one of these sessions, get your drupal.org login and cast a vote for it!</a></p>
<h1><a title="Putting the Response in Responsive Design" href="http://denver2012.drupal.org/program/sessions/putting-response-responsive-design" target="_blank">Putting the Response in Responsive Design</a></h1>
<p>Existing methods of supporting mobile design have significant limitations. The combination of Drupal and content APIs gives designers a strong alternative set of tools to deliver content to multiple devices. <a title="Jay Contonio" href="http://seabourneinc.com/about/jay-contonio/" target="_blank">Jay</a> will talk about these new technologies and how decoupling the front end creates responsive user experiences.</p>
<h1><a title="Building Flexible Platforms with Drupal and APIs" href="http://denver2012.drupal.org/program/sessions/building-flexible-platforms-drupal-and-apis" target="_blank">Building Flexible Platforms with Drupal and APIs</a></h1>
<p>Drupal's powerful features have made it the standard in open-source content management systems, but Drupal developers know there are still several drawbacks in the platform's architecture. Using content APIs with Drupal creates an architecture that directly addresses some of these issues. <a title="Mike Reich" href="http://seabourneinc.com/about/mike-reich/" target="_blank">Mike</a> will take attendees through the approach of an API-based architecture, with real-life examples such as FCC.gov.</p>
<h1><a title="Introducing the Content API Module: Instant API publishing with Drupal 6 and 7" href="http://denver2012.drupal.org/program/sessions/putting-response-responsive-design" target="_blank">Introducing the Content API Module: Instant API publishing with Drupal 6 and 7</a></h1>
<p>You know what content APIs are, you understand the advantages to the approach, and you want in on it. Come join <a title="Dirk Heniges" href="http://seabourneinc.com/about/dirk-heniges/" target="_blank">Dirk</a> as he takes the group through how to setup and configure the Content API module, including how to include (and exclude) the exact information you want to publish.</p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2011/11/11/seabourne-at-drupalcon-denver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on Data Normalization and Schema</title>
		<link>http://seabourneinc.com/2011/09/26/thoughts-on-data-normalization-and-schema/</link>
		<comments>http://seabourneinc.com/2011/09/26/thoughts-on-data-normalization-and-schema/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 18:46:05 +0000</pubDate>
		<dc:creator>Mike Reich</dc:creator>
				<category><![CDATA[Best Practices]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=837</guid>
		<description><![CDATA[A common sticking point of many attempts at building a platform is data normalization. Many times, these efforts get bogged down trying to make the way data is represented perfectly consistent across all systems (this is called data normalization). This conversation often plays out under the guise of developing an XML Schema to transport the [...]]]></description>
			<content:encoded><![CDATA[<p>A common sticking point of many attempts at building a platform is data normalization. Many times, these efforts get bogged down trying to make the way data is represented perfectly consistent across all systems (this is called data normalization). This conversation often plays out under the guise of developing an XML Schema to transport the information between systems. Unfortunately, I have yet to run across a case where true normalization is ever achieved. Instead, it bogs down the process looking for the impossible, increasing costs, expanding the timeline and often ruining the entire project.</p>
<p>So here are some ways to think about the problems data normalization is trying to solve. First, you don’t have to store information the same way across all your systems. Tools and best practices have evolved to the point where developers are comfortable working with structured data that may not match their own data base tables.</p>
<p>Instead of focusing on normalization, spend time on transformation. It’s OK that each component might have a different routine for transforming incoming data. Unless you are working in very rigid structured data (think scientific information) the time it will take you to parse and transform incoming information is negligible. Instead, you can spend your time figuring out what to do with the information.</p>
<p>Second, information will change, and you should plan on being agile. Create your transformation routines so that they can be changed when needed. Create your system to be error tolerant, so that when incoming information is different than what you expect, everything can keep on humming until you update your routines. As other systems evolve, the structure of the information will change too. Expect and plan for it, and change will be manageable.</p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2011/09/26/thoughts-on-data-normalization-and-schema/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is a Content API?</title>
		<link>http://seabourneinc.com/2011/09/23/what-is-a-content-api/</link>
		<comments>http://seabourneinc.com/2011/09/23/what-is-a-content-api/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 15:55:30 +0000</pubDate>
		<dc:creator>Jeff Stovall</dc:creator>
				<category><![CDATA[Concepts]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=796</guid>
		<description><![CDATA[Since joining Seabourne, I find myself spending a lot of time talking about content APIs. My social circle is not one of developers; knowledge of how to build a web application is often ... lacking. Dinner conversation tends to result in lots of blank looks, so I've been working on a useful, non-developer explanation. It's [...]]]></description>
			<content:encoded><![CDATA[<p>Since joining Seabourne, I find myself spending a lot of time talking about content APIs. My social circle is not one of developers; knowledge of how to build a web application is often ... lacking. Dinner conversation tends to result in lots of blank looks, so I've been working on a useful, non-developer explanation. It's a valuable thing to wrap your head around because the use of content APIs is expanding rapidly.</p>
<p>In fact, APIs are all around us. You probably already spend significant time interacting with APIs and don't even realize it. Plus, it's easy to understand – an API is little more than a template.</p>
<h2>What is an API?</h2>
<p>As humans, we consume structured information every day in a variety of situations:</p>
<ul>
<li>Flipping through channel listings</li>
<li>Preparing a recipe</li>
<li>Reviewing bus schedules</li>
<li>Checking last night's box scores</li>
</ul>
<p>For each of these items, because the information is structured in a certain way, we as humans know what to expect. The channel listings contain the name, time and maybe a short description of the program. Recipes contain ingredients, measurements and instructions. Bus schedules tell you the route number, stops and times. You've even created structured data to be consumed by someone else when you fill out a Girl Scout cookie order form.</p>
<p>The online services you use take advantage of structured information. Your iPhone consumes Facebook feeds in a manner similar to your consuming of channel listings. When you open Facebook on your phone, a lot of information streams from the Facebook server. Your phone discerns what's a status update, check-in or comment because, like the channel listings, the information is structured with tags followed by content. This sort of standardized structure allows different web applications to talk to each other.</p>
<p>So, APIs provide structure to information so computers can use and understand that information, the same way you use and understand a recipe or bus schedule.</p>
<h2>What is a <em>content</em> API? How is that different?</h2>
<p>Traditionally, we've used APIs to transfer <em>data</em> between applications (such as those status updates, box scores and recipes) but not full-fledged <em>content</em>.</p>
<p>To exchange content between applications, we need to transfer not only the data but an understanding of the meaning of the data, inferring the relationships between the data (something humans do with great ease; it’s a tremendously harder task for computers). Those relationships between the data to be transferred can be described as the taxonomy of content. Stay with me here…</p>
<p>Taxonomies, similar to categories, are ways of classifying and understanding the content, kind of the like the Dewey Decimal System on steroids. <a title="Wikipedia Explanation of Taxonomy" href="http://en.wikipedia.org/wiki/Taxonomy" target="_blank">Wikipedia has a really nice, simple example</a>:</p>
<blockquote><p>...for example, "car" might appear with both parents "vehicle" and "steel mechanisms"; technically, this merely means that 'car' is a part of several different taxonomies. A taxonomy might also be a simple organization of kinds of things into groups, or even an alphabetical list.</p></blockquote>
<p>The inclusion of taxonomies with the content ("vehicle," "steel mechanisms") give it meaning and far greater detail than what we've been able to work with in the past. This structure allows us to use applications to draw much more powerful relationships between content than was ever possible.</p>
<p>And that's what makes a content API valuable: it contains not only tags that tell a computer application where the title, main content and subheads are, but also information that gives meaning and context to the data in the content.</p>
<h2>Why are content APIs so important? Why the emerging focus on them?</h2>
<p>Another frequent question is, "But if I can understand the content, why do I care if the computer can understand?" There's one particular explanation that sums it up nicely: information discovery.</p>
<p>Because <a title="The Case for Content APIs" href="http://seabourneinc.com/2011/08/11/the-case-for-content-apis/" target="_blank">content APIs enable developers to expose greater amounts of information to users</a>, you can find the content you're looking for much more quickly.</p>
<p>And you can organize this mass of content in much more powerful and flexible ways -- since the application now realizes there are taxonomies associated with the content it's downloading. The application can sort, package and serve in new and different ways.</p>
<p>Content, when combined with other content, becomes dramatically more powerful. Take Google Maps. Google Maps has integrated the Wikipedia API, <a title="Wikipedia Plus Maps Integration" href="http://maps.google.com/maps?q=1724+20th+St+NW,+Washington+D.C.,+DC+20009&amp;hl=en&amp;ll=38.911598,-77.046765&amp;spn=0.01001,0.011598&amp;sll=38.908229,-77.030539&amp;sspn=0.04004,0.046391&amp;vpsrc=6&amp;t=h&amp;z=17&amp;lci=org.wikipedia.en" target="_blank">so when you look up a place and select "Wikipedia" from the menu, you get the information Wikipedia has alongside the Maps' information.</a> There are millions of these types of applications and reasons for combining content APIs.</p>
<p>As more and more content providers use this concept, content APIs will become a more powerful part of your daily life. Your computer, smart phone, iPad, and every other device you use to access the Internet will enable you to consume more and more dynamic information in the coming years.</p>
<p>We're just on the edge of learning how to leverage application-aided understanding of the data that's available, and the future is very exciting.</p>
<h2>Who is using content APIs?</h2>
<p>Content APIs are increasingly being created and refined by the largest and highest profile content creators on the web. To learn more about specific applications of the concept, follow these links:</p>
<ul>
<li><a title="The New York Times Developer Network" href="http://developer.nytimes.com/" target="_blank">The New York Times Developer Network</a></li>
<li><a title="The Guardian Open Platform" href="http://www.guardian.co.uk/open-platform" target="_blank">guardian.co.uk Open Platform</a></li>
<li><a title="NPR.org Tech Center" href="http://www.npr.org/api/index" target="_blank">NPR.org Tech Center</a></li>
<li><a title="The Lonely Planet Content API" href="http://developer.lplabs.com/index.php?title=The_Lonely_Planet_Content_API" target="_blank">The Lonely Planet Content API </a></li>
<li><a title="If This Then That" href="http://ifttt.com/" target="_blank">If This, Then That</a> (This site will allow you to tie different services, such as Facebook and Twitter, together using APIs.)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2011/09/23/what-is-a-content-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Web API Publishing Platform</title>
		<link>http://seabourneinc.com/2011/09/22/the-web-api-publishing-platform/</link>
		<comments>http://seabourneinc.com/2011/09/22/the-web-api-publishing-platform/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 23:55:30 +0000</pubDate>
		<dc:creator>Mike Reich</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Concepts]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=540</guid>
		<description><![CDATA[The web is evolving. Gone are the days where the HTML web was the sole means of viewing content online. Today, people access content through various media and devices. A consumer may interact with Facebook by visiting the Facebook.com website, launching the Facebook iOS app on their phone, getting Facebook text messages and emails automatically, [...]]]></description>
			<content:encoded><![CDATA[<p>The web is evolving. Gone are the days where the HTML web was the sole means of viewing content online. Today, people access content through various media and devices. A consumer may interact with Facebook by visiting the Facebook.com website, launching the Facebook iOS app on their phone, getting Facebook text messages and emails automatically, and cross posting to Facebook automatically from their twitter account. </p>
<p>Content publishers, whether news organizations or government agencies, want to be positioned to provide users an online experience regardless of device or media.  Using traditional online publishing systems is going to be expensive, inflexible and expensive to develop.</p>
<h2>A Platform Approach</h2>
<p>But there is another way: content owners can plan to use a web platform, rather than websites.  Web platforms easily scale to support multiple devices and multiple data sources, ensuring that an organizations online presence can target multiple audiences with the latest technology.</p>
<p>To be clear, the word ‘platform’ in this case doesn’t mean a large proprietary system.  Rather, we think of a platform as a loosely coupled set of technologies that communicate via open API standards.  Think of it as a design approach you can use with any existing set of applications, rather than a product.</p>
<p>The platform approach to designing systems has several advantages:</p>
<ul>
<li><strong>Leverage existing systems and applications</strong>: Your organization has likely invested a lot of time and money in your existing infrastructure.  Using open standards means that you can continue to leverage your existing systems and tools, assuming they work for you.  The power of the platform approach is in tying disparate applications together into a coherent system.</li>
<li>
<strong>Extensible</strong>: As your organization grows and you will add new technologies, databases or applications.  With a platform based on open API standards and with everything loosely coupled, integrating new systems into the platform is simple.</li>
<li>
<strong>Easy for Developers</strong>: The use of open standards means that you can use the best tool for the job to develop user-facing applications.  Rather than being tied to a particular vender’s technology stack, you can use whichever tool is right for your users, and still access the content.</li>
</ul>
<h2>Components of an API Web Publishing Platform</h2>
<p>Any API web publishing platform has three main components: a data source, a content management system, and a user interface.  In an API-based platform, there can be one or many of each component.  The glue that holds these different components together are the APIs based on open standards.  Which API doesn’t particularly matter, as long as its an open technology that can be implemented across vendor stacks.</p>
<div style='align: center;'><a href="http://seabourneinc.com/wp-content/uploads/2011/09/api_system_diagram.png"><img src="http://seabourneinc.com/wp-content/uploads/2011/09/api_system_diagram.png" alt="" title="api_system_diagram" width="418" height="130" class="aligncenter size-full wp-image-843" /></a></div>
<ul>
<li><strong>Data Source</strong>:  Data sources are the repositories of content.  Traditionally, these have been large databases housed in the back office of an organization, accessible only via a direct connection.  Accessing these data via an API, without requiring the data to be moved from the legacy store to a new physical structure will save substantial money and time.  Going forward, data sources are just as likely to be APIs as they are discrete databases.  In the platform approach, all data sources, no matter what the storage solution, are exposed and consumed as APIs.</li>
<li>
<strong>Content Management System</strong>:  The primary role of the content management system is to organize content.  Content is only useful when users can find it, and the content management system builds out a layer of relationships and organization between content that makes it discoverable.  </li>
<li>
<strong>User Interface</strong>: The user interface is the part of the platform that presents the content from the data sources, and exposes the organization of the content management system to users.  The user interface doesn’t have to be on the same system as the content management system.  In fact, in holding with the goal of using the right tool for the job, the user interface should be built in whatever language will best suit your users.</li>
</ul>
<h2>More on APIs</h2>
<p>What makes the platform approach work, the glue that holds everything together, are Open APIs.  Open APIs are basically any mechanism for transferring machine readable information that anyone can implement.  The last part is really the key to the platform approach.  To ensure that your current and future systems can interoperate, they need to be able to talk to each other.  A vendor specific transport protocol means that you are locked into a specific set of technologies and applications, and this drives up costs.  </p>
<h2>Opportunities</h2>
<p>Organizations seeking to expose content in established databases, as well as those who are establishing new data stores may want to consider the API Platform approach.  It can minimize expensive, delayed projects focused on building monolithic systems and frees the task of delivering of content from proprietary methods.  It makes exposing legacy data that is currently unavailable on the web easy and simple to do.</p>
<p>Moreover, developers utilizing an API Platform on both publishing and delivery ends will enjoy significant benefits when combining and processing content.  The really exciting opportunities come from have a flexible architecture that supports innovation by embracing flexibility and easy access to information.</p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2011/09/22/the-web-api-publishing-platform/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Announcing the Content API Drupal Module</title>
		<link>http://seabourneinc.com/2011/09/19/announcing-the-content-api-drupal-module/</link>
		<comments>http://seabourneinc.com/2011/09/19/announcing-the-content-api-drupal-module/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 13:20:53 +0000</pubDate>
		<dc:creator>Mike Reich</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://seabourneinc.com/?p=825</guid>
		<description><![CDATA[Today, we’re happy to announce the release of our first contribution to the Drupal community: the Content API Module. This module was developed as part of our redesign of the FCC website using Drupal. Steven VanRoekel talked a lot about how the new FCC.gov is built on web services. This module contains the code that [...]]]></description>
			<content:encoded><![CDATA[<p>Today, we’re happy to announce the release of our first contribution to the Drupal community: the <a href="http://drupal.org/project/contentapi">Content API Module</a>.  This module was developed as part of our redesign of the <a href="/projects/fcc">FCC</a> website using Drupal.  Steven VanRoekel talked a lot about how the new <a href="http://www.fcc.gov">FCC.gov</a> is <a href="http://radar.oreilly.com/2011/04/fcc-website-reboot-open-source-cloud.html">built on web services</a>.  This module contains the code that made this possible. </p>
<p>VanRoekel is the former managing director at FCC who oversaw the new FCC website, and was just named the US Fed CIO.</p>
<p>The Content API module is a drop-in solution that publishes Drupal content as web APIs.  The module includes a full featured administration interface for choosing which content types and fields to publish.   Built on top of the Services module, the module provides all you need to publish web APIs without having to do any programming, even as your site structure and content changes over time.</p>
<p>Publishing your Drupal content as web APIs makes it accessible to any application or platform, while allowing you to continue leveraging Drupal’s strengths as a great Content Management System.  Using Drupal and the Content API module, you can create a publishing platform that includes multiple websites, applications and mobile apps, all using Drupal as a single source of content.</p>
<p>We’re obviously <a href="http://seabourneinc.com/2011/08/11/the-case-for-content-apis/">big fans of serving content as APIs</a>, so this is an exciting release.  With many other government websites running Drupal, its an opportunity to get a lot of public domain content available immediately as APIs.  </p>
]]></content:encoded>
			<wfw:commentRss>http://seabourneinc.com/2011/09/19/announcing-the-content-api-drupal-module/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 11/18 queries in 0.009 seconds using disk: basic

Served from: seabourneinc.com @ 2012-02-05 21:37:13 -->
