<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>deeje.com/musings</title>
    
    <link rel="alternate" type="text/html" href="http://blog.deeje.tv/musings/" />
    <id>tag:typepad.com,2003:weblog-4351</id>
    <updated>2013-04-09T07:09:28-07:00</updated>
    <subtitle>deeje cooley in random-access mode…</subtitle>
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/deeje/musings" /><feedburner:info uri="deeje/musings" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>37.770937</geo:lat><geo:long>-122.442763</geo:long><logo>http://homepage.mac.com/deeje/music/2d-eeje.jpg</logo><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><entry>
        <title>tappr.tv roadmap, Spring 2013</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/Bsv4UU41AQI/tapprtv-roadmap-spring-2013.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2013/04/tapprtv-roadmap-spring-2013.html" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef017d42a7a19e970c</id>
        <published>2013-04-09T07:09:28-07:00</published>
        <updated>2013-04-09T07:13:09-07:00</updated>
        <summary type="html">So far, I've released 6 major versions of tappr.tv, with each release having a specific theme: Wands = the basic input-output architecture Loops = recording and playing back tracks Dances = recording and playing back in time with a song...</summary>
        <author>
            <name>deeje</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Code" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="iPhone" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;So far, I've released 6 major versions of tappr.tv, with each release having a specific theme:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Wands = the basic input-output architecture&lt;/li&gt;
&lt;li&gt;Loops = recording and playing back tracks&lt;/li&gt;
&lt;li&gt;Dances = recording and playing back in time with a song&lt;/li&gt;
&lt;li&gt;Community 1.0 = publish dances and subscribe to favorite artists&lt;/li&gt;
&lt;li&gt;Effects and Inputs = symmetry mode and audio in&lt;/li&gt;
&lt;li&gt;Live 1.0 = dynamic BPM-based loops, network IO for real-time multi-device input&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I'm working on a 6.2 release that modernizes the code, fixes some critical bugs, and addresses a few minor UI needs, but otherwise doesn't offer any significant new theme.&lt;/p&gt;
&lt;p&gt;After that, I've got several big themes to tackle. &amp;nbsp;In no particular order beyond the first:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remix&lt;/li&gt;
&lt;li&gt;Playlists&lt;/li&gt;
&lt;li&gt;Wands&lt;/li&gt;
&lt;li&gt;Community 2.0&lt;/li&gt;
&lt;li&gt;iRadio&lt;/li&gt;
&lt;li&gt;Apple TV&lt;/li&gt;
&lt;li&gt;3D&lt;/li&gt;
&lt;li&gt;Web&lt;/li&gt;
&lt;li&gt;Live 2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;Below are mini specs for each of these. Beyond Remix, I'm open to suggestions on the order.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;h2&gt;Remix (v7)&lt;/h2&gt;
&lt;p&gt;Allows a user to dynamically "join" a dance in the Theater, and auto publish a remix&lt;/p&gt;
&lt;p&gt;Allows a user to manually remix a dance = make a new dance by including tracks from other dances (to the same song)&lt;/p&gt;
&lt;p&gt;When remixing a dance and user is original publisher, user is asked whether to prepare a new version or a remix&lt;/p&gt;
&lt;p&gt;Before publish, check that all the tracks are NOT by just one dancer&lt;/p&gt;
&lt;p&gt;On activity (publish/rating/sharing), send a push notification to each included&amp;nbsp;dancer&lt;/p&gt;
&lt;p&gt;Theater grid cell must be updated to expose the dancers&lt;/p&gt;
&lt;p&gt;Theater dance (grid cell and/or&amp;nbsp;stage) must have a details view&lt;/p&gt;
&lt;p&gt;Dance versions = user (or admin) can publish a new version of a dance with changes to song or track list&lt;/p&gt;
&lt;p&gt;When updating subscriptions, handle updated dance versions&lt;/p&gt;
&lt;p&gt;Add minimum app version info to published dances&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Playlists&lt;/h2&gt;
&lt;p&gt;Need a new UI that allows for many lists&lt;/p&gt;
&lt;p&gt;Lists can be manual or smart&lt;/p&gt;
&lt;p&gt;Manual list = user can add and remove specific dances&lt;/p&gt;
&lt;p&gt;Smart list = user can define predicates that query the server, can remember last date to automatically get deltas&lt;/p&gt;
&lt;p&gt;Lists can be published and subscribed&lt;/p&gt;
&lt;p&gt;All new users create and publish a list, e.g. name = "deeje's 4 star ratings" dance, where user = user, rating &amp;gt;= 4 stars&lt;/p&gt;
&lt;p&gt;All new users get subscribed to "deeje's 4 star ratings".&lt;/p&gt;
&lt;p&gt;Published lists generate smart push notifications when going into background, e.g. "deeje's 4 star ratings list just got 4 new dances"&lt;/p&gt;
&lt;p&gt;All the lists in Theater become pre-defined playlists&lt;/p&gt;
&lt;p&gt;Studio is also a set of lists. Can Studio and Theater also be combined into one?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Wands&lt;/h2&gt;
&lt;p&gt;wand maker UI = expose many of the properties of wands for user editing&lt;/p&gt;
&lt;p&gt;Wand single-touch behavior property = point, line,&amp;nbsp;circle&lt;/p&gt;
&lt;p&gt;User Wands Playlist = each user gets a&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Non pro users only allowed 3 new wands per week, 12 total. All pro users can create as many as they want.&lt;/p&gt;
&lt;p&gt;Non pro users get local push notifications for 4 weeks.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Community 2.0&lt;/h2&gt;
&lt;p&gt;Builds on Playlists and Wands&lt;/p&gt;
&lt;p&gt;Tags = allow user to add tags to a dance&lt;/p&gt;
&lt;p&gt;Followers?&lt;/p&gt;
&lt;p&gt;ADN?&lt;/p&gt;
&lt;p&gt;Newsletter? need to add UX to first launch and settings&lt;/p&gt;
&lt;p&gt;Twitter Cards?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;iRadio&lt;/h2&gt;
&lt;p&gt;Add support for iRadio,&amp;nbsp;Rdio, Deezer, Grooveshark&lt;/p&gt;
&lt;p&gt;Incorporate into artist subscriptions&lt;/p&gt;
&lt;p&gt;Rework the first launch UX for this&lt;/p&gt;
&lt;p&gt;Add support for whatever Apple does&lt;/p&gt;
&lt;p&gt;Fall back to these services for song thumbnails&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;AppleTV&lt;/h2&gt;
&lt;p&gt;A version of the tappr.tv UX that works within the AppleTV SDK.&lt;/p&gt;
&lt;p&gt;It wouldn't have the studio interface, but it would have the theater auto-remix feature&lt;/p&gt;
&lt;p&gt;And it would have the network IO so that users could pull out an iPhone, &amp;nbsp;put it into Wand mode, and dynamically join the dance&lt;/p&gt;
&lt;p&gt;And it would hopefully have iRadio&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;3D&lt;/h2&gt;
&lt;p&gt;Wands now include a z parameter, normalized just like x and y&lt;/p&gt;
&lt;p&gt;Inputs can be configured to route their inputs to specific wand attributes.&lt;/p&gt;
&lt;p&gt;Composite touch pads = combine 2 or more inputs, e.g. two touch pads to control 3D, or several touch pads for a drum kit.&lt;/p&gt;
&lt;p&gt;Tracks can also bounded and oriented within the 3D space&lt;/p&gt;
&lt;h2&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;Web&lt;/h2&gt;
&lt;p&gt;Implement the playback engine&amp;nbsp;using WebGL&lt;/p&gt;
&lt;p&gt;Use RESTful versions of Rdio, Deezer, Grooveshark, et al for the dance song&lt;/p&gt;
&lt;p&gt;Allow visitors to rate and share, optionally becoming members&lt;/p&gt;
&lt;p&gt;Home page would have a radio-like experience&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Live 2.0&lt;/h2&gt;
&lt;p&gt;Allow Live dance stages to be persisted and published&lt;/p&gt;
&lt;p&gt;OSC input = allow external OSC masters to trigger specific loops&lt;/p&gt;
&lt;p&gt;WIST support = allow master to synchronize BPM and timing&lt;/p&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Bsv4UU41AQI:uvURwb8SmHs:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Bsv4UU41AQI:uvURwb8SmHs:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Bsv4UU41AQI:uvURwb8SmHs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Bsv4UU41AQI:uvURwb8SmHs:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Bsv4UU41AQI:uvURwb8SmHs:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Bsv4UU41AQI:uvURwb8SmHs:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Bsv4UU41AQI:uvURwb8SmHs:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Bsv4UU41AQI:uvURwb8SmHs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Bsv4UU41AQI:uvURwb8SmHs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/Bsv4UU41AQI" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2013/04/tapprtv-roadmap-spring-2013.html</feedburner:origLink></entry>
    <entry>
        <title>Extreme Core Data - 61 NSFetchedResultsControllers in one view</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/XBxVtZ0Xr1M/extreme-core-data-61-nsfetchedresultscontrollers-in-one-view.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2013/02/extreme-core-data-61-nsfetchedresultscontrollers-in-one-view.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef017ee8758c8e970d</id>
        <published>2013-02-12T11:10:49-08:00</published>
        <updated>2013-02-12T11:10:49-08:00</updated>
        <summary type="html">Ever since I got into app development (4 years ago now), I've had the mindset that "no app is an island", and that apps should be in constant contact with a cloud. This invariably means designing and developing clients using...</summary>
        <author>
            <name>deeje</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Code" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="iPhone" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Ever since I got into app development (4 years ago now), I've had the mindset that "no app is an island", and that apps should be in constant contact with a cloud.  This invariably means designing and developing clients using Core Data and domain-specific synchronization engines.  One of my most sophisticated examples so far is &lt;a href="http://thirst.co"&gt;Thirst&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="http://thirst.co"&gt;Thirst&lt;/a&gt; is a different kind of news reader, one that marries natural language processing (NLP) and machine learning (ML) to quickly and seamlessly present the most compelling topical news to an individual reader at any given moment.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;In this post, I want to focus on the power of NSFetchedResultsControllers in presenting rich data views.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;When it comes to news readers, one of the key features for me is the ability to quickly and easily understand what's new.  In Thirst, we do this with the subtle concept called item freshness, much like RSS aggregators of old, and Mail.app. This is what a typical Thirst newspaper view looks like:&lt;/p&gt;&#xD;
