deeje.com/musingstag:typepad.com,2003:weblog-43512017-09-22T04:19:35+00:00deeje cooley in random-access mode…TypePad37.770937-122.442763http://homepage.mac.com/deeje/music/2d-eeje.jpgThis is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.[Flickr]deejehttps://www.flickr.com/people/deeje/2017-09-21T21:19:35-07:00tag:flickr.com,2005:/photo/37208063402 <p><a href="https://www.flickr.com/people/deeje/">deeje</a> posted a photo:</p>
<p><a href="https://www.flickr.com/photos/deeje/37208063402/" title=" "><img src="https://farm5.staticflickr.com/4445/37208063402_d6576308b6_m.jpg" width="240" height="135" alt=" " /></a></p>
<img src="http://feeds.feedburner.com/~r/deeje/musings/~4/eJIlMBknJxM" height="1" width="1" alt=""/>2017-09-21T13:16:49-08:002017-09-21T13:16:49-08:00https://www.flickr.com/photos/deeje/37208063402/https://farm5.staticflickr.com/4445/37208063402_d6576308b6_b.jpg[Flickr]deejehttps://www.flickr.com/people/deeje/2017-09-21T21:19:35-07:00tag:flickr.com,2005:/photo/37190446256 <p><a href="https://www.flickr.com/people/deeje/">deeje</a> posted a photo:</p>
<p><a href="https://www.flickr.com/photos/deeje/37190446256/" title=" "><img src="https://farm5.staticflickr.com/4415/37190446256_6875d9a44c_m.jpg" width="240" height="180" alt=" " /></a></p>
<img src="http://feeds.feedburner.com/~r/deeje/musings/~4/YTJzJ8bre2I" height="1" width="1" alt=""/>2017-09-21T13:17:24-08:002017-09-21T13:17:24-08:00https://www.flickr.com/photos/deeje/37190446256/https://farm5.staticflickr.com/4415/37190446256_6875d9a44c_b.jpgtappr.tv in Bridge 6DoF Mixed Realitytag:typepad.com,2003:post-6a00d8341db43f53ef01b8d28871a5970c2017-06-01T11:17:23-07:002017-06-01T11:17:23-07:00One of the great benefits of moving to SceneKit in version 10 was the ability to support emerging virtual reality technologies. As of v10.2, tappr.tv supports both Google Cardboard for 3DoF viewing, as well as Occipital Bridge for 6DoF What...deeje
<div xmlns="http://www.w3.org/1999/xhtml"><p>One of the great benefits of moving to SceneKit in version 10 was the ability to support emerging virtual reality technologies. As of v10.2, tappr.tv supports both Google Cardboard for 3DoF viewing, as well as <a href="http://bridge.occipital.com">Occipital Bridge</a> for 6DoF</p>
<p>What are DoF? It stands for "degrees of freedom" and means, how can you move within a space</p>
<p>3DoF means you can <strong>look</strong> around in a virtual space: look left/right, up/down, and tilt side to side. Google Cardboard VR headsets and viewers are basically relying on the gyroscope in your smartphone to calculate how you turn your head, and adjust the 3D display accordingly.</p>
<p>6DoF means that you can <strong>look and move</strong> in all three dimensions: move left/right, up/down, and forward/back. Occipital Bridge does this by combining sensor data from the iPhone's gyroscope and camera with its own laser depth sensor to calculate, in realtime, how you head turns and moves within a scanned space.</p>
<p>Here's a teaser of what tappr.tv looks like inside a Bridge MR headset</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/PwzAWJ8ai90" frameborder="0" allowfullscreen></iframe>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=d3ZdzGP2L-0:9nQXTuiSj7o:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=d3ZdzGP2L-0:9nQXTuiSj7o:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=d3ZdzGP2L-0:9nQXTuiSj7o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=d3ZdzGP2L-0:9nQXTuiSj7o:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=d3ZdzGP2L-0:9nQXTuiSj7o:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=d3ZdzGP2L-0:9nQXTuiSj7o:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=d3ZdzGP2L-0:9nQXTuiSj7o:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=d3ZdzGP2L-0:9nQXTuiSj7o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=d3ZdzGP2L-0:9nQXTuiSj7o:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/d3ZdzGP2L-0" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2017/06/tapprtv-in-bridge-6dof-mixed-reality.htmlAutomatontag:typepad.com,2003:post-6a00d8341db43f53ef01b7c8f410ea970b2017-05-02T12:18:14-07:002017-05-02T12:18:14-07:00Here is the latest example of a great dance in tappr.tv!deeje
<div xmlns="http://www.w3.org/1999/xhtml"><p>Here is the latest example of a great dance in tappr.tv!</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/SSGpfAwy2k8?rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=81A4k5bpAds:BALQkcN4ah8:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=81A4k5bpAds:BALQkcN4ah8:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=81A4k5bpAds:BALQkcN4ah8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=81A4k5bpAds:BALQkcN4ah8:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=81A4k5bpAds:BALQkcN4ah8:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=81A4k5bpAds:BALQkcN4ah8:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=81A4k5bpAds:BALQkcN4ah8:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=81A4k5bpAds:BALQkcN4ah8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=81A4k5bpAds:BALQkcN4ah8:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/81A4k5bpAds" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2017/05/automaton.htmlJagged Flurrytag:typepad.com,2003:post-6a00d8341db43f53ef01b7c8f41060970b2017-05-02T12:10:17-07:002017-05-02T12:10:17-07:00deeje
<div xmlns="http://www.w3.org/1999/xhtml"><iframe width="560" height="315" src="https://www.youtube.com/embed/OZg9C9i2Nps?rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=jjbxMkiwoFM:RfrrpbiLLLY:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=jjbxMkiwoFM:RfrrpbiLLLY:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=jjbxMkiwoFM:RfrrpbiLLLY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=jjbxMkiwoFM:RfrrpbiLLLY:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=jjbxMkiwoFM:RfrrpbiLLLY:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=jjbxMkiwoFM:RfrrpbiLLLY:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=jjbxMkiwoFM:RfrrpbiLLLY:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=jjbxMkiwoFM:RfrrpbiLLLY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=jjbxMkiwoFM:RfrrpbiLLLY:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/jjbxMkiwoFM" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2017/05/jagged-flurry.htmlLinks for 2017-03-31 [del.icio.us]2017-04-01T00:00:00-07:00http://del.icio.us/deeje#2017-03-31<ul>
<li><a href="https://shop.icio.us/sales/the-limited-edition-black-hawk-drone-hd-camera?utm_source=del.icio.us&utm_medium=referral&utm_campaign=the-limited-edition-black-hawk-drone-hd-camera">Sponsored: 64% off Code Black Drone with HD Camera</a><br/>
Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!</li>
</ul><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/ckyIH570Tj0" height="1" width="1" alt=""/>http://del.icio.us/deeje#2017-03-31Links for 2017-03-28 [del.icio.us]2017-03-29T00:00:00-07:00http://del.icio.us/deeje#2017-03-28<ul>
<li><a href="https://shop.icio.us/sales/the-limited-edition-black-hawk-drone-hd-camera?utm_source=del.icio.us&utm_medium=referral&utm_campaign=the-limited-edition-black-hawk-drone-hd-camera">Sponsored: 64% off Code Black Drone with HD Camera</a><br/>
Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!</li>
</ul><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/FhdYc0hwHAM" height="1" width="1" alt=""/>http://del.icio.us/deeje#2017-03-28Links for 2017-03-25 [del.icio.us]2017-03-26T00:00:00-07:00http://del.icio.us/deeje#2017-03-25<ul>
<li><a href="https://shop.icio.us/sales/the-limited-edition-black-hawk-drone-hd-camera?utm_source=del.icio.us&utm_medium=referral&utm_campaign=the-limited-edition-black-hawk-drone-hd-camera">Sponsored: 64% off Code Black Drone with HD Camera</a><br/>
Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!</li>
</ul><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/Cf0Gxt_FBKs" height="1" width="1" alt=""/>http://del.icio.us/deeje#2017-03-25Links for 2017-03-22 [del.icio.us]2017-03-23T00:00:00-07:00http://del.icio.us/deeje#2017-03-22<ul>
<li><a href="https://shop.icio.us/sales/the-limited-edition-black-hawk-drone-hd-camera?utm_source=del.icio.us&utm_medium=referral&utm_campaign=the-limited-edition-black-hawk-drone-hd-camera">Sponsored: 64% off Code Black Drone with HD Camera</a><br/>
Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!</li>
</ul><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/5-Nci1W1EHI" height="1" width="1" alt=""/>http://del.icio.us/deeje#2017-03-22Links for 2017-03-20 [del.icio.us]2017-03-21T00:00:00-07:00http://del.icio.us/deeje#2017-03-20<ul>
<li><a href="https://shop.icio.us/sales/the-limited-edition-black-hawk-drone-hd-camera?utm_source=del.icio.us&utm_medium=referral&utm_campaign=the-limited-edition-black-hawk-drone-hd-camera">Sponsored: 64% off Code Black Drone with HD Camera</a><br/>
Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!</li>
</ul><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/EyHod2UjcH8" height="1" width="1" alt=""/>http://del.icio.us/deeje#2017-03-20Links for 2017-03-18 [del.icio.us]2017-03-19T00:00:00-07:00http://del.icio.us/deeje#2017-03-18<ul>
<li><a href="https://shop.icio.us/sales/the-limited-edition-black-hawk-drone-hd-camera?utm_source=del.icio.us&utm_medium=referral&utm_campaign=the-limited-edition-black-hawk-drone-hd-camera">Sponsored: 64% off Code Black Drone with HD Camera</a><br/>
Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!</li>
</ul><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/Ei81DbuHvKY" height="1" width="1" alt=""/>http://del.icio.us/deeje#2017-03-18Links for 2017-03-16 [del.icio.us]2017-03-17T00:00:00-07:00http://del.icio.us/deeje#2017-03-16<ul>
<li><a href="https://shop.icio.us/sales/the-limited-edition-black-hawk-drone-hd-camera?utm_source=del.icio.us&utm_medium=referral&utm_campaign=the-limited-edition-black-hawk-drone-hd-camera">Sponsored: 64% off Code Black Drone with HD Camera</a><br/>
Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!</li>
</ul><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/Xa3I6TtJg4k" height="1" width="1" alt=""/>http://del.icio.us/deeje#2017-03-16tappr.tv screenshots 2017tag:typepad.com,2003:post-6a00d8341db43f53ef01b7c8c4bed6970b2017-01-06T13:37:17-08:002017-01-06T13:39:14-08:00Here are some screenshots of the latest version of tappr.tvdeeje<div xmlns="http://www.w3.org/1999/xhtml"><p>Here are some screenshots of the latest version of tappr.tv</p>
<img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d24e90aa970c-pi" alt="Tappr tv screenshot 1" title="tappr.tv screenshot 1.jpg" border="0" width="599" height="337"></img>
<img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d24e90b0970c-pi" alt="IMG 1155" title="IMG_1155.jpg" border="0" width="599" height="337"></img>
<br>
<img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb0967ab20970d-pi" alt="IMG 1156" title="IMG_1156.jpg" border="0" width="599" height="337"></img>
<img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c8c4bec7970b-pi" alt="IMG 1639" title="IMG_1639.jpg" border="0" width="599" height="337"></img>
<img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c8c4becc970b-pi" alt="IMG 1637" title="IMG_1637.jpg" border="0" width="599" height="337"></img>
<img src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d24e90b7970c-pi" alt="IMG 0001" title="IMG_0001.jpg" border="0" width="599" height="337"></img>
</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=P__xAt1EoR4:gPBXTVGKAPc:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=P__xAt1EoR4:gPBXTVGKAPc:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=P__xAt1EoR4:gPBXTVGKAPc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=P__xAt1EoR4:gPBXTVGKAPc:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=P__xAt1EoR4:gPBXTVGKAPc:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=P__xAt1EoR4:gPBXTVGKAPc:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=P__xAt1EoR4:gPBXTVGKAPc:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=P__xAt1EoR4:gPBXTVGKAPc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=P__xAt1EoR4:gPBXTVGKAPc:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/P__xAt1EoR4" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2017/01/tapprtv-screenshots-2017.html[Flickr]deejehttps://www.flickr.com/people/deeje/2016-09-07T22:00:07-07:00tag:flickr.com,2005:/photo/29425822272 <p><a href="https://www.flickr.com/people/deeje/">deeje</a> posted a photo:</p>
<p><a href="https://www.flickr.com/photos/deeje/29425822272/" title=" "><img src="https://farm8.staticflickr.com/7788/29425822272_bd52f37770_m.jpg" width="240" height="62" alt=" " /></a></p>
<img src="http://feeds.feedburner.com/~r/deeje/musings/~4/zbnFM0sYjIw" height="1" width="1" alt=""/>2016-08-31T13:02:55-08:002016-08-31T13:02:55-08:00https://www.flickr.com/photos/deeje/29425822272/https://farm8.staticflickr.com/7788/29425822272_bd52f37770_b.jpg[Flickr]deejehttps://www.flickr.com/people/deeje/2016-09-07T22:00:06-07:00tag:flickr.com,2005:/photo/29245720860 <p><a href="https://www.flickr.com/people/deeje/">deeje</a> posted a photo:</p>
<p><a href="https://www.flickr.com/photos/deeje/29245720860/" title=" "><img src="https://farm9.staticflickr.com/8434/29245720860_2b7c268036_m.jpg" width="240" height="68" alt=" " /></a></p>
<img src="http://feeds.feedburner.com/~r/deeje/musings/~4/IAAuZu3MhrE" height="1" width="1" alt=""/>2016-09-01T19:31:25-08:002016-09-01T19:31:25-08:00https://www.flickr.com/photos/deeje/29245720860/https://farm9.staticflickr.com/8434/29245720860_2b7c268036_b.jpg[Flickr]deejehttps://www.flickr.com/people/deeje/2016-09-07T21:59:56-07:00tag:flickr.com,2005:/photo/28910263604 <p><a href="https://www.flickr.com/people/deeje/">deeje</a> posted a photo:</p>
<p><a href="https://www.flickr.com/photos/deeje/28910263604/" title=" "><img src="https://farm9.staticflickr.com/8210/28910263604_90cc0b3eeb_m.jpg" width="122" height="240" alt=" " /></a></p>
<img src="http://feeds.feedburner.com/~r/deeje/musings/~4/fepc0x7wiX0" height="1" width="1" alt=""/>2016-09-01T17:59:54-08:002016-09-01T17:59:54-08:00https://www.flickr.com/photos/deeje/28910263604/https://farm9.staticflickr.com/8210/28910263604_90cc0b3eeb_b.jpgDifferentiating Apple Musictag:typepad.com,2003:post-6a00d8341db43f53ef01b7c80499ba970b2016-01-08T11:14:00-08:002016-01-08T11:15:42-08:00This post will review the history of music APIs in iOS, and discuss some of its advantages for developer+affiliate opportunities, as they relate to competing “Music as a Service” (MaaS) providers and their developer “Terms of Service” (TOS). And at...deeje<div xmlns="http://www.w3.org/1999/xhtml"><p> </p>
<p>This post will review the history of music APIs in iOS, and discuss some of its advantages for developer+affiliate opportunities, as they relate to competing “Music as a Service” (MaaS) providers and their developer “Terms of Service” (TOS).</p>
<p>And at the end, I have a simple ask.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" title="MaaS Comparison.png" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c80499b6970b-pi" alt="MaaS Comparison" width="598" height="285" border="0"></img></p>
<h1>Music APIs in iOS</h1>
<p>Let’s start at the beginning, with the release of the MPMusicPlayer** SDK in iOS 2. It allows a developer to access the system music player object, find and iterate song objects in the user’s music library, control their playback, and access various rich metadata (e.g. duration, BPM, album art).</p>
<p>One of the most significant benefits of MPMusicPlayer is that developers can use this in their <strong>paid</strong> apps.</p>
<p>Why is this significant? Every other MaaS <strong>forbids</strong> developers from generating revenue. Why bother trying to innovate if there’s no way to pay the bills?</p>
<p>But Apple has taken a different approach, seemingly making it a point to enable their users to access their music in a variety of scenarios. For instance, even with FairPlay on iTunes-purchased songs, iMovie specifically let users add songs from their music library to their home movies, regardless of their origin, and then export the resulting movie. Apple wouldn’t let DRM get in the way of personal use, which seems very fair.</p>
<h1>Magic of My Music</h1>
<p>When Apple Music arrived, something magical happened for subscribers. Any song you add from their catalog to your music library becomes available to MPMusicPlayer. From a developer perspective, the streaming songs mix seamlessly with iTunes-purchased songs and other imported song files.</p>
<p>I’d like to call this “Apple’s MaaS”, in that apps that use MPMusicPlayer just work, as a user would expect. For instance, <a href="http://www.tappr.tv">tappr.tv</a> creates a social, visual “dance floor” for your fingers, building on top of MPMusicPlayer. You can dance to any song in your music library, regardless of how you added it (imported, purchased, or via subscription). When you create and publish a dance, only the song metadata is stored, and the song is found and played only thru the user’s music library at playback time.</p>
<p>In other words, <a href="http://www.tappr.tv">tappr.tv</a> is an Apple MaaS app. Pretty cool! So far, 80,000 users have spent almost 300,000 minutes producing over 5,000 dances, which have subsequently been performed over 90,000 times for other users. <a href="http://www.tappr.tv">tappr.tv</a> has achieved this, in part, by analyzing the user’s music library and creating engaging and immersive experiences around their most favorite songs, as determined by combining ratings, play counts, and recency metadata.</p>
<p>And, <a href="http://www.tappr.tv">tappr.tv</a> can make money (by helping users discover new music, and offering tools for dancers). This is something that <a href="http://www.tappr.tv">tappr.tv</a> can’t do thru Spotify or Rdio (RIP) or even Rhapsody. Each of their TOS stipulates that developers <strong>CANNOT</strong> earn revenue.</p>
<h1>Zero Login</h1>
<p>There’s one more pro feature of Apple MaaS that I want to highlight: Zero Login.</p>
<p>All the other MaaS competitors have clunky user mobile login experiences, and use expiring session tokens, which means, users effectively have to suffer thru logging in every day.</p>
<p>OTOH, MPMusicPlayer leverages iCloud, which the user signs into and configures globally in Settings. From an app’s perspective, no need to bother the user, just go find and play songs. All the subscription logic, and inherent DRM, is handled automatically. Simple.</p>
<p>The seamless music library, the ability to create value, and zero login give Apple’s MaaS the advantage here. In the race to dominate the music market, Apple MaaS looks like a winner!</p>
<h1>Missing Features</h1>
<p>Except… MPMusicPlayer is missing two key features found in MaaS competitors: <strong>Search</strong> and <strong>Playlists</strong>.</p>
<p>Didn’t I say “find” above? Yes, but it is different from “search”. Find is “exact match”, whereas search can be much more fuzzy. For instance, when <a href="http://www.tappr.tv">tappr.tv</a> searches for a song to match a dance, Spotify MaaS can return a Muzak version of a song if the original is no longer available (a frequent occurrence in subscription services, unfortunately). And it can exact match on fuzzy inputs, too, which helps developers tremendously in a world full of users still importing songs with little-to-no metadata. Apple MaaS currently can’t do either, and the user experience suffers.</p>
<p>And social <strong>playlists are something I want</strong> as a user in <a href="http://www.tappr.tv">tappr.tv</a>, but it seems ridiculous for me as a developer to have to re-invent the wheel here. Why can’t developers leverage the playlist management that is already implemented by Apple?</p>
<h1>iTunes Previews</h1>
<p>Apple introduced the iTunes Affiliate program and iTunes Search API*** soon after iTunes the Store first appeared. It is chock full of song metadata, and is searchable for iTunes Affiliate members. It even includes 30-sec previews and ways to drive sales or subscriptions with affiliate commissions. Note, again, that this is in stark contrast to the other MaaS, which offer no mobile affiliate opportunities.</p>
<p>What I really want, as a developer and a user, is iTunes Search to be rolled *into* MPMusicPlayer, such that previews would be replaced with full songs for Apple Music subscribers. iTunes Search becomes search the “catalog” metadata, and MPMusicPlayer becomes search the “user’s” metadata, and it all becomes search with “catalog” and/or “user” as predicates. Seamless. As a user, apps that find and play music from my library could also search and play music via my Apple Music subscription.</p>
<h1>Differentiating Apple Music</h1>
<p>Let’s recap the various pieces of Apple MaaS.</p>
<p>iTunes lets users buy songs, which go into their music library.</p>
<p>Apple Music allows subscribers to add songs to their music library.</p>
<p>MPMusicPlayer lets developers access a user’s music library to add value.</p>
<p>iTunes Search lets developers search for songs available in iTunes or Apple Music and drive affiliate sales.</p>
<p>Apple Music 2.0 = iTunes + Apple Music + MPMusicPlayer + iTunes Search API, all rolled into one</p>
<p>This would very clearly differentiate Apple Music from all the others: user-centric, developer+affiliate friendly, and win/win for all.</p>
<h1>How can you help?</h1>
<p>OK, here’s the ask: who else should read this?</p>
<p>Can you forward this to others who might grok what I’m suggesting, perhaps even to someone who might have some insight or influence in these matters over at Apple?</p>
<h1>Footnotes</h1>
<p>** For the sake of brevity, I’ve shortened the name of the class; it is actually MPMusicPlayerController, part of the Media Player Framework https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MediaPlayer_Framework/index.html</p>
<p>*** iTunes Search API https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html</p></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=tdXvuL-LALo:Rvlbie4Rjwo:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=tdXvuL-LALo:Rvlbie4Rjwo:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=tdXvuL-LALo:Rvlbie4Rjwo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=tdXvuL-LALo:Rvlbie4Rjwo:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=tdXvuL-LALo:Rvlbie4Rjwo:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=tdXvuL-LALo:Rvlbie4Rjwo:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=tdXvuL-LALo:Rvlbie4Rjwo:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=tdXvuL-LALo:Rvlbie4Rjwo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=tdXvuL-LALo:Rvlbie4Rjwo:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/tdXvuL-LALo" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2016/01/differentiating-apple-music.htmlScaling tappr.tv from 3.5" to 12.9"tag:typepad.com,2003:post-6a00d8341db43f53ef01b7c7eba51d970b2015-11-12T12:40:45-08:002015-11-12T13:33:46-08:00Of all the new devices Apple has released this year, I’m most excited about the iPad Pro. Its as close to a self-contained cinematic experience as Apple can create. And I've been preparing tappr.tv for it for almost 3 years...deeje<div xmlns="http://www.w3.org/1999/xhtml"><p>Of all the new devices Apple has released this year, I’m most excited about the iPad Pro. Its as close to a self-contained cinematic experience as Apple can create. And I've been preparing tappr.tv for it for almost 3 years now.</p>
<p>The writing has been on the wall for quite some time that Apple was going to expand into all kinds of screen sizes, and tappr.tv has tried to keep up. When iOS 7 first arrived, Apple emphasized deference, clarity, and depth in UI design. Deference, in particular, meant giving as much focus as possible on the content, and getting controls and other style designs out of the way.</p>
<p>There were several considerations here:</p>
<ul>
<li>For the user, the physical context around tappr.tv was likely holding larger devices with two hands in landscape orientation and smaller devices in one hand</li>
<li>The main content of tappr.tv is a dance, a dynamic and kinetic animation that fills the screen.</li>
<li>There are lots of ways to view collections of dances, as well as ways to see members of the tappr.tv community. This leads to a deep "site map" for the app:</li>
</ul>
<div style="text-align: center;"><img alt="Tappr tv site map" border="0" height="607" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba513970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="tappr.tv site map.png" width="412"></img></div>
<p>Knowing all this, I designed a custom stage view with a layered custom master/detail model on top, that would work on all iOS devices in any orientation. Dances are presented in the stage view, which is always present, while navigation is handled by the master/detail views layered on top, each with a blur background to show the stage below. When switching between stage and master/detail, the master/detail views slide in and out like curtains. And in order to handle the deep "site map" for the app, the master view acts like a tab bar view controller, but is also stackable like a navigation view controller.</p>
<p>I’m very happy with the design choices I made, as they have scaled well for both the depth of the data model as well as across all the available screen sizes.</p>
<p>Here are a set of screenshots showing representatives views across the various screen sizes:</p>
<div style="text-align: center;">
<table>
<tbody>
<tr>
<td align="right">Screen</td>
<td align="center">1. Sign Up</td>
<td align="center">2. Popular</td>
<td align="center">3. Stage</td>
<td align="center">4. Dance</td>
<td align="center">5. Profile</td>
<td align="center">6. News</td>
</tr>
<tr>
<td align="right">3.5"</td>
<td><img alt="3 5 1 Sign Up" border="0" height="48" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdb8d970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="3.5.1 Sign Up.png" width="32"></img></td>
<td><img alt="3 5 2 Popular" border="0" height="48" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdb91970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="3.5.2 Popular.png" width="32"></img></td>
<td><img alt="3 5 3 Stage" border="0" height="48" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4cc970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="3.5.3 Stage.png" width="32"></img></td>
<td><img alt="3 5 4 Dance" border="0" height="48" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdb95970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="3.5.4 Dance.png" width="32"></img></td>
<td><img alt="3 5 5 Profile" border="0" height="48" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdb99970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="3.5.5 Profile.png" width="32"></img></td>
<td><img alt="3 5 6 News" border="0" height="48" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbdd970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="3.5.6 News.png" width="32"></img></td>
</tr>
<tr>
<td align="right">4.0"</td>
<td><img alt="4 0 1 Sign Up" border="0" height="56" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdba1970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.0.1 Sign Up.png" width="32"></img></td>
<td><img alt="4 0 2 Popular" border="0" height="56" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdba7970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.0.2 Popular.png" width="32"></img></td>
<td><img alt="4 0 3 Stage" border="0" height="56" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4d5970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.0.3 Stage.png" width="32"></img></td>
<td><img alt="4 0 4 Dance" border="0" height="56" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbab970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.0.4 Dance.png" width="32"></img></td>
<td><img alt="4 0 5 Profile" border="0" height="56" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4d9970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.0.5 Profile.png" width="32"></img></td>
<td><img alt="4 0 6 News" border="0" height="56" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba50b970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.0.6 News.png" width="32"></img></td>
</tr>
<tr>
<td align="right">4.7"</td>
<td><img alt="4 7 1 Sign Up" border="0" height="66" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4dd970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.7.1 Sign Up.png" width="37"></img></td>
<td><img alt="4 7 2 Popular" border="0" height="66" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d1757ee1970c-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.7.2. Popular.png" width="37"></img></td>
<td><img alt="4 7 3 Stage" border="0" height="66" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbb3970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.7.3 Stage.png" width="37"></img></td>
<td><img alt="4 7 4 Dance" border="0" height="66" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4e3970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.7.4 Dance.png" width="37"></img></td>
<td><img alt="4 7 5 Profile" border="0" height="66" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d1757ee6970c-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.7.5 Profile.png" width="37"></img></td>
<td><img alt="4 7 6 News" border="0" height="66" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d1757ef7970c-pi" style="display: block; margin-left: auto; margin-right: auto;" title="4.7.6 News.png" width="37"></img></td>
</tr>
<tr>
<td align="right">5.5"</td>
<td><img alt="5 5 1 Sign Up" border="0" height="82" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4e8970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="5.5.1 Sign Up.png" width="46"></img></td>
<td><img alt="5 5 2 Popular" border="0" height="82" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4ec970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="5.5.2 Popular.png" width="46"></img></td>
<td><img alt="5 5 3 Stage" border="0" height="82" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d1757eea970c-pi" style="display: block; margin-left: auto; margin-right: auto;" title="5.5.3 Stage.png" width="46"></img></td>
<td><img alt="5 5 4 Dance" border="0" height="82" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4f0970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="5.5.4 Dance.png" width="46"></img></td>
<td><img alt="5 5 5 Profile" border="0" height="82" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbc6970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="5.5.5 Profile.png" width="46"></img></td>
<td><img alt="5 5 6 News" border="0" height="82" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba50f970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="5.5.6 News.png" width="46"></img></td>
</tr>
<tr>
<td align="right">9.7"</td>
<td><img alt="9 7 1 Sign Up" border="0" height="108" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4f4970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="9.7.1 Sign Up.png" width="81"></img></td>
<td><img alt="9 7 2 Popular" border="0" height="108" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d1757eee970c-pi" style="display: block; margin-left: auto; margin-right: auto;" title="9.7.2 Popular.png" width="81"></img></td>
<td><img alt="9 7 3 Stage" border="0" height="108" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba4f8970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="9.7.3 Stage.png" width="81"></img></td>
<td><img alt="9 7 4 Dance" border="0" height="108" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbce970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="9.7.4 Dance.png" width="81"></img></td>
<td><img alt="9 7 5 Profile" border="0" height="108" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbd5970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="9.7.5 Profile.png" width="81"></img></td>
<td><img alt="9 7 6 News" border="0" height="108" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d1757eff970c-pi" style="display: block; margin-left: auto; margin-right: auto;" title="9.7.6 News.png" width="81"></img></td>
</tr>
<tr>
<td align="right">iPad Pro, 12.9"</td>
<td><img alt="12 9 1 Sign Up" border="0" height="144" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdb9d970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="12.9.1 Sign Up.png" width="108"></img></td>
<td><img alt="12 9 2 Popular" border="0" height="144" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba503970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="12.9.2 Popular.png" width="108"></img></td>
<td><img alt="12 9 3 Stage" border="0" height="144" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c7eba507970b-pi" style="display: block; margin-left: auto; margin-right: auto;" title="12.9.3 Stage.png" width="108"></img></td>
<td><img alt="12 9 4 Dance" border="0" height="144" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d1757ef3970c-pi" style="display: block; margin-left: auto; margin-right: auto;" title="12.9.4 Dance.png" width="108"></img></td>
<td><img alt="12 9 5 Profile" border="0" height="144" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbd9970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="12.9.5 Profile.png" width="108"></img></td>
<td><img alt="12 9 6 News" border="0" height="144" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbe1970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="12.9.6 News.png" width="108"></img></td>
</tr>
</tbody>
</table>
</div>
<p>The point here is to show the transformation from itty bitty to really large, and all the steps in between. Moving down each column:</p>
<ol>
<li>The Sign Up view scales well, giving amble breathing room to the simple instructions, and framed by the animation thru the frosted blur.</li>
<li>The Popular view show grids of dances available, and scales extremely well! I do use two difference cell sizes, though.</li>
<li>The Stage view are meant to show just how much real estate is available to the content about to be shown.</li>
<li>Screenshots were captured via the simulator, which struggles to render at larger screen sizes. Thus the increasingly sparse Dance views. The good news is, not only is the UI designed to scale, but the dance (motion) content is captured and stored in a normalized data stream, such that it can be rendered in realtime to any screen size. On larger screens, I double the overall scale, and I might consider tripling it on the iPad Pro.</li>
<li>There are a set of views available to look at informational profiles and the overall community, and these don't make great use of larger screens. I can imagine showing more graphs rather than raw numbers.</li>
<li>Like the Profile view, the News view look great at smaller screen sizes, but don't look great on the larger screens. I have a new design in mind for news that will incorporate an iconic approach: user + action + dance + dancer(s) + textual description.</li>
</ol>
<p>OK, two last screenshots to give you a sense of just how large the iPad Pro really is:</p>
<div style="text-align: center;"><img alt="9 7 Landscape" border="0" height="460" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fd829970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="9.7 Landscape.png" width="614"></img><br>iPad Air 2 <img alt="12 9 Landscape" border="0" height="614" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01bb088fdbe7970d-pi" style="display: block; margin-left: auto; margin-right: auto;" title="12.9 Landscape.png" width="819"></img><br>iPad Pro</div></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=IzrtSmq1Gzo:5zrqHHXzU60:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=IzrtSmq1Gzo:5zrqHHXzU60:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=IzrtSmq1Gzo:5zrqHHXzU60:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=IzrtSmq1Gzo:5zrqHHXzU60:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=IzrtSmq1Gzo:5zrqHHXzU60:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=IzrtSmq1Gzo:5zrqHHXzU60:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=IzrtSmq1Gzo:5zrqHHXzU60:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=IzrtSmq1Gzo:5zrqHHXzU60:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=IzrtSmq1Gzo:5zrqHHXzU60:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/IzrtSmq1Gzo" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2015/11/ready-for-the-ipad-pro-1.htmlThe habits of note takingtag:typepad.com,2003:post-6a00d8341db43f53ef01b7c7d97195970b2015-10-06T00:07:50-07:002015-10-06T00:07:50-07:00The inside story of how $1 billion Evernote went from Silicon Valley darling to deep trouble "Evernote may be quickly drifting away from the glorified "unicorn" status." There is much to ponder here. @daringfireball says they should be “designing” better....deeje
<div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.businessinsider.com/evernote-is-in-deep-trouble-2015-10">The inside story of how $1 billion Evernote went from Silicon Valley darling to deep trouble</a></p>
<blockquote>
<p>"Evernote may be quickly drifting away from the glorified "unicorn" status."</p>
</blockquote>
<p>There is much to ponder here.</p><p>@daringfireball says they should be &ldquo;designing&rdquo; better. Maybe&#8230;</p>
<p>what did TEN global offices do?</p>
<p>more importantly, what is the realistic TAM for people who takes notes on mobile?</p>
<p>and even more importantly, what is the HABIT to instill in mobile users to value notes?</p>
<p>seems like they were at least trying to answer that last question.</p></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Pz-Vf9wScyE:1GNB60DLPWI:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Pz-Vf9wScyE:1GNB60DLPWI:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Pz-Vf9wScyE:1GNB60DLPWI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Pz-Vf9wScyE:1GNB60DLPWI:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Pz-Vf9wScyE:1GNB60DLPWI:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Pz-Vf9wScyE:1GNB60DLPWI:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Pz-Vf9wScyE:1GNB60DLPWI:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Pz-Vf9wScyE:1GNB60DLPWI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Pz-Vf9wScyE:1GNB60DLPWI:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/Pz-Vf9wScyE" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2015/10/the-habits-of-note-taking.htmltappr.tv Roadmap, 2015tag:typepad.com,2003:post-6a00d8341db43f53ef01bb0834db55970d2015-05-26T17:16:49-07:002015-05-26T17:16:49-07:00Intro Over the last 5 years, I've released 9 major versions of tappr.tv, with each release having a specific theme: Wands = basic input-output architecture Loops = recording and playback Dances = recording and playing back in time with a...deeje<div xmlns="http://www.w3.org/1999/xhtml"><h2>Intro</h2>
<p>Over the last 5 years, I've released 9 major versions of tappr.tv, with each release having a specific theme:</p>
<ol>
<li><strong>Wands</strong> = basic input-output architecture</li>
<li><strong>Loops</strong> = recording and playback</li>
<li><strong>Dances</strong> = recording and playing back in time with a song</li>
<li><strong>Community L1</strong> = publish dances and subscribe to favorite artists</li>
<li><strong>Effects and Inputs</strong> = symmetry mode, audio in, TouchOSC</li>
<li><strong>Live</strong> = dynamic BPM-based loops, network IO for real-time multi-device input</li>
<li><strong>Remix</strong> = enable members to remix a dance, adding tracks, and changing effects and wands</li>
<li><strong>Parallax</strong> = modernize the UI for iOS 7 and enhance the dynamic rendering of dance tracks thru parallax effects.</li>
<li><strong>Community L2</strong> = subscribe to other members, receive push notifications of significant events</li>
</ol>
<p>And as always, I've got a roadmap in mind for the future of tappr.tv:</p>
<ul>
<li><strong>3D</strong></li>
<li><strong>Apple TV</strong></li>
<li><strong>Web</strong></li>
<li><strong>Playlists</strong></li>
<li><strong>Wands</strong></li>
<li><strong>OSC</strong></li>
</ul>
<p>But, in order to keep marching forward, I have to address continuously evolving platform requirements. Specifically, Apple has mandated that all iOS apps be 64-bit compatible. At this point, I can't submit new builds until this compatibility is met.</p>
<p>Fortunately, I think I can knock off two birds with one stone…</p>
<h2>Getting to 64-bit</h2>
<p>The move to 64-bit involves updating the code to properly hold number and pointer values, which is fairly easy, as well as updating any third-party libraries to 64-bit builds, which can be problematic.</p>
<p>One of the biggest third-party libraries in use by tappr.tv is Cocos2D. All of the wands in tappr.tv are really just sets of parameters to a high-performance particle emitter system. For a variety of reasons, I'm still using a version 1 of Cocos2D, which obviously doesn't have any of the niceties found in later builds, like support for OpenGL ES 2.0, programmable pipelines, or 64-bit support.</p>
<p>I'm also interested in getting to 3D. Cocos2D has a companion project called Cocos3D, which I successfully used in Cosmogony startled applet in the <a href="https://itunes.apple.com/us/app/bjork-biophilia/id434122935?mt=8">björk Biophilia</a> app, and I'm glad to see it has moved forward as an open-source project.</p>
<p>But moving to later builds wouldn't be trivial, as there are significant changes to the API. And as Apple continues to relentless push forward with their platform technologies, relying on third-party libraries has become more and more of a liability.</p>
<p>Therefore, I think the time has come to replace Cocos2D with SceneKit.</p>
<h2>Getting to SceneKit</h2>
<p>SceneKit is a 3D object graph API built on top of OpenGL. It provides a high-level object-oriented framework for nest-able nodes, shapes, scenes, lights, and cameras, as well as low-level access to the OpenGL context. In sum, it provides everything I'll need to carry tappr.tv far into the future.</p>
<p>Implementing tappr.tv in SceneKit has unique challenges. The most significant is finding a way to implement the same particle emitter engine as Cocos2D, to best preserve the look and feel of existing dances. Fortunately, SceneKit offers a RenderDelegate protocol that should make porting the OpenGL code inside CCParticleSystem fairly straightforward. Of course, time will tell if its as easy as I make it out to be.</p>
<p>Once the core visuals have been ported, the next challenge will be to extend the event IO structure of dance tracks to include three dimensions, as well as to enable more kinds of render nodes beyond wands, such as camera and light nodes.</p>
<p>In the tappr.tv Theater, I can imagine a control somewhere around the stage that lets you toggle between dancing along with your own wand, or navigating around the space while the dance plays. And I can imaging integrating the GameController framework so that you can navigate with a controller with 6 degrees of freedom.</p>
<h2>Conclusion</h2>
<p>Re-implementing the wands of tappr.tv in SceneKit should make it much easier to achieve 64-bit compatibility, as well as set tappr.tv up for exciting new features in 3D. Stay tuned…</p>
</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=xYrJrWJef9Q:HZ8nd3Y6Aj8:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=xYrJrWJef9Q:HZ8nd3Y6Aj8:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=xYrJrWJef9Q:HZ8nd3Y6Aj8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=xYrJrWJef9Q:HZ8nd3Y6Aj8:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=xYrJrWJef9Q:HZ8nd3Y6Aj8:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=xYrJrWJef9Q:HZ8nd3Y6Aj8:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=xYrJrWJef9Q:HZ8nd3Y6Aj8:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=xYrJrWJef9Q:HZ8nd3Y6Aj8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=xYrJrWJef9Q:HZ8nd3Y6Aj8:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/xYrJrWJef9Q" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2015/05/tapprtv-roadmap-2015.htmliOS 8, Mail, Sound and Vibration Settingstag:typepad.com,2003:post-6a00d8341db43f53ef01b8d073d1d6970c2014-09-29T13:43:09-07:002014-11-09T10:57:47-08:00I've been using iOS 8 for months now, and love it overall. But I noticed something strange recently: even though I *thought* I had disabled sounds for mail notifications, my new iPhone 6 was still vibrating on every new message....deeje
<div xmlns="http://www.w3.org/1999/xhtml"><p>I've been using iOS 8 for months now, and love it overall. But I noticed something strange recently: even though I *thought* I had disabled sounds for mail notifications, my new iPhone 6 was still vibrating on every new message.</p>
<p>Turns out, Apple has separated sound and vibration as two distinct settings for Mail, and setting the sound to None does NOT set the vibration to None.</p>
<p>Here's a step by step showing you how and where to make these choices.</p>
<p>Note that Notifications for Mail are quite different from other apps, as you can set things up per account.</p>
<img style="display:block; margin-left:auto; margin-right:auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d073d1c7970c-pi" alt="Image1" title="image1.png" border="0" width="500" height="600" />
<p>Here I've drilled into my iCloud account, and you can see I chose None for Sound.</p>
<img style="display:block; margin-left:auto; margin-right:auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d073d1cc970c-pi" alt="Image2" title="image2.png" border="0" width="517" height="600" />
<p>Drilling in further, you can clearly see (now that I'm pointing it out) a separate Vibration setting.?,p>
<img style="display:block; margin-left:auto; margin-right:auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c6e9c70b970b-pi" alt="Image3" title="image3.png" border="0" width="600" height="568" />
<p>Drilling into that, and you'll find None all the way at the bottom :-(</p>
<img style="display:block; margin-left:auto; margin-right:auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b8d073d1d2970c-pi" alt="Image4" title="image4.png" border="0" width="337" height="600" />
<p>And then stepping back, we can see that both Sound and Vibration are set to None. Mystery solved.</p>
<img style="display:block; margin-left:auto; margin-right:auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01b7c6e9c711970b-pi" alt="Image6" title="image6.png" border="0" width="600" height="569" />
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Snz12HaJ3_E:ZYdov-MJcQc:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Snz12HaJ3_E:ZYdov-MJcQc:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Snz12HaJ3_E:ZYdov-MJcQc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Snz12HaJ3_E:ZYdov-MJcQc:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Snz12HaJ3_E:ZYdov-MJcQc:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Snz12HaJ3_E:ZYdov-MJcQc:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Snz12HaJ3_E:ZYdov-MJcQc:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=Snz12HaJ3_E:ZYdov-MJcQc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=Snz12HaJ3_E:ZYdov-MJcQc:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/Snz12HaJ3_E" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2014/09/ios-8-mail-sound-and-vibration-settings.htmltappr.tv - a stumble and 2 key learningstag:typepad.com,2003:post-6a00d8341db43f53ef019b04560bc8970d2014-01-06T15:11:53-08:002014-01-06T15:11:53-08:00I'd like to share with you a hard-earned lesson in app release strategy. I've been working on tappr.tv for over 3 years now, and I've collected a ton of data along the way. One of the fundamental metrics, of course,...deeje
<div xmlns="http://www.w3.org/1999/xhtml"><p>I'd like to share with you a hard-earned lesson in app release strategy.</p>
<p>I've been working on tappr.tv for over 3 years now, and I've collected a ton of data along the way. One of the fundamental metrics, of course, is downloads, which is the top of any revenue-generating funnel. Over the years, I've noticed some interesting dynamics around the holidays, and I've been able to increase my download rate 4x year over year.</p>
<p>But with the recent v8 update, something went wrong&#8230; very wrong.</p>
<p>Here's a graph showing tappr.tv downloads over the last 2 years.</p>
<img style="display:block; margin-left:auto; margin-right:auto;" src="http://blog.deeje.tv/.a/6a00d8341db43f53ef01a5107853f2970c-pi" alt="Downloads thru 2013" title="downloads thru 2013.png" border="0" width="600" height="271" />
<p>Some observations:
<ul>
<li>My data actually goes back 3 years, and other than a few anomalies, I can see an overall 4x increase in downloads year over year.</li>
<li>Downloads are inversely proportional to the lengths of the day. <a href="http://blog.deeje.tv/musings/2013/08/tapprtv-usage-analysis-mid-2013.html">Summer months are the slowest</a>. With the end of summer (and start of school?), download rates accelerate, and crescendo in the middle of winter.</li>
<li>Every year, there's a holiday bump.</li>
<li>As you can see, there is a distinct drop with the release of v8.</li>
</ul>
</p>
<p>What happened?!</p>
<p>Well, the v8 release of tappr.tv was a big one, and the culprit is likely one of these:
<ul>
<li>A <a href="http://blog.deeje.tv/musings/2013/11/tapprtv-v8-in-ios-7-sneak-peek.html">complete redesign of the app for iOS 7</a>?</li>
<li>A reconfiguration of the first launch experience?</li>
<li>I didn't issue a press release for this version?</li>
<li>No localized app store descriptions?</li>
</ul>
</p>
<p>After some analysis, I can conclude that the culprit is the last, localization. I had added localized app store descriptions a few years ago on a whim, and hadn't properly acknowledged their effect on my download rates.In hindsight, I understand now that it helped my download rates considerably.</p>
<p>With the v8 release, I ran out of time, and deleted them. Unfortunately, because I released this version right before Thanksgiving, I didn't properly understand the impact until late December, too late to submit a new build (with localized app store descriptions) in time for Christmas and New Years.</p>
<p>After the iTC winter break, I was able to submit a new build, with localized app store descriptions, and immediately download rates doubled, which tends to give credence to my assessment. Unfortunately, tappr.tv has likely missed the holiday bump for 2014.<p>
<p>So now I have two new key learnings to work with:
<ul>
<li>Don't under-estimate the power of localization.</li>
<li>Don't try to rush thru a big release, with lots of changing variables, right before Thanksgiving.</li>
</ul>
</p>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/deeje/musings?a=B7THaU59GhU:3GnCPffyw7c:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=B7THaU59GhU:3GnCPffyw7c:3QFJfmc7Om4" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=B7THaU59GhU:3GnCPffyw7c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=B7THaU59GhU:3GnCPffyw7c:2nqncYFp4_M"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=2nqncYFp4_M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=B7THaU59GhU:3GnCPffyw7c:ozPqQDaSF7U"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=B7THaU59GhU:3GnCPffyw7c:ozPqQDaSF7U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=B7THaU59GhU:3GnCPffyw7c:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/deeje/musings?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/deeje/musings?a=B7THaU59GhU:3GnCPffyw7c:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/deeje/musings?i=B7THaU59GhU:3GnCPffyw7c:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/deeje/musings/~4/B7THaU59GhU" height="1" width="1" alt=""/>http://blog.deeje.tv/musings/2014/01/tapprtv-a-stumble-and-2-key-learnings.html