<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>John Cannon on John Cannon</title>
    <link>https://www.johncannon.me/</link>
    <description>Recent content in John Cannon on John Cannon</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>&amp;copy; 2020 John Cannon</copyright>
    <lastBuildDate>Wed, 20 Apr 2016 00:00:00 +0000</lastBuildDate>
    <atom:link href="/" rel="self" type="application/rss+xml" />
    
    <item>
      <title>High Performance Graphics Optimizations in Tónandi</title>
      <link>https://www.johncannon.me/conference_talk/high-perf-graphics-tonandi/</link>
      <pubDate>Thu, 11 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/conference_talk/high-perf-graphics-tonandi/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Tónandi</title>
      <link>https://www.johncannon.me/project/tonandi/</link>
      <pubDate>Wed, 08 Aug 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/tonandi/</guid>
      <description>&lt;p&gt;Tónandi is an interactive audio-visual exploration of the sounds and spirit of Sigur Rós in which use your hands and body to connect with a lush sensory ecosystem that grows and surrounds you transforming your environment.&lt;/p&gt;

&lt;p&gt;Built with Unity for Magic Leap 1.&lt;/p&gt;

&lt;p&gt;I was part of a small development team internally from prototypes through production.  My part focused primarily on GPU simulations, rendering, and application performance but I was involved in many areas of the experience and collaborating with outside creative talent.  We implemented custom GPU particle systems and various physics and behavioral simulations using compute shaders to build creatures such as Verlet integrated grass and flocking/swarming fish.&lt;/p&gt;

&lt;h3&gt;GPU Flocking&lt;/h3&gt;

&lt;p&gt;One of the most complex simulations in the experience is a GPU simulated flock of fish-like creatures.  The fish are simulated with a traditional flocking algorithm, which means we implemented a GPU-side reduction algorithm to calculate average position and velocity of the boids.  We also needed to get information from the nearest neighboring boids which is complicated in a GPU setting.  We approximate the nearest-neighbor search by sorting the boids in a 3D cube structure with a bitonic sort use the neighboring cells as the nearest neighbors.&lt;/p&gt;

&lt;h3&gt;LEAP Conference Talk&lt;/h3&gt;

&lt;p&gt;As part of our first LEAP Conference, I presented insights learned from the development of Tónandi along with Mike Tucker and Blake Taylor.&lt;/p&gt;

&lt;div style=&#34;position: relative; width: 100%; height: 0; padding-bottom: 56.25%&#34;&gt;&lt;iframe style=&#34;position: absolute; top:0; left: 0; width: 100%; height: 100%&#34; src=&#34;https://www.youtube.com/embed/eSzAFlcWcSw&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h3&gt;Screenshots&lt;/h3&gt;

&lt;p&gt;&lt;img src=&#34;../../img/tonandi-1.png&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;../../img/tonandi-2.png&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;../../img/tonandi-3.png&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;../../img/tonandi-4.png&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>I Am A Witness</title>
      <link>https://www.johncannon.me/project/bully/</link>
      <pubDate>Thu, 05 Nov 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/bully/</guid>
      <description>&lt;p&gt;An interactive web video for an Ad Council campaign&lt;/p&gt;

&lt;p&gt;Built in HTML5 and JavaScript.&lt;/p&gt;

&lt;p&gt;There are two animations that represent the &amp;ldquo;good&amp;rdquo; and &amp;ldquo;bad&amp;rdquo; timelines of a story.  The user is able to interact with it by clicking/tapping to change the outcome of situations.  Apple mandated that videos play in their fullscreen player which made it difficult to have the video transitions occur.  I helped R&amp;amp;D alternative methods of rendering the video that worked around this limitation.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Kellogg’s® Pop-Up Adventures featuring Disney Parks</title>
      <link>https://www.johncannon.me/project/kelloggs/</link>
      <pubDate>Thu, 05 Feb 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/kelloggs/</guid>
      <description>&lt;p&gt;Interactive experience/promotion for Kellogg&amp;rsquo;s cereal.&lt;/p&gt;