&#xD;
&lt;img style="display:block; margin-left:auto; margin-right:auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef017c36d28b91970b-pi" alt="Thirst Newspaper View" title="ThirstNewsPaper.png" border="0" width="450" height="600"&gt;&lt;/img&gt;&#xD;
&#xD;
&lt;p&gt;The newspaper consists of 20 topics, arranged in a newspaper-y grid, where each topic shows an image, title, and a series of thumbnails. Each thumbnail represents a fresh comment, tweet, or news article related to that topic.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Touching on a topic brings up a topic detail view like this:&lt;/p&gt;&#xD;
&#xD;
&lt;img style="display:block; margin-left:auto; margin-right:auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef017c36d28bad970b-pi" alt="Thirst Topic Detail" title="ThirstTopicDetail.png" border="0" width="600" height="450"&gt;&lt;/img&gt;&#xD;
&#xD;
&lt;p&gt;Now as the user peruses and reads the various items in the topic, they are marked as "stale": the numbers dynamically go down in the topic detail view, and the thumbnails dynamically disappear from the topic in the newspaper view.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;This is, of course, accomplished using NSFetchedResultsControllers from Core Data.  I won't go into the basic of using NSFetchedResultsControllers, as there are plenty of gifted writers who have covered this, such as &lt;a href="http://www.raywenderlich.com/999/core-data-tutorial-how-to-use-nsfetchedresultscontroller"&gt;Ray Wenderlich&lt;/a&gt; and &lt;a href="http://maniacdev.com/2010/01/core-data-nsfetchedresultscontroller/"&gt;Marcus Zarra&lt;/a&gt;.  Instead, I'd like to articulate the power of Core Data thru numbers:&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Model classes represent 100s of comments, chatter, and news articles, with relationships to 1 or more topics.&lt;/li&gt;&#xD;
&lt;li&gt;The newspaper uses an NSManagedObjectContent (MOC) and NSFetchedResultsController (FRC) to find all the "active" topics, as defined by our NLP server.&lt;/li&gt;&#xD;
&lt;li&gt;Each found topic is represented by a topic box object. There are always 20 topics in the newspaper.&lt;/li&gt;&#xD;
&lt;li&gt;Each topic box has its own MOC as well as 3 FRCs to find all the related model entities for that topic.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;So, that's a &lt;strong&gt;total of 21 MOCs and 61 FRCs for the one newspaper view&lt;/strong&gt;.  And the performance is buttery smooth.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The take-away here is the MOCs and FRCs are fairly cheap constructs, and you shouldn't be afraid to use them liberally in your code, if the use case warrants it.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;There are few more details to achieving this performance:&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Each topic box MOC is a private queue context, so that fetching the results and detecting changes all happen in the background.&lt;/li&gt;&#xD;
&lt;li&gt;The thumbnail display in each topic box is assembled via an NSOperation on a shared NSOperationQueue.&lt;/li&gt;&#xD;
&lt;li&gt;None of this would have been possible if it weren't for Michael Heyeck's write up of &lt;a href="http://www.mlsite.net/blog/?p=518"&gt;faulting model objects during MOC merging&lt;/a&gt;.&lt;/li&gt;&#xD;
&lt;li&gt;In the topic detail view, the various tabs indicate how many fresh items are available.  Rather than reconstruct the same set of FRCs for each relationship, the tabs use KVO on the topic boxes.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=XBxVtZ0Xr1M:HM9_z-V_DoM:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=XBxVtZ0Xr1M:HM9_z-V_DoM:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=XBxVtZ0Xr1M:HM9_z-V_DoM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=XBxVtZ0Xr1M:HM9_z-V_DoM:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=XBxVtZ0Xr1M:HM9_z-V_DoM:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=XBxVtZ0Xr1M:HM9_z-V_DoM:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=XBxVtZ0Xr1M:HM9_z-V_DoM:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=XBxVtZ0Xr1M:HM9_z-V_DoM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=XBxVtZ0Xr1M:HM9_z-V_DoM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/XBxVtZ0Xr1M" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2013/02/extreme-core-data-61-nsfetchedresultscontrollers-in-one-view.html</feedburner:origLink></entry>
    <entry>
        <title>How tappr.tv Is Made</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/ibxpAitaqGk/how-tapprtv-is-made.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2012/10/how-tapprtv-is-made.html" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef017d3d112d40970c</id>
        <published>2012-10-28T13:16:35-07:00</published>
        <updated>2012-10-28T13:16:35-07:00</updated>
        <summary type="html">tappr.tv is all about community, and ultimately about building beautiful experiences together. In that spirit, tappr.tv itself is built using a wide assortment of open source projects, kits, and frameworks, without which I couldn't do what I do. Version 5...</summary>
        <author>
            <name>deeje</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Code" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="iPhone" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Mobile" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Technology" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;tappr.tv is all about community, and ultimately about building beautiful experiences together. In that spirit, tappr.tv itself is built using a wide assortment of open source projects, kits, and frameworks, without which I couldn't do what I do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Version 5 was built in part using&lt;/strong&gt;:&lt;/p&gt;

