<?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>Alex Fajkowski &#187; coverflow</title>
	<atom:link href="http://fajkowski.com/blog/tag/coverflow/feed/" rel="self" type="application/rss+xml" />
	<link>http://fajkowski.com/blog</link>
	<description>Software and other interesting stuff…</description>
	<lastBuildDate>Fri, 23 Jul 2010 20:20:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>OpenFlow: a CoverFlow API replacement for the iPhone</title>
		<link>http://fajkowski.com/blog/2009/08/02/openflow-a-coverflow-api-replacement-for-the-iphone/</link>
		<comments>http://fajkowski.com/blog/2009/08/02/openflow-a-coverflow-api-replacement-for-the-iphone/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 19:47:52 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[coverflow]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[openflow]]></category>

		<guid isPermaLink="false">http://fajkowski.com/blog/?p=115</guid>
		<description><![CDATA[When I released my first iPhone app, Presenter, two months ago, Apple accused me of using their private iPhone CoverFlow API. After appealing to Apple &#038; writing a blog post about my roadblock, Apple reversed their decision. Today at iPhoneDevCamp, I am releasing OpenFlow&#8211;a free, open source replacement for Apple&#8217;s private CoverFlow API. The initial [...]]]></description>
			<content:encoded><![CDATA[<p>When I released my first iPhone app, Presenter, two months ago, <a href="http://fajkowski.com/blog/2009/05/21/clicker-app-rejected-for-coverflow-private-api-use/">Apple accused me of using their private iPhone CoverFlow API</a>. After appealing to Apple &#038; writing a blog post about my roadblock, Apple reversed their decision.</p>
<p>Today at <a href="http://www.iphonedevcamp.org/">iPhoneDevCamp</a>, I am releasing <a href="http://apparentlogic.com/openflow">OpenFlow</a>&#8211;a free, open source replacement for Apple&#8217;s private CoverFlow API. The initial release is simple, but it is also efficient and very fast, even on first generation iPhones.</p>
<p>Go get the code here:<br />
<a href="http://apparentlogic.com/openflow">http://apparentlogic.com/openflow</a></p>
<p>The API should be easy to include in your own program. The main class, <code>AFOpenFlowView</code>, is a subclass of <code>UIView</code>.<br />
To use this in your own project:</p>
<ul>
<li>Add the OpenFlow source code to your project. </li>
<li>Add the <code>QuartzCore</code> and <code>CoreGraphics</code> frameworks.</li>
<li>Import &#8220;<code>AFOpenFlowView.h</code>&#8221; &#038; interact with it as you would a normal <code>UIView</code>.</li>
<li>You should implement both the <code>AFOpenFlowViewDelegate</code> and <code>AFOpenFlowViewDataSource</code> protocols. </li>
</ul>
<p>Currently, the delegate protocol is used to let your code know when the user selected a new object. The datasource protocol is called when <code>AFOpenFlowView</code> needs a <code>UIImage</code> object. This method should be *fast*. Don&#8217;t do <code>NSURL</code> requests or even disk access in this method. See the AFOpenFlowDemo app I provided for an example how to load images from a remote server. The datasource also needs to provide a default <code>UIImage</code>.</p>
<p>At any point, you can set <code>UIImage</code>&#8216;s on your <code>AFOpenFlowView</code>. You don&#8217;t need to wait for the datasource protocol to ask you. Your <code>AFOpenFlowView</code> will start displaying images as soon as you call <code>setNumberOfImages</code>.</p>
<p><a href="http://fajkowski.com/blog/wp-content/uploads/2009/08/OpenFlowDemo.png"><img src="http://fajkowski.com/blog/wp-content/uploads/2009/08/OpenFlowDemo-300x161.png" alt="OpenFlow Demo" title="OpenFlow Demo" width="300" height="161" class="alignnone size-medium wp-image-120" /></a></p>
<p>This is an initial release of OpenFlow. I licensed it under the liberal MIT open source license.<br />
Please drop me a line to let me know what you think &#038; where you want the project to go from here.</p>
<p>The source code for both OpenFlow and the AFOpenFlowDemo project are currently available as a zip files, hosted locally. For the demo application, you will need to register for a Flickr API key and secret. If you try to compile the demo, you will quickly find the error message where your Key &#038; Secret should be added. </p>
<p>I will be moving this code to an online repository in the very near future.</p>
<p>Enjoy!<br />
-Alex</p>
]]></content:encoded>
			<wfw:commentRss>http://fajkowski.com/blog/2009/08/02/openflow-a-coverflow-api-replacement-for-the-iphone/feed/</wfw:commentRss>
		<slash:comments>5</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

Served from: fajkowski.com @ 2012-05-18 09:56:31 -->