&lt;p&gt;Built with Unity 4, released on iOS, Android, and Kindle Fire.&lt;/p&gt;

&lt;p&gt;Led inital development and interfaced with clients.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Prince - A la poursuite du trésor perdu</title>
      <link>https://www.johncannon.me/project/prince/</link>
      <pubDate>Mon, 05 Jan 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/prince/</guid>
      <description>&lt;p&gt;An advergame for Mondelez International promoting their Prince brand of cookies.  Infinite running platformer with character interstitials.&lt;/p&gt;

&lt;p&gt;Built with Unity 5.  Released on iOS, Android, and web in European markets.&lt;/p&gt;

&lt;p&gt;I led development and interfaced with clients.  I coordinated rigging and animation support for the characters being imported into Unity.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Moonbeeps: Hide &amp; Seek</title>
      <link>https://www.johncannon.me/project/moonbeeps-hideseek/</link>
      <pubDate>Sun, 05 Oct 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/moonbeeps-hideseek/</guid>
      <description>&lt;p&gt;A children’s game where you play hide and seek by searching a virtual world for hidden characters&lt;/p&gt;

&lt;p&gt;Built with Unity 5.  Released on iOS, tvOS, Android, and Kindle Fire.&lt;/p&gt;

&lt;p&gt;I oversaw the development team and did some initial visual R&amp;amp;D.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Moonbeeps: Fireflies</title>
      <link>https://www.johncannon.me/project/moonbeeps-fireflies/</link>
      <pubDate>Thu, 05 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/moonbeeps-fireflies/</guid>
      <description>&lt;p&gt;A digital toy that lets you wander around in a tranquil, stylistic forest and collect fireflies.  Can also be used as a nightlight.&lt;/p&gt;

&lt;p&gt;Built with Unity 5, released on iOS, Google Play, and Kindle Fire.&lt;/p&gt;

&lt;p&gt;I developed visual techniques and oversaw the development team.  For fun, I ported it to Oculus Rift for in-house demos.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Autobot Build System</title>
      <link>https://www.johncannon.me/project/autobot/</link>
      <pubDate>Sat, 05 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/autobot/</guid>
      <description>&lt;p&gt;An in-house build server with over-the-air distribution for iOS and Android that combines the Jenkins CI server with custom build scripting and a web frontend for over-the-air distribution of iOS and Android binaries.&lt;/p&gt;

&lt;p&gt;I developed this as a way to provide easy access to up-to-date internal builds of all of our applications without developer intervention.  This massively improved developer productivity and alleviated stress before performing releases as the build system could guarantee proper builds with correct settings.&lt;/p&gt;

&lt;p&gt;Written primarily in Go and JavaScript.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Lollipop 3</title>
      <link>https://www.johncannon.me/project/lollipop3/</link>
      <pubDate>Wed, 05 Feb 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/lollipop3/</guid>
      <description>&lt;p&gt;A wacky game like &amp;ldquo;finger Twister&amp;rdquo; with eggs and cute animals.&lt;/p&gt;

&lt;p&gt;Built with Unity 4, released on iOS, Android, and Kindle Fire.&lt;/p&gt;

&lt;p&gt;I developed the original idea and prototype as part of a company game jam.  The idea was to use multiple fingers in a Twister-like fashion to grab eggs falling from the top of the screen and hold them until they hatched.  It evolved into a freemium game matched with one of our existing IPs.&lt;/p&gt;

&lt;p&gt;I was one of the primary developers on the project implementing gameplay, social, and in-app purchase features.  I also provided translation assistance for Spanish and tools for integrating with external translators through Google Docs.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Chipotle Scarecrow</title>
      <link>https://www.johncannon.me/project/chipotle-scarecrow/</link>
      <pubDate>Fri, 27 Sep 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/chipotle-scarecrow/</guid>
      <description>&lt;p&gt;An advergame for Chipotle Mexican Grill that promotes conversation about food quality.&lt;/p&gt;