&lt;table cellspacing=10&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt;&lt;strong&gt;QuickTIme&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No, there's no QuickTime inside tappr.tv.  But ever since I learned about this fantastic temporal framework, I've been fascinated with the idea of tools and communities for music visuals.  tappr.tv is the culmination of my thoughts spanning almost 15 years.&lt;br/&gt;
&lt;br/&gt;
Inspired by the filmstrip concepts of QT, a "dance" in tappr.tv ultimately boils down to a long list of events.  "Inputs" normalize data from various hardware services, "recorders" capture and play back those event streams, and "outputs" render.  All the parts are loosely coupled, making it easier to leverage into new feature directions.&lt;br/&gt;&amp;#160;
&lt;td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt;&lt;strong&gt;UIKit&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;I'm aiming the UI as be as invisible as possible.  One thing Photoshop did right in their UX is try to disappear.  The real genius of UIKit is all the input capabilities: touch, accelerometers, and audio are all enabled in v5, and more are already being built.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;OpenGL&lt;/strong&gt;&lt;br/&gt; &lt;strong&gt;Cocos2D&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;Particles-based wands are just the first feature when it comes to visuals.  By leveraging OpenGL, tappr.tv is prepared to add more wand types, more depth, and interactive spatial experiences.  I'm still on OpenGL and Cocos2D v1.x though, unsure if I can still render UIKit at the same time as the CCDirector in v2.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;CoreData&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;The structure of dances is rather complex, by design.  Each dance is comprised of 1 or more tracks of normalized input data, which is recorded by a user using a wand. By separating all these elements out, I'm laying the foundation for a future release of tappr.tv that includes a variety of Remix features.&lt;br/&gt;
&lt;br/&gt;
The granularity also enables sophisticated MVC architectures for various areas of the app.  For instance, the Studio has a list of tracks on the left, and a "stage" view on the right, where the various tracks can be touch recorded and played back.  Both views are actually using NSFetchedResultsControllers to dynamically detect changes.  So, changing the input or mirror attributes on the left get saved and propagated to the view on the right, which actually handles the implementation of those two features.  Creating a new track on the left similarly propagates to the right, where an appropriate CCLayer is instantiated and managed.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;Parse.framework&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;I've written several Heroku/RoR servers to work with iOS apps, and its laborious. Creating synchronization engines requires replicated schemas on both sides, and there are few general frameworks for creating truly asynchronous CoreData-Social model layers.&lt;br/&gt;
&lt;br/&gt;
When I finally got to the social release of tappr.tv (v4, Nov 2011), I probably spent a month staring at the task at hand, while also wondering if the brand new Parse team had the chops to deliver a solid platform.  I took a chance on them, and have been thrilled ever since.  Stupid simple schema development, support for synchronous APIs (YEAH!), server-side logic, REST/JSON for websites, third-party social authentication&amp;#8230; good good stuff.&lt;br/&gt;
&lt;br/&gt;
I'm particularly thrilled with their support for APNS and their "channels" feature. In tappr.tv, each artist has a channel, and as tappr.tv scans your music, subscribes you to the top 100 artists in your music collection.  Then when someone else publishes a dance to a song, a push notification is broadcast on that artist's channel.  Similarly, each user in tappr.tv has her own push channel, so when others watch, rate, and share dances, tappr.tv sends a push notification back to that user.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;NSOperations&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;Because of the complexity of a dance structure, I needed to write rather complex synchronization logic, which was best accomplished using NSOperations as wrappers for long strings of synchronous calls to Parse.  For instance, publishing a dance involves up to 3 network saves for song and artist info, up to 6 network saves per track, and 2 additional network saves for the dance record itself. I just can't imagine how complex this 11-step pseudo-transactional logic would be if I had to string together a set of asynchronous calls with delegate+selector or block-based callbacks.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;AQGridView&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;This class enabled so many of us to jump into iPad with experiences like Apple's updated apps demonstrated.  Of course, now that Apple has released UICollectionView, AQ and I must bid adieu soon.  Big kudos to Alan Quatermain for releasing this grid implementation.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;Spotify&lt;/strong&gt; &lt;br/&gt; &lt;strong&gt;CocoaLibSpotify&lt;/strong&gt; &lt;br/&gt; &lt;strong&gt;AirPlay&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;In tappr.tv, Spotify premium members can watch just about any dance in the Theater. tappr.tv uses song information in each published dance to find a matching song in Spotify, and choreographs the two. This, along with continuous playback and AirPlay support, brings a dance party to any room in the house.&lt;br/&gt;
&lt;br/&gt;(One aside, sometimes songs disappear from Spotify for reasons I can probably understand, and then the match results may only contain covers or parodies, which can make dances either somewhat or entirely off. C'est la vie.)&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;David Cairns&lt;/strong&gt; &lt;br/&gt; &lt;strong&gt;Demetri Miller&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;These two gents provided source online that enabled the tappr.tv audio input feature. In the Studio, I convert songs from iTunes into a local audio file, then set up an AU chain in order to play and detect at the same time.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;MGSplitViewController&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;I was drawn to this class because it would work inside a UINavigationViewController, thus enabling me to have different UXs in certain areas of the app.  I am, however, interested in developing a column-view navigation view controller, where the columns can adjust as they move from primary to indexed layers.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;ASIHTTP&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;This class provided a solid S3 API. But, as you probably know, its been superseded by the likes of AFNetworking.  I was so saddened to see the abuse the originator of this repository received.  I hope AllSeeing-i lives long and prospers.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;iVersion&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;stupid simple implementation of release notices with notes. The +load class method does all the work, so you literally just add the code to your project and you're done.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;JSONKit&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;Man, this JSON lib screamed in its day.  Like so many things though, Apple needed and did provide a native API, which will eventually take over.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;Mugunth&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;Some nice blocks-based categories for various Apple foundation and UI classes.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;InAppSettingsKit&lt;/strong&gt; &lt;br/&gt; &lt;strong&gt;QuickDialog&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;Used in the Settings area of the app.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;ShareKit&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;Kudos to all who contributed to this open source project, clearly a need and Apple seemed to agree with the overall approach to the API in iOS 6.&lt;br/&gt;&amp;#160;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;CMPopTipView&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;This is used in all of the bubbles that present themselves during the first launch UX.
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;Airship&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;This is what manages the store for Wand Packs.  Unfortunately, I am considering an entirely different approach to the freemium store UX.
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;Touchpose&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;For when I start giving demos on stage ;-)
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td valign="top" align="center"&gt; &lt;strong&gt;Trevor Harmon&lt;/strong&gt; &lt;/td&gt;
&lt;td&gt;Thanks for sharing with us the best way to resize images.
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;


