<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Brian Jeremy Kupetz &#124; brianjeremy.com &#124; my blog, who i am, what i do, what i've done, how to reach me, links &#187; ActionScript</title>
	<atom:link href="http://www.brianjeremy.com/category/actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brianjeremy.com</link>
	<description>who am i, what do i do, what have i've done?</description>
	<lastBuildDate>Sat, 24 Jul 2010 13:12:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The making of a ringtone generator</title>
		<link>http://www.brianjeremy.com/2009/06/07/the-making-of-a-ringtone-generator/</link>
		<comments>http://www.brianjeremy.com/2009/06/07/the-making-of-a-ringtone-generator/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 02:26:35 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Interactive Advertising]]></category>
		<category><![CDATA[Recent Works]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=316</guid>
		<description><![CDATA[**Note, before you read this scroll down and click the &#8216;preview&#8217; button to pause the application while you read this article.  The preview button is located to the right of the pan &#038; volume.
In late 2008 Coca-Cola asked Juxt to create a ringtone generator for their Sprite brand.  The concept was fairly fairly [...]]]></description>
			<content:encoded><![CDATA[<p><strong>**Note, before you read this scroll down and click the &#8216;preview&#8217; button to pause the application while you read this article.  The preview button is located to the right of the pan &#038; volume.</strong></p>
<p>In late 2008 <a href="http://www.coca-cola.com">Coca-Cola</a> asked <a href="http://www.juxtinteractive.com">Juxt</a> to create a ringtone generator for their <a href="http://www.sprite.com">Sprite</a> brand.  The concept was fairly fairly straight forward, create an engaging rich media campaign for Sprite that would supplement and drive additional traffic to their under the cap program.  The under the cap program gives participants a digital prize on their mobile phone every time they text a cap code found under the cap of a 20 oz Sprite.</p>
<p>The rich media unit allowed visitors to mix custom samples to create a ringtone which then could be sent to their mobile phone.  The mechanism for delivery of the ringtone was sending a text message with a unique code to 77483 [Sprite's short code].  The unique code was determined by the selection and pattern of samples chosen in the mixer.</p>
<p>So far so good, four samples (drums, bass, lead, and synth) and four measures the only piece missing is a creative mind to mix yourself a ringtone.  This is where things get both complicated and interesting.  Due to the hosting environment infrastructure and mobile messaging platform we were unable to create ringtones on demand in real-time.  Instead we were require to create all possible combination of ringtones in advance.  Using a 4&#215;4 grid of samples and measures we are left with  65,536 possible combination&#8217;s but one option is complete silence so our magic number is 65,535 distinct ringtone possibilities.</p>
<p>We tried a wide variety of different software applications to sequence audio tracks to generate our 65,535 ringones.  However, after much research we determined that each piece of software resulted in poor results.  For the most part, desktop applications weren&#8217;t able to process the sheer bulk size of the files we were trying to sequence.  It became evident that this wasn&#8217;t going to be an easy task.  Eventually I found a audio conversion application for linux called <a href="http://sox.sourceforge.net/">the Swiss Army knife of sound processing</a> (SOX).  After trial and error and a make shift syntax manual I was able to join four samples (drums, bass, synth, lead) so they all played at the same time.  Success.  Well, not quite success but progress.</p>
<p>Having a solution to merge audio tracks was comforting, but there was still a few more hurdles.  Mainly, how do I go from creating one combination to over sixty-five thousand, and how would I generate a code that could easily be interpreted by the Flash mixing interface so the right SMS code could be generated?  Since SOX is a linux tool it made sense to create a script to write an application to sequence the ringtones.  PHP was an obvious candidate, its available, easy to write, and very robust. I am going to spare the details of the contents of the script, but I can tell you that it used bit arrays, translation, loops, and math.  As I mentioned previously matching the code to a specific ringtone is extremely important.  If you are in the industry you are aware that banners and rich media units have file size requirements.  In our case the flash mixer needed to be less than 100k.  The design and functionality already left us at nearly 100k which meant we didn&#8217;t have room for logic in the application and we could not load a mapping into the flash application via XML because the file size would be ~5MB which would kill the experience.  </p>
<p>Regardless, we found a pattern relying on hex that allowed us to use a simple naming scheme that the mixer could understand with very little logic.  Then we modified the naming convention slightly to make sure we didn&#8217;t generate any codes that matched data in the 18,000 row document explaining how to spell vulgar or inappropriate terms using your keypad. After generating 65,535 ringtones in a number of formats we put them on a terabyte drive sent them to an unnamed country in Europe and the rest is history, run through the MTV or VHS properties to find the ringtone mixer and get yourself a new ringtone.</p>
<div id="player">
		<script type="text/javascript">
                               var so = new FlashObject("/portfolio/2009-sprite-under-the-cap-ringtone-mixer/mixer.swf", "player", "500", "300", "9");
				so.write("player");
		</script>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2009/06/07/the-making-of-a-ringtone-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JUXT Interactive Brand Board</title>
		<link>http://www.brianjeremy.com/2009/04/05/juxt-interactive-brand-board/</link>
		<comments>http://www.brianjeremy.com/2009/04/05/juxt-interactive-brand-board/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 08:45:01 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Alltop]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Interactive Advertising]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Recent Works]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=312</guid>
		<description><![CDATA[So, below are our  current and/or former clients.  These are the folks I dedicate my life to providing great service too.  Enjoy this is a teaser as the new JUXT site will be launched tomorrow with a new portfolio of our work.

]]></description>
			<content:encoded><![CDATA[<p>So, below are our  current and/or former clients.  These are the folks I dedicate my life to providing great service too.  Enjoy this is a teaser as the new JUXT site will be launched tomorrow with a new portfolio of our work.</p>
<p><a href="http://www.brianjeremy.com/_media/juxt-interactive-brand-board.gif"><img class="alignnone size-full wp-image-313" title="juxt-interactive-brand-board" src="http://www.brianjeremy.com/_media/juxt-interactive-brand-board.gif" alt="Juxt Inteactive Brand Board" width="500" height="261" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2009/04/05/juxt-interactive-brand-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Casa Lib ActionScript 3.0 Library Released</title>
		<link>http://www.brianjeremy.com/2008/12/15/casa-lib-actionscript-30-library-released/</link>
		<comments>http://www.brianjeremy.com/2008/12/15/casa-lib-actionscript-30-library-released/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 19:00:01 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.brianjeremy.com/?p=293</guid>
		<description><![CDATA[The Release
Formerly known as the Casa Framework, Casa Lib recently launched its updated ActionScript 3.0 compatibility version. Over the years the project was renamed from the Casa Framework to the Casa Lib since it became apparent that it provides features more closely related to a code library than a framework.  The open-source library is intended for ActionScript [...]]]></description>
			<content:encoded><![CDATA[<h3>The Release</h3>
<p>Formerly known as the <a title="Casa Framework" href="http://casalib.org/" target="_self">Casa Framework</a>, <a title="Casa Lib" href="http://casalib.org/" target="_self">Casa Lib</a> recently launched its updated ActionScript 3.0 compatibility version. Over the years the project was renamed from the Casa Framework to the Casa Lib since it became apparent that it provides features more closely related to a code library than a framework.  The open-source library is intended for ActionScript 3.0/Flex developers to gain efficiencies of scale: code faster, with greater standardization, reliability, and flexibility.</p>
<p>The library provides core classes, utilities, and interfaces for both AS2/AS3.  A few touts of the latest release include such features as a standardized external load API, improved rapid garbage collection, the ability to remove listeners with IRemovableEventDispatcher, and an abundance of utility classes for common manipulations.  Though this is the initial AS3 &#8220;stable&#8221; public release it has been reliably tested on numerous high-profile production AS3 driven websites.  For a partial list of sites that have been built using the Casa Framework/CasaLib you will find a great list <a title="Built w/ Casa" href="http://wiki.casaframework.org/wiki/Built_With" target="_self">here</a>.</p>
<p>I had a quick back-and-forth with Aaron this morning and the future of Casa Lib looks bright! As <a title="www.adobe.com" href="http://www.adobe.com" target="_self">Adobe</a> releases flash player version 10 (code named &#8220;Astro&#8221;) the Casa team is planning to begin integrating features and utilities for FP10 in coming releases.</p>
<p>You can obtain version 1.0.0 of the library via download at <a href="http://as3.casalib.org/releases/1.0.0/1.0.0.zip">http://as3.casalib.org/releases/1.0.0/1.0.0.zip</a> or via SVN Repository at <a href="http://svn.as3.casalib.org/releases/1.0.0/">http://svn.as3.casalib.org/releases/1.0.0/</a> Additionally the documentation can be found here: <a href="http://as3.casalib.org/releases/1.0.0/docs/">http://as3.casalib.org/releases/1.0.0/docs/</a></p>
<h3>The History</h3>
<p>Casa was originally created by Flash guru <a title="Aaron Clinger" href="http://aaronclinger.com/" target="_self">Aaron Clinger</a> in 2005, making its first public appearance in early 2007.  From 2006 &#8211; 2008 Aaron held the role of Lead Developer at <a title="Odopod" href="http://www.odopod.com/" target="_self">Odopod</a>, the world renown San Francisco design studio.  It wasn&#8217;t soon later that <span class="given-name"><a title="Mike Creighton" href="http://www.mikecreighton.com/" target="_self">Mike Creighton</a> joined as co-lead of the project.  Currently Aaron and Mike are both consulting and available for freelance work.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianjeremy.com/2008/12/15/casa-lib-actionscript-30-library-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