&lt;p&gt;Built with Unity 4, released on iOS.&lt;/p&gt;

&lt;p&gt;I led the development team and interfaced with the client.  I implemented several game systems and visual techniques.
The app and companion short film won several awards including 4 Webbys and 2 Daytime Emmys.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IMAG·N·O·TRON: Morris Lessmore Edition</title>
      <link>https://www.johncannon.me/project/morris-imagnotron/</link>
      <pubDate>Sun, 05 Feb 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/morris-imagnotron/</guid>
      <description>&lt;p&gt;An augmented reality companion for the Morris Lessmore book that brings the pages of the book to life and even reads it to kids.&lt;/p&gt;

&lt;p&gt;Built with Unity 4, released on iOS.&lt;/p&gt;

&lt;p&gt;I was the primary developer working closely with asset production to implement the interactions for each page.  I also developed portal shaders to create virtual holes into the physical book.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The Numberlys</title>
      <link>https://www.johncannon.me/project/numberlys/</link>
      <pubDate>Wed, 05 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/numberlys/</guid>
      <description>&lt;p&gt;A Webby Award-winning app and an epic homage to Fritz Lang’s Metropolis – but for kids.&lt;/p&gt;

&lt;p&gt;Built with Cocos2d with some custom video texture work, released on iOS.&lt;/p&gt;

&lt;p&gt;I developed much of the architecture and implemented several mini-games.  I wrote a custom video-to-texture renderer for rendering high quality videos as part of the interactive components in the game.  I also created tools to fix-up the alpha channel of images to enhance compression of files coming from the asset production pipeline.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>2013 Ford Fusion App</title>
      <link>https://www.johncannon.me/project/ford-fusion/</link>
      <pubDate>Mon, 05 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/ford-fusion/</guid>
      <description>&lt;p&gt;An interactive experience that was part of a marketing reveal for the redesigned 2013 Ford Fusion.&lt;/p&gt;

&lt;p&gt;Built with Unity 3, released on iOS and Android.&lt;/p&gt;

&lt;p&gt;I was one of two primary developers on the project dealing with most systems in the app.  I also developed a few in-house Unity tools for managing import of course layouts from Maya.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>TreeMap enhancements</title>
      <link>https://www.johncannon.me/project/treemap/</link>
      <pubDate>Wed, 05 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/treemap/</guid>
      <description>&lt;p&gt;As part of one of my Master&amp;rsquo;s Degree programming projects at LSUS I attempted to use the SOM algorithm to enhance the TreeMap visualization.  The idea was to arrange the constituent rectangles within a group based on their similarity. The problem proved very difficult, and despite efforts to improve the algorithm, the results were not better than a normal ordered TreeMap. (&lt;a href=&#34;https://www.johncannon.me/docs/Treemap.pdf&#34;&gt;Manuscript&lt;/a&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Stereo 3D Visualizations</title>
      <link>https://www.johncannon.me/project/stereo-visualiztions/</link>
      <pubDate>Mon, 05 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.johncannon.me/project/stereo-visualiztions/</guid>
      <description>&lt;p&gt;In our lab we had a stereoscopic projection system (via two projectors and polarizing filters).  It was impressive at a time when 3D TVs and projectors practically didn&amp;rsquo;t exist yet.  I developed OpenGL applications that work in stereo for visualizing the SOM layouts from the SOM algorithms.  This enhanced the readability of the visualizations when the screen becomes cluttered with numerous objects. I also made stereo images with POV-Ray and converted them into videos.&lt;/p&gt;

&lt;p&gt;I made a custom stereo video player that read files in the Matroska container format (which was the first that allowed storing stereo video) and would display this video on our projection system while maintaining sync.  This was used when some visualizations required offline rendering.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