&lt;p&gt;&lt;strong&gt;Coming in v6&lt;/strong&gt;:&lt;/p&gt;

&lt;h4&gt;AyncNetwork.framework&lt;/h4&gt;

&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ibxpAitaqGk:xpx6IrthsQU:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=ibxpAitaqGk:xpx6IrthsQU:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ibxpAitaqGk:xpx6IrthsQU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ibxpAitaqGk:xpx6IrthsQU:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ibxpAitaqGk:xpx6IrthsQU:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=ibxpAitaqGk:xpx6IrthsQU:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ibxpAitaqGk:xpx6IrthsQU:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ibxpAitaqGk:xpx6IrthsQU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=ibxpAitaqGk:xpx6IrthsQU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/ibxpAitaqGk" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2012/10/how-tapprtv-is-made.html</feedburner:origLink></entry>
    <entry><title type="text">Links for 2012-09-14 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/G99lhsTmUBI/deeje" /><updated>2012-09-15T00:00:00-07:00</updated><id>http://del.icio.us/deeje#2012-09-14</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://m.vetmed.iastate.edu/vetapps/Feline_Parasites.pdf"&gt;m.vetmed.iastate.edu/vetapps/Feline_Parasites.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.thecrimson.com/article/1963/5/3/riot-rebellion-pthe-statutes-of/"&gt;Riot &amp;amp; Rebellion | News | The Harvard Crimson&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/G99lhsTmUBI" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/deeje#2012-09-14</feedburner:origLink></entry><entry><title type="text">Links for 2012-09-12 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/W5YEiqJF7bs/deeje" /><updated>2012-09-13T00:00:00-07:00</updated><id>http://del.icio.us/deeje#2012-09-12</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.plosone.org/static/guidelines.action"&gt;PLOS ONE : accelerating the publication of peer-reviewed science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.plosone.org/static/authors.action"&gt;PLOS ONE : accelerating the publication of peer-reviewed science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.plosone.org/static/submissionInstructions.action"&gt;PLOS ONE : accelerating the publication of peer-reviewed science&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/W5YEiqJF7bs" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/deeje#2012-09-12</feedburner:origLink></entry><entry><title type="text">Links for 2012-09-10 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/KWHGvJLbvF0/deeje" /><updated>2012-09-11T00:00:00-07:00</updated><id>http://del.icio.us/deeje#2012-09-10</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.npr.org/templates/story/story.php?storyId=120844592"&gt;Is Gift-Giving Bad For The Economy? : NPR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/KWHGvJLbvF0" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/deeje#2012-09-10</feedburner:origLink></entry><entry><title type="text">Links for 2012-09-07 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/p2k2fccCl7M/deeje" /><updated>2012-09-08T00:00:00-07:00</updated><id>http://del.icio.us/deeje#2012-09-07</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.citiprogram.org/Default.asp"&gt;CITI Home Page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/p2k2fccCl7M" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/deeje#2012-09-07</feedburner:origLink></entry><entry><title type="text">Links for 2012-09-05 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/KQ1_FXampME/deeje" /><updated>2012-09-06T00:00:00-07:00</updated><id>http://del.icio.us/deeje#2012-09-05</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bioinformatics.org/biococoa/wiki/pmwiki.php"&gt;BioCocoa : Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.macinchem.org/blog/files/20b1c64bf8cd43e05dd82496b31300fb-953.php"&gt;MyGenome app for iPad | Mobile science, iOS, bioinformatics, iPad | Macs in Chemistry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ios-apps.findthebest.com/l/87622/SimAlign-1-0-2-Japan-Bioinformatics-KK"&gt;SimAlign 1.0.2 - Japan Bioinformatics KK Description and Download - iOS Apps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/KQ1_FXampME" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/deeje#2012-09-05</feedburner:origLink></entry><entry>
        <title>Rise of the Social Art Apps</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/PlQ_f8CWt2w/rise-of-the-social-art-apps.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2011/11/rise-of-the-social-art-apps.html" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef015436c56cb5970c</id>
        <published>2011-11-10T10:47:35-08:00</published>
        <updated>2011-11-10T10:47:35-08:00</updated>
        <summary type="html">There's a new class of apps emerging, what I call Social Art apps. These are apps that let you create something, then see and rate creations by others. Besides offering the tools to create, all of these apps allow you...</summary>
        <author>
            <name>deeje</name>
        </author>
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;There's a new class of apps emerging, what I call Social Art apps.  These are apps that let you create something, then see and rate creations by others.&lt;/p&gt;

