<?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>Brock @ Nitobi</title>
	<atom:link href="http://blogs.nitobi.com/brock/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.nitobi.com/brock</link>
	<description></description>
	<lastBuildDate>Thu, 05 Nov 2009 16:40:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>BookRiff Design Philosophy &#8211; part 1</title>
		<link>http://blogs.nitobi.com/brock/2009/11/05/bookriff-design-philosophy-part-1/</link>
		<comments>http://blogs.nitobi.com/brock/2009/11/05/bookriff-design-philosophy-part-1/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 16:21:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[bookriff]]></category>

		<guid isPermaLink="false">http://blogs.nitobi.com/brock/?p=37</guid>
		<description><![CDATA[
For those who do not know, BookRiff is an online web application that gives you the ability to build a book in real-time using nearly any kind of content. You can then have it printed and shipped to your door.
To build a book you may upload pdfs, word docs, text files, or search and import [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blogs.nitobi.com/brock/wp-content/uploads/2009/11/br-part1.jpg" alt="br-part1" title="br-part1" width="670" height="250" class="aligncenter size-full wp-image-36" /></p>
<p>For those who do not know, <a href="http://bookriff.com">BookRiff</a> is an online web application that gives you the ability to build a book in real-time using nearly any kind of content. You can then have it printed and shipped to your door.</p>
<p>To build a book you may upload pdfs, word docs, text files, or search and import web content, clone other peoples content or just write from scratch using a rich text editor.</p>
<p>To say there are several moving parts to give you this flexibility would be a huge understatement. When we began this project we were without certainty that it would even be possible to build this system. Three important concepts have been key in getting BookRiff to where it is today. <strong>Modularity</strong>, <strong>Agnosticism</strong>, and <strong>Simplicity</strong>.</p>
<h2>Modularity</h2>
<p>When you get the opportunity to use BookRiff you will hopefully think to yourself &#8220;hey, this is pretty simple&#8221;. Thats what we want you to think but in reality BookRiff is taking your content on a great journey to get it into the BookRiff system and give you an accurate preview on your screen. Example of what we must deal with when accepting a pdf file&#8230;</p>
<ul style="padding-left:20px">
<li>check for fonts embedded</li>
<li>check/strip DRM</li>
<li>scrape out text for search indexing</li>
<li>remove padding</li>
<li>calculate number of pages the content takes up once in a riff</li>
<li>calculate where in your Riff content shows up (and what page it starts on)</li>
<li>modify table of contents and attributions with appropriate data</li>
<li>generate preview-able images</li>
<li>backup files</li>
</ul>
<p>As you can see there are a lot of considerations. These vary slightly for each file format that we support, and is different again when dealing with web or written content. Keep in mind that we are offering a real-time experience so doing this all behind the scenes and allowing the user to focus on their creativity is key which can add more complexity. Our solution? Keep everything as modular as possible.</p>
<p>We have developed a state machine that takes each file through a series of steps that all perform very discreet, simple tasks. Each step does one thing and one thing only. This allows us to swap one tool out for another without affecting the rest of the system. For example, we could find a Jar that does a better job of bursting that the command line tool that we currently use.<br />
<img src="http://blogs.nitobi.com/brock/wp-content/uploads/2009/11/br-modularity.gif" alt="br-modularity" title="br-modularity" width="540" height="270" class="aligncenter size-full wp-image-47" style="margin-top:20px" /></p>
<p>Every step in our system expects something very specific and outputs something specific. Even the state machine as a whole can be (and has been) re-factored for a better architecture without too much effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.nitobi.com/brock/2009/11/05/bookriff-design-philosophy-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unofficial announcement of PhoneGap</title>
		<link>http://blogs.nitobi.com/brock/2008/08/07/unofficial-announcement-of-phonegap/</link>
		<comments>http://blogs.nitobi.com/brock/2008/08/07/unofficial-announcement-of-phonegap/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 05:50:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://blogs.nitobi.com/brock/?p=3</guid>
		<description><![CDATA[
Flying back to Vancouver after attending the iPhone Dev Camp in San Francisco. With me was Rob Ellis and Andre Charland. We went down with one goal in mind and that was to make native iphone features available to web apps. To say we are pleased with our results is a huge understatement. We have [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm4.static.flickr.com/3224/2729124826_39531f2f09.jpg" alt="working on GAP and a few beers" width="500" height="332" /></p>
<p>Flying back to Vancouver after attending the iPhone Dev Camp in San Francisco. With me was Rob Ellis and Andre Charland. We went down with one goal in mind and that was to make native iphone features available to web apps. To say we are pleased with our results is a huge understatement. We have managed to take care of all the Objective-C for you to empower you to build native-like web apps using purely web technologies.</p>
<p>PhoneGap</p>
<p>What we have done is embedded webkit into a native Objective-C application and built a javascript API that calls the native iphone functions such as geo location and accelerometer. You now really can write rich iphone applications without writing a single line of Objective-C.</p>
<p>iPhone Dev Camp</p>
<p>Adobe did a fantastic job, Hosting a dev camp of top form and the developers at the camp came through in a big way. A huge thanks goes to Eric who wrote most of the Objective-C for PhoneGap and Rockstar Brad for pitching in when we had some technical projects. Open source works people. This weekend proves it and that is why PhoneGap is released under the MITÂ license. <a title="phonegap source" href="http://github.com/sintaxi/phonegap/tree/master" target="_blank">You can get the source here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.nitobi.com/brock/2008/08/07/unofficial-announcement-of-phonegap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