&lt;p&gt;Besides offering the tools to create, all of these apps allow you to see and rate content by others from within the app itself and see leader boards of content and creators.  Many also allow you to comment and post links on social networks like Facebook and Twitter.&lt;/p&gt;

&lt;p&gt;Here are some of the more interesting ones:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;a href="http://itunes.apple.com/us/app/doodley-a-worldwide-drawing/id442598413?mt=8"&gt;&lt;img src="http://www.downloadatoz.com/resources/201109/07/imgs/doodley12_120x120.jpg" width="100" height="100"&gt;Doodley&lt;/a&gt;&lt;p&gt;medium: simple painting&lt;br/&gt;audience: kid-centric&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://itunes.apple.com/us/app/spray-can/id315215396?mt=8"&gt;&lt;img src="http://www.iphonelife.com/sites/iphonelife.com/files/pr_mac_com_imgs/1319715915spraycan-vector.png" wifth="100" height="100"&gt;Spray Can&lt;/a&gt;&lt;p&gt;medium: graffiti&lt;br/&gt; audience: youth&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://itunes.apple.com/us/app/sketch-club/id404414176?mt=8"&gt;&lt;img src="http://www.downloadatoz.com/resources/201110/07/imgs/sketch-club_178x178.jpg" width="100" height="100"&gt;Sketch Club&lt;/a&gt;&lt;p&gt;medium: drawings&lt;br/&gt; audience: serious painters&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://itunes.apple.com/us/app/mixel/id474254864?mt=8"&gt;&lt;img src="http://b.vimeocdn.com/ps/274/148/2741489_300.jpg" width="100" height="100"&gt;Mixel&lt;/a&gt;&lt;p&gt;medium: clip art&lt;br/&gt; audience: casual&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://itunes.apple.com/us/app/tappr.tv/id400751858?mt=8"&gt;&lt;img src="http://tappr.tv/tappr-app-icon.png" width="100" height="100"&gt;tappr.tv&lt;/a&gt;&lt;p&gt;medium: visuals for music&lt;br/&gt;audience: music fans&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=PlQ_f8CWt2w:phWEKeNJ0ac:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=PlQ_f8CWt2w:phWEKeNJ0ac:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=PlQ_f8CWt2w:phWEKeNJ0ac:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=PlQ_f8CWt2w:phWEKeNJ0ac:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=PlQ_f8CWt2w:phWEKeNJ0ac:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=PlQ_f8CWt2w:phWEKeNJ0ac:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=PlQ_f8CWt2w:phWEKeNJ0ac:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=PlQ_f8CWt2w:phWEKeNJ0ac:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=PlQ_f8CWt2w:phWEKeNJ0ac:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/PlQ_f8CWt2w" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2011/11/rise-of-the-social-art-apps.html</feedburner:origLink></entry>
    <entry>
        <title>tappr.tv Roadmap</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/KG2FdvLYezY/tapprtv-roadmap.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2011/10/tapprtv-roadmap.html" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef0153922c0dec970b</id>
        <published>2011-10-08T23:25:27-07:00</published>
        <updated>2011-10-10T12:20:00-07:00</updated>
        <summary type="html">I have a grand vision for tappr.tv, and I've been steadily working my way thru a roadmap to get there. Below are the various features of the roadmap. I'm thinking of incorporating a "Roadmap" panel inside of tappr.tv, so that...</summary>
        <author>
            <name>deeje</name>
        </author>
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I have a grand vision for tappr.tv, and I've been steadily working my way thru a roadmap to get there. Below are the various features of the roadmap. I'm thinking of incorporating a "Roadmap" panel inside of tappr.tv, so that you can vote on order of the features.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Wands (tappr.tv 1.0)&lt;/h2&gt;&#xD;
&lt;p&gt;Wands are the core of tappr.tv, something that responds to your taps and tilts by putting stuff on the screen.  The first generation of wands are based on a particle emitter engine with over a dozen parameters, leading a near-infinite variety of visual styles.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Tracks (tappr.tv 2.0)&lt;/h2&gt;&#xD;
&lt;p&gt;Tracks allow you to record and layer multiple wand motions on top of each other.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Dances (tappr.tv 3.0)&lt;/h2&gt;&#xD;
&lt;p&gt;Create tracks of wand motion recordings to your favorite songs.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Community (tappr.tv 4.0 - Coming Soon!)&lt;/h2&gt;&#xD;
&lt;p&gt;Join the tappr.tv community to publish your dances and subscribe to dances to your favorite musical artists.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Leaderboards&lt;/h2&gt;&#xD;
&lt;p&gt;Compete for the top spot on weekly, monthly, and all-time leader boards based on views, votes, and shares by the tappr.tv community.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Timeline&lt;/h2&gt;&#xD;
&lt;p&gt;See and edit your dances on a timeline for more precise creation.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Comments&lt;/h2&gt;&#xD;
&lt;p&gt;Add comments to dances, both yours and others, in the timeline.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Remix&lt;/h2&gt;&#xD;
&lt;p&gt;Like that bass track by another tappr.tv member, but want to do your own vocals? Create a remix that incorporates tracks by others along with tracks of your own.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Visual Effects&lt;/h2&gt;&#xD;
&lt;p&gt;Apply visual effects to tracks, such as echo, chorus, symmetry.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;3D&lt;/h2&gt;&#xD;
&lt;p&gt;Moving beyond wands in a single plane, be able to position and orient your wand recordings in a 3D space, and moving around that space while the dance is being played.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Wand Editor&lt;/h2&gt;&#xD;
&lt;p&gt;Ability to create and customize new particle wands, and dynamically change wands in tracks (e.g. alpha, size, color).&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Strings&lt;/h2&gt;&#xD;
&lt;p&gt;Wands that require two touch points, that react to your inputs in interesting ways.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Geometries&lt;/h2&gt;&#xD;
&lt;p&gt;Wands that are 3D shapes (spheres, cubes, etc), that react to your inputs in interesting ways.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Audio Input&lt;/h2&gt;&#xD;
&lt;p&gt;Create tracks of wand motions by singing along to your favorite songs.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Drummer Input&lt;/h2&gt;&#xD;
&lt;p&gt;Create tracks of wand motions by tapping the &lt;strong&gt;sides&lt;/strong&gt; of your iDevice.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Gyro Input&lt;/h2&gt;&#xD;
&lt;p&gt;Wave your iDevice around in the air to generate 3D wand motions&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Network Input&lt;/h2&gt;&#xD;
&lt;p&gt;Capture and present input from multiple paired iDevices, each using their own input methods.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Magic Backgrounds&lt;/h2&gt;&#xD;
&lt;p&gt;Generate and customize background tracks of wand motion automatically.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;VJ&lt;/h2&gt;&#xD;
&lt;p&gt;A mode in tappr.tv, comparable to Studio and Theater, that is customized for live and collaborate performances.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;OSC&lt;/h2&gt;&#xD;
&lt;p&gt;Integrate tappr.tv into your actual music studio to systematically animate your music.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;WIST support&lt;/h2&gt;&#xD;
&lt;p&gt;Korg's open source library for synchronizing several apps via BlueTooth.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Desktop Playback&lt;/h2&gt;&#xD;
&lt;p&gt;A tappr.tv music visualizer plugin that integrates with iTunes on your desktop.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Web Playback&lt;/h2&gt;&#xD;
&lt;p&gt;Ability to watch a dance via a web browser.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Programmable Wands&lt;/h2&gt;&#xD;
&lt;p&gt;Wands that can be defined using a scripting language such as Lua.&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=KG2FdvLYezY:dQBpK9XIpok:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=KG2FdvLYezY:dQBpK9XIpok:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=KG2FdvLYezY:dQBpK9XIpok:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=KG2FdvLYezY:dQBpK9XIpok:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=KG2FdvLYezY:dQBpK9XIpok:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=KG2FdvLYezY:dQBpK9XIpok:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=KG2FdvLYezY:dQBpK9XIpok:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=KG2FdvLYezY:dQBpK9XIpok:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=KG2FdvLYezY:dQBpK9XIpok:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/KG2FdvLYezY" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2011/10/tapprtv-roadmap.html</feedburner:origLink></entry>
    <entry><title type="text">Links for 2011-10-04 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/qSM3A_X6PSc/deeje" /><updated>2011-10-05T00:00:00-07:00</updated><id>http://del.icio.us/deeje#2011-10-04</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="None"&gt;None&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/qSM3A_X6PSc" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/deeje#2011-10-04</feedburner:origLink></entry><entry>
        <title>Seeking RoR engineer in SF</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/ZRGTROD_9Jc/seeking-ror-engineer-in-sf.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2011/06/seeking-ror-engineer-in-sf.html" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef01543309c415970c</id>
        <published>2011-06-15T13:32:46-07:00</published>
        <updated>2011-06-15T13:32:46-07:00</updated>
        <summary type="html">About Me I've been making software experiences for over 20 years, recently moved back to coding and into mobile. I've worked on numerous projects and have many of my own in the app store. All of mine have a mobile-cloud...</summary>
        <author>
            <name>deeje</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Code" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Games" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Investments" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="iPhone" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Music" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="SyncDev" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Technology" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;h2&gt;About Me&lt;/h2&gt;
&lt;p&gt;I've been making software experiences for over 20 years, recently moved back to coding and into mobile. I've worked on numerous projects and have many of my own in the app store.  All of mine have a mobile-cloud architecture to enable social experiences, and I'm fluent in iOS &amp;lt-&amp;gt RoR.  The goal of my latest project, http://tappr.tv, is to digitize our impulse to dance together to our favorite music, and I'm starting the next phase of adding a cloud layer.  I could do it myself, literally, but I now have motive enough to accelerate things significantly. You can learn more about me starting here http://deeje.com&lt;/p&gt;

&lt;h2&gt;About You&lt;/h2&gt;
&lt;p&gt;Ideally&amp;#8230; you've already built several mobile-cloud apps that are available in the app stores.  You have experience with Heroku, RoR, AWS, SendGrid, and APNS APIs.  You code fast and you code well.  You can estimate, communicate, and deliver. You live in SF and can commit to up to 2 months of full time work, the first 2 weeks of which will be dedicated to finalizing UX, architecture, and specs.&lt;/p&gt;  

&lt;p&gt;If this sounds interesting, ping me &lt;a href="mailto:deeje@tappr.tv"&gt;deeje@tappr.tv&lt;/a&gt; and let's meet in person to discuss.&lt;/p&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ZRGTROD_9Jc:OKwW7Z_Ijls:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=ZRGTROD_9Jc:OKwW7Z_Ijls:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ZRGTROD_9Jc:OKwW7Z_Ijls:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ZRGTROD_9Jc:OKwW7Z_Ijls:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ZRGTROD_9Jc:OKwW7Z_Ijls:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=ZRGTROD_9Jc:OKwW7Z_Ijls:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ZRGTROD_9Jc:OKwW7Z_Ijls:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=ZRGTROD_9Jc:OKwW7Z_Ijls:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=ZRGTROD_9Jc:OKwW7Z_Ijls:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/ZRGTROD_9Jc" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2011/06/seeking-ror-engineer-in-sf.html</feedburner:origLink></entry>
    <entry>
        <title>Introducing tappr.tv</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/rBfsHHNFI3I/introducing-tapprtv.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2010/12/introducing-tapprtv.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef0147e055e379970b</id>
        <published>2010-12-02T22:26:59-08:00</published>
        <updated>2010-12-02T22:37:45-08:00</updated>
        <summary type="html">tappr.tv is a new iOS app for visual scratching. What's visual scratching? Well, DJs play music and scratch records, but VJs only seem to play videos… I wanted a more interactive visual experience. Here are some samples of visual scratching:...</summary>
        <author>
            <name>deeje</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="iPhone" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Mobile" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Music" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Technology" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01348996bc19970c-pi" border="0" alt="home.png" width="32" height="32"&gt;&lt;/img&gt; &lt;a href="http://tappr.tv"&gt;tappr.tv&lt;/a&gt; is a new iOS app for visual scratching.  What's visual scratching? Well, DJs play music and scratch records, but VJs only seem to play videos… I wanted a more interactive visual experience.&lt;/p&gt;&#xD;
&lt;p&gt;Here are some samples of visual scratching:&lt;/p&gt;&#xD;
&lt;p align="center"&gt;&#xD;
&lt;object width="480" height="385"&gt;&#xD;
&lt;param name="movie" value="http://www.youtube.com/p/D01CFC57473B8008?hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&#xD;
&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&#xD;
&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/p/D01CFC57473B8008?hl=en_US&amp;amp;fs=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&#xD;
&lt;/object&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;In tappr.tv, you have a selection of visual "instruments" that you can choose from, and then multi-touch and gesture to play the instrument on your screen.  On the iPad, the interface looks like this:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef0147e055e23d970b-pi" border="0" alt="IMG_0115.PNG" width="600" height="450"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;p&gt;And on the iPhone and iPod Touch, the interface looks like this:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef0147e055e2ab970b-pi" border="0" alt="Screenshot 2010.11.25 00.27.50.png" width="200" height="300"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef013489b23b05970c-pi" border="0" alt="button-fullscreen-selected.png" width="32" height="32"&gt;&lt;/img&gt;You can make all the controls go away by tapping the Fullscreen button in the lower right corner.&lt;/p&gt;&#xD;
&lt;p&gt;There are 20 instruments included with tappr.tv, and here is a gallery of some of my favorites:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef013489b23a65970c-pi" border="0" alt="Screen shot 2010-11-30 at 18.21.20 .png" width="600" height="470"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;p&gt;If that wasn't enough, you have two options for even more instruments!&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef013489b23ad6970c-pi" border="0" alt="button-download-selected.png" width="32" height="32"&gt;&lt;/img&gt;First, you can tap the Download button (at the top of the instrument list), and browse the available instrument packs. Packs include streaks, circles, sticks, etc.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef013489b23b25970c-pi" border="0" alt="button-randomize-selected.png" width="32" height="32"&gt;&lt;/img&gt;Alternatively, you can generate random instruments by tapping the Random button (also at the top of the instrument list).&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef013489b23b35970c-pi" border="0" alt="button-star-selected.png" width="32" height="32"&gt;&lt;/img&gt;If you find an instrument you like, tap the Star button and give your new instrument a witty name!&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef0147e055e34b970b-pi" border="0" alt="button-camera-selected.png" width="32" height="32"&gt;&lt;/img&gt;As you play with various instruments, you can take snapshots of them by touching the Camera button (in the upper right corner on iPad and lower left corner on iPhone/iPod).  This will start a time-series of 5 snapshots, 1 per second.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef013489b23b5a970c-pi" border="0" alt="button-snapshots-selected.png" width="32" height="32"&gt;&lt;/img&gt;After the snapshots are captured, you'll be taken to the snapshots view, where you can browse and view the various snapshots for the current instrument.  If you see one you like, share it by tapping the Action button in the lower-right corner.  You can share your snapshot to Facebook, to Twitter, via Email, and more.&lt;/p&gt;&#xD;
&lt;p&gt;One last feature, for iPad only right now… video out!  This requires a video out cable, of course, which come in two varieties.  A composite or component cable will support a 480p resolution, while a VGA cable will 1024x768. And of course, it just works… plug in the cable, and the instrument plays on the TV while you still have all your controls on the iPad.&lt;/p&gt;&#xD;
&lt;p&gt;This is just the beginning for tappr.tv, too. If you're curious about our roadmap, tap the Home button at the top of the instruments list, then drop into the Settings area to see what features we're planning next!&lt;/p&gt;&#xD;
&lt;p&gt;tappr.tv has been submitted to Apple for approval, and should be in the app store by mid-December 2010.&lt;/p&gt;&#xD;
&lt;p&gt;I hope you love tappr.tv as much as I do. Tweet us your thoughts &lt;a href="http://twitter.com/tapprtv"&gt;@tapprtv&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=rBfsHHNFI3I:Z1aametrXts:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=rBfsHHNFI3I:Z1aametrXts:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=rBfsHHNFI3I:Z1aametrXts:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=rBfsHHNFI3I:Z1aametrXts:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=rBfsHHNFI3I:Z1aametrXts:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=rBfsHHNFI3I:Z1aametrXts:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=rBfsHHNFI3I:Z1aametrXts:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=rBfsHHNFI3I:Z1aametrXts:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=rBfsHHNFI3I:Z1aametrXts:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/rBfsHHNFI3I" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2010/12/introducing-tapprtv.html</feedburner:origLink></entry>
    <entry>
        <title>Bansai Tree 3</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/T-3DL51IKLc/bansai-tree-3.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2010/07/bansai-tree-3.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef013485a185fa970c</id>
        <published>2010-07-22T21:18:08-07:00</published>
        <updated>2010-07-22T21:18:08-07:00</updated>
        <summary type="html">Bansai Tree 3 Originally uploaded by deejeommmmmmmm</summary>
        <author>
            <name>deeje</name>
        </author>
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt;&lt;a href="http://www.flickr.com/photos/deeje/4819665805/" title="photo sharing"&gt;&lt;img src="http://farm5.static.flickr.com/4081/4819665805_cc900ac7b4_m.jpg" alt="" style="border: solid 2px #000000;"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;&lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;&lt;a href="http://www.flickr.com/photos/deeje/4819665805/"&gt;Bansai Tree 3&lt;/a&gt;&lt;br&gt;Originally uploaded by &lt;a href="http://www.flickr.com/people/deeje/"&gt;deeje&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;ommmmmmmm&lt;br clear="all"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=T-3DL51IKLc:CTJXzm1kIT0:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=T-3DL51IKLc:CTJXzm1kIT0:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=T-3DL51IKLc:CTJXzm1kIT0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=T-3DL51IKLc:CTJXzm1kIT0:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=T-3DL51IKLc:CTJXzm1kIT0:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=T-3DL51IKLc:CTJXzm1kIT0:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=T-3DL51IKLc:CTJXzm1kIT0:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=T-3DL51IKLc:CTJXzm1kIT0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=T-3DL51IKLc:CTJXzm1kIT0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/T-3DL51IKLc" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2010/07/bansai-tree-3.html</feedburner:origLink></entry>
    <entry>
        <title>iPad First Impressions</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/SH5FLiIWvcM/ipad-first-impressions.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2010/04/ipad-first-impressions.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef0133ec79be27970b</id>
        <published>2010-04-05T10:34:04-07:00</published>
        <updated>2010-04-05T11:05:36-07:00</updated>
        <summary type="html">Overall, I think the iPad is great, and I've already got a list of features I want to see soon… iPod and Airport Express - would love to play songs directly from my iPad over my home stereo, without having...</summary>
        <author>
            <name>deeje</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="iPhone" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Technology" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Overall, I think the iPad is great, and I've already got a list of features I want to see soon…&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
&#xD;
&lt;li&gt;&lt;strong&gt;iPod and Airport Express&lt;/strong&gt; - would love to play songs directly from my iPad over my home stereo, without having to plug in a wire.&lt;/li&gt;&#xD;
&#xD;
&lt;li&gt;&lt;strong&gt;Users and/or guest accounts&lt;/strong&gt; - want to be able to hand my iPad to my kids, spouse, or friends who are visiting, and not worry about them playing my games (in progress), sending emails or tweeting from my account, or buying things with my credit card.&lt;/li&gt;&#xD;
&#xD;
&lt;li&gt;&lt;strong&gt;iMagazine&lt;/strong&gt; - not sure any of the periodicals have the use case right for iPad… what I want is to subscribe, and have new content delivered automatically, all of which speaks to a background process.  What I don't want is each periodical with its own background process.  Podcast content has the same issues.&lt;/li&gt;&#xD;
&#xD;
&lt;li&gt;&lt;strong&gt;Springboard 2.0&lt;/strong&gt; - As it is, the home screen only scales to a few pages of apps, and as with the iPhone, doesn't scale well to hundreds of apps.  This is further compounded on iPad because sometimes all I want to see are iPad-specific apps… personally, I want to tag all my apps and then pivot on those tags.&lt;/li&gt;&#xD;
&#xD;
&lt;li&gt;&lt;strong&gt;Family iPhoto Cloud&lt;/strong&gt; - my wife and I both take pictures, and store them on different computers… how can my iPad pull all those photos in, complete with tags, faces, event info, etc?&lt;/li&gt;&#xD;
&#xD;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=SH5FLiIWvcM:pdN-hEggVz8:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=SH5FLiIWvcM:pdN-hEggVz8:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=SH5FLiIWvcM:pdN-hEggVz8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=SH5FLiIWvcM:pdN-hEggVz8:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=SH5FLiIWvcM:pdN-hEggVz8:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=SH5FLiIWvcM:pdN-hEggVz8:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=SH5FLiIWvcM:pdN-hEggVz8:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=SH5FLiIWvcM:pdN-hEggVz8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=SH5FLiIWvcM:pdN-hEggVz8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/SH5FLiIWvcM" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2010/04/ipad-first-impressions.html</feedburner:origLink></entry>
    <entry>
        <title>Media, Media, Everywhere!</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/CuAJlbDS_IU/media-media-everywhere.html" />
        <link rel="replies" type="text/html" href="http://blog.deeje.tv/musings/2010/01/media-media-everywhere.html" />
        <id>tag:typepad.com,2003:post-6a00d8341db43f53ef0128771e347c970c</id>
        <published>2010-01-27T20:41:16-08:00</published>
        <updated>2010-01-27T20:41:16-08:00</updated>
        <summary type="html">Here's something I've noticed about the iPod/iPad user experience… my media is scattered all over the place! iTunes - buy songs iPod - play music, videos (movies and TV shows), audiobooks, podcasts Videos - play TV shows and movies App...</summary>
        <author>
            <name>deeje</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="iPhone" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.deeje.tv/musings/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Here's something I've noticed about the iPod/iPad user experience&amp;#8230; my media is scattered all over the place!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;iTunes - buy songs&lt;/p&gt;
&lt;li&gt;iPod - play music, videos (movies and TV shows), audiobooks, podcasts&lt;/li&gt;
&lt;li&gt;Videos - play TV shows and movies&lt;/li&gt;
&lt;li&gt;App Store - buy apps&lt;/li&gt;
&lt;li&gt;Home screen - run apps&lt;/li&gt;
&lt;li&gt;Photos - view images and play movies&lt;/li&gt;
&lt;li&gt;Camera - take and view images and videos&lt;/li&gt;
&lt;li&gt;MobileMe - view photos from the web&lt;/li&gt;
&lt;li&gt;iBooks - buy and read books&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's a lot of places to go to get to my media. What's more, sometimes the store for a kind of media is a feature of its related player (iBooks), and sometimes its a product in and of itself (iTunes/iPod, AppStore/Home). I think that lack of consistency is a problem that will only get worse.&lt;/p&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=CuAJlbDS_IU:o5XxDCuzrk4:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=CuAJlbDS_IU:o5XxDCuzrk4:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=CuAJlbDS_IU:o5XxDCuzrk4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=CuAJlbDS_IU:o5XxDCuzrk4:2nqncYFp4_M"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=CuAJlbDS_IU:o5XxDCuzrk4:ozPqQDaSF7U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=CuAJlbDS_IU:o5XxDCuzrk4:ozPqQDaSF7U" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=CuAJlbDS_IU:o5XxDCuzrk4:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/deeje/musings?a=CuAJlbDS_IU:o5XxDCuzrk4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/deeje/musings?i=CuAJlbDS_IU:o5XxDCuzrk4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/CuAJlbDS_IU" height="1" width="1"/&gt;</content>



    <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><feedburner:origLink>http://blog.deeje.tv/musings/2010/01/media-media-everywhere.html</feedburner:origLink></entry>
 
<entry><title type="text">Links for 2009-10-05 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/deeje/musings/~3/yJ_jqxA4_mU/deeje" /><updated>2009-10-06T00:00:00-07:00</updated><id>http://del.icio.us/deeje#2009-10-05</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://radar.oreilly.com/2009/10/see-it-follow-it.html"&gt;See It, Follow It&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/deeje/musings/~4/yJ_jqxA4_mU" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/deeje#2009-10-05</feedburner:origLink></entry></feed><!-- ph=1 -->
