<?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>Chris Herring &#187; flash</title>
	<atom:link href="http://blog.chrisherring.co.uk/tag/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.chrisherring.co.uk</link>
	<description>Interaction, development and everything in between...</description>
	<lastBuildDate>Thu, 10 Mar 2011 09:34:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Available elsewhere</title>
		<link>http://blog.chrisherring.co.uk/2010/05/16/available-elsewhere/</link>
		<comments>http://blog.chrisherring.co.uk/2010/05/16/available-elsewhere/#comments</comments>
		<pubDate>Sun, 16 May 2010 15:53:50 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=777</guid>
		<description><![CDATA[The following was written for my current employers April newsletter. The flash team recently went along to the Adobe Creative Suite 5 launch party to learn about some of the new features we can look forward to in Flash Player 10.1. One of the common moans users have about Flash Player is the affect it [...]]]></description>
			<content:encoded><![CDATA[<p>The following was written for my current <a href="http://www.gluelondon.com" target="_blank">employers</a> April newsletter.</p>
<p>The flash team recently went along to the Adobe Creative Suite 5 launch party to learn about some of the new features we can look forward to in Flash Player 10.1.</p>
<p>One of the common moans users have about Flash Player is the affect it has upon their computer’s processors which results in their laptop battery being drained. Flash Player is based upon a frame rate, and the frame rate determines how many times code is executed per second. Imagine if you have your web browser open with 10 tabs of the same Flash movie running. Even though you can only see one tab, all 10 Flash movies would be running at say 31fps, subsequently draining your laptop battery. Now with Flash Player 10.1 the player automatically detects whether a Flash movie is hidden in a tab and automatically reduces its frame rate to 2fps.</p>
<p>When working with just English it is easy to overlook how different languages display text information. For instance Japanese text is read vertically, while Arabic text is read from right to left. Previously this would require a clever code, however the text engine in Flash Player 10.1 has been vastly improved, adding the ability to change the direction and orientation of text.</p>
<p>Recent releases of Firefox, Google Chrome and Internet Explorer added ‘private browsing mode’, which when activated, enables the user to browse the Internet knowing that any data about sites and pages they have visited will not be saved by their web browser. Flash Player 10.1 now automatically checks and adjusts to the web browser’s ‘private browsing mode&#8217;, so any Local Shared Objects which can store information about a user’s visits in Flash sites will not be remembered when private browsing is turned off.</p>
<p>Finally, have you ever been watching a piece of full screen video when after a couple of minutes your screensaver appears? Flash Player 10.1 now has the ability to disable your screensaver whilst your video is playing or buffering. Great stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2010/05/16/available-elsewhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The bit between pixels</title>
		<link>http://blog.chrisherring.co.uk/2009/10/19/the-bit-between-pixels/</link>
		<comments>http://blog.chrisherring.co.uk/2009/10/19/the-bit-between-pixels/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 21:53:31 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[pixels]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=738</guid>
		<description><![CDATA[A little Actionscript 3.0 function to help to find those DisplayObjects in Flash which are placed on half pixels and then snap them back into place. Although you can just leave them floating on half pixels if you want! private function displayListSnapper(container:DisplayObjectContainer, round:Boolean, debug:Boolean, indent:String = ""):void { var child:DisplayObject; for (var i:uint=0; i < [...]]]></description>
			<content:encoded><![CDATA[<p>
A little Actionscript 3.0 function to help to find those DisplayObjects in Flash which are placed on half pixels and then snap them back into place. Although you can just leave them floating on half pixels if you want!
</p>
<p><code><br />
private function displayListSnapper(container:DisplayObjectContainer, round:Boolean, debug:Boolean, indent:String = ""):void<br />
{<br />
  var child:DisplayObject;<br />
  for (var i:uint=0; i < container.numChildren; i++)<br />
  {<br />
    child = container.getChildAt(i);</p>
<p>	if(round == true)<br />
	{<br />
     child.x = Math.round(child.x);<br />
     child.y = Math.round(child.y);<br />
	}</p>
<p>	if(debug == true)<br />
	{<br />
	 trace(indent + "DisplayObject: " +child + ":: Name: " +  child.name + " :: x:" + child.x + " :: y:" + child.y);<br />
	}</p>
<p>	if (container.getChildAt(i) is DisplayObjectContainer)<br />
	{<br />
	 roundDisplayList(DisplayObjectContainer(child), round, debug, indent + "^^^")<br />
	}<br />
  }<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/10/19/the-bit-between-pixels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sequential Randomness</title>
		<link>http://blog.chrisherring.co.uk/2009/08/20/sequential-randomness/</link>
		<comments>http://blog.chrisherring.co.uk/2009/08/20/sequential-randomness/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 15:48:49 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Perlin Noise]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=649</guid>
		<description><![CDATA[Perlin Noise can be a great way of adding some sequential random movement to an animation or an effect. Originally used in the used in the 1982 film Tron Perlin Noise is a procedural texture used by 3D Artists ever since to make large textures appear more natural. Although we&#8217;ve not going to start texturing [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Perlin Noise can be a great way of adding some sequential random movement to an animation or an effect. Originally used in the used in the 1982 film <a href="http://en.wikipedia.org/wiki/Tron_(film)" target="_blank">Tron</a> Perlin Noise is a procedural texture used by 3D Artists ever since to make large textures appear more natural.</p>
<p style="text-align: left;">
Although we&#8217;ve not going to start texturing large areas, what we can produce in Flash with Perlin Noise is controlled and sequential randomness. Don&#8217;t laugh. The first thing to do is generate a Perlin Noise image with the following line of AS3 code.
</p>
<p><code><br />
var pNoise:BitmapData = new BitmapData( 550, 75);<br />
pNoise.perlinNoise( 100, 80, 9, Math.random()*100, true, true )<br />
addChild(new  Bitmap(pNoise));<br />
</code></p>
<p style="text-align: left;">The above code generates a Perlin Nose image like this.</p>
<p style="text-align: center;"><img class="aligncenter" title="Perlin Noise " src="http://blog.chrisherring.co.uk/wp-content/uploads/images/perlin_noise_example.jpg" alt="" width="550" height="100" /></p>
<p style="text-align: left;">The next step is to get the pixel colour at 0, 0 on the Perlin Noise image, and convert it into a number. We can slowly move across the Perlin Noise image generating numbers which will form a pattern similar to this 0.62, 0.64, 0.66, 0.7, 0.66, 0.60, 0.58. The numerical pattern changes as the coloured clouds merge into each other, and due to this the pattern is sequential and coloured clouds controls the randomness. Therefore no anomalies are produced.</p>
<p style="text-align: left;">
Below I&#8217;ve created a little Flash movie which draws a pixel line based upon the Perlin Noise. I&#8217;ve then multiplied this 4 times changing the colour and the result resembles a mountain stage in the Tour De France.
</p>
<p id="PerlinNoise" style="margin-left:15px; text-align: left;">Flash is displayed here</p>
<p><script src="http://blog.chrisherring.co.uk/wp-content/js/swfobject.js" type="text/javascript"></script> <script type="text/javascript"><!--
var s6 = new SWFObject('http://blog.chrisherring.co.uk/wp-content/experiments/perlin_noise/perlin_noise.swf','player','550','100','9', '#eaeaea');
s6.addVariable("basePath", "http://blog.chrisherring.co.uk/wp-content/experiments/perlin_noise/")
s6.write('PerlinNoise');
// --></script></p>
<p style="text-align: left;">Perlin Noise for controlled and sequential randomness!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/08/20/sequential-randomness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Placing Particles</title>
		<link>http://blog.chrisherring.co.uk/2009/07/27/placing-particles/</link>
		<comments>http://blog.chrisherring.co.uk/2009/07/27/placing-particles/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 09:07:51 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[particles particles]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=481</guid>
		<description><![CDATA[Papervision is great but I sometimes feel that I would be a lot better off with a greater understanding of 3D Math. Therefore this post based upon an experiment I did a little while ago, with the aim of generating a sphere of particles and improving my 3D Math. The following picture is close to [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Papervision" href="http://blog.papervision3d.org/" target="_blank">Papervision </a>is great but I sometimes feel that I would be a lot better off with a greater understanding of 3D Math. Therefore this post based upon an experiment I did a little while ago, with the aim of generating a sphere of particles and improving my 3D Math.</p>
<p>The following picture is close to what I intended to achieve, however due to the very high number of particles with the sphere Papervision struggles render it. In this case switching to <a title="Flint Particle System" href="http://flintparticles.org/" target="_blank">Flint</a>, and using their 3D particle system would probably be a better idea. </p>
<p style="margin-left:15px;"><img class="center" title="Particle Globe" src="http://blog.chrisherring.co.uk/wp-content/uploads/images/globe.gif" alt="" width="550" height="306" /></p>
<p>Time to get gritty! The block of code below creates a sphere of Particles. The for loops below increase in specified steps for latitude and longitude, unlike your normal for loop which counts from 0 to whatever in single increments this stepped process enables us to distribute the Particles at an even distance. The sine wave calculation Math.sin(lat*Math.PI/180) is important for placing the particles in a spherical shape. A positive sine wave multiplied by PI  divided by 180 creates us a semi-circle, combined with a negative <a title="Sine Wave" href="http://en.wikipedia.org/wiki/Sine_wave" target="_blank">sine wave</a> we get a full circle. With in the two for loops I&#8217;ve also added a random if statement so that Papervision doesn&#8217;t struggle to render a high number of Particles, but still keeps the shape of a high density particle sphere. It&#8217;s also worth noting that I&#8217;ve created a class which extends the Particle class in Paperivision called Dot,  to which I&#8217;m passing the calculated x y z values, these are then stored so that the Particles can be tweened from a random x y z to form a sphere. I&#8217;ve done this only for visual reasons!</p>
<p><code><br />
for (var lat:Number = -90; lat<90; lat+=(360/dens))<br />
{<br />
     var radius:Number = Math.cos(lat * Math.PI / 180) * size;<br />
     var circumference:Number = (2*Math.PI*radius);<br />
     var numberOfDots:Number = Math.floor(dens*circumference)/size;</p>
<p>     for (var long:Number = 0; long<360; long+=(360/numberOfDots))<br />
     {<br />
          if (Math.floor(Math.random()*8) == 1)<br />
          {<br />
               part =  new Dot(Math.cos(long*Math.PI/180)*radius,<br />
                                       Math.sin(lat*Math.PI/180)*size,<br />
                                       Math.sin(long*Math.PI/180)*radius );<br />
               this.particleArray.push(part);<br />
               this.particleHolder.addParticle(part);<br />
          }<br />
     }<br />
}<br />
</code><br />
Click below in order to activate the Flash movie.</p>
<p id="PlacingParticles" style="margin-left:15px;">The following is a no flash image</p>
<p><script src="http://blog.chrisherring.co.uk/wp-content/js/swfobject.js" type="text/javascript"></script> <script type="text/javascript"><!--
var s3 = new SWFObject('http://blog.chrisherring.co.uk/wp-content/swf/PlacingParticles.swf','player','550','400','9'); s3.write('PlacingParticles');
// --></script></p>
<p>In end the outcome above is close to what I intended to achieve, however the density of the dots around the latitude axis is exactly the same at the poles as the equator. I've tried to resolve the density problem but without success, mainly due to Papervision struggling to render such a high density of Particles.  I'm realistically on the edge of Math skills and perhaps purchasing a 3D Math primer would be a good idea.  Anyway this was an interesting experiment which I got very close to getting it right.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/07/27/placing-particles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>workspace.cleanup();</title>
		<link>http://blog.chrisherring.co.uk/2009/07/17/workspacecleanup/</link>
		<comments>http://blog.chrisherring.co.uk/2009/07/17/workspacecleanup/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 11:08:14 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[papervision]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=394</guid>
		<description><![CDATA[My project workspace at home and at work is full of little experiments or mini projects which never get finished or tidied up, and consequently not seen. Therefore I&#8217;ve decided to do a little cleanup and post them up here in whatever state or standard they are. A couple of months ago I created a [...]]]></description>
			<content:encoded><![CDATA[<p>My project workspace at home and at work is full of little experiments or mini projects which never get finished or tidied up, and consequently not seen. Therefore I&#8217;ve decided to do a little cleanup and post them up here in whatever state or standard they are.</p>
<p>A couple of months ago I created a couple of classes to handle xml from Twitter for a potential flash feed thingy. The classes consisted of a model class which creates business objects like tweets and user, making the data easily mangaged/accessible within a project. Using these classes I&#8217;ve just added a bit of <a title="Papervision" href="http://blog.papervision3d.org/" target="_blank">Papervision</a>, the text is displayed via the <a title="Text3D" href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/typography/Text3D.html" target="_blank">Text3D</a> class which is really nice class if your project uses <a title="Helvetica" href="http://en.wikipedia.org/wiki/Helvetica" target="_blank">Helvetica</a> and some what devoid if it doesn&#8217;t.</p>
<p id="TwitterPV" style="margin-left:15px;">Flash is displayed here</p>
<p><script src="http://blog.chrisherring.co.uk/wp-content/js/swfobject.js" type="text/javascript"></script> <script type="text/javascript"><!--
var s3 = new SWFObject('http://blog.chrisherring.co.uk/wp-content/experiments/twitter/swf/App.swf','player','550','200','9');
s3.addVariable("basePath", "http://blog.chrisherring.co.uk/wp-content/experiments/twitter/")
s3.write('TwitterPV');
// --></script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/07/17/workspacecleanup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Papervision: Mapping 2D in 3D</title>
		<link>http://blog.chrisherring.co.uk/2009/06/14/papervision-mapping-2d-in-3d/</link>
		<comments>http://blog.chrisherring.co.uk/2009/06/14/papervision-mapping-2d-in-3d/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 20:46:42 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[papervision]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=344</guid>
		<description><![CDATA[There are many ways to improve the performance of your Papervision application, and in my first blog post in a few months I&#8217;ll cover the technique of mapping a 2D sprite to an object in 3D Papervision. The main concept of this technique is two reduce the number of elements rendered in 3D to a [...]]]></description>
			<content:encoded><![CDATA[<p>There are many ways to improve the performance of your <a title="Papervision" href="http://blog.papervision3d.org/" target="_blank">Papervision</a> application, and in my first blog post in a few months I&#8217;ll cover the technique of mapping a 2D sprite to an object in 3D Papervision. The main concept of this technique is two reduce the number of elements rendered in 3D to a minimum, naturally this is only applicable to certain situations. The yellow triangle below is a standard Sprite, and by clicking upon it will map the triangle to a red particle within the rotating sphere.</p>
<p id="Mapping2Din3D" style="margin-left:15px;">Flash is displayed here</p>
<p><script src="http://blog.chrisherring.co.uk/wp-content/js/swfobject.js" type="text/javascript"></script> <script type="text/javascript"><!--
var s2 = new SWFObject('http://blog.chrisherring.co.uk/wp-content/swf/Mapping2Din3D.swf','player','550','400','9');
s2.write('Mapping2Din3D');
// --></script></p>
<p><span style="text-decoration: underline;">Step 1</span><br />
After setting up a basic Papervision environment with a sphere, the next thing to do is add a particle to the edge of the sphere. Within Papervision its not possible to just create a new <a title="Particle" href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/core/geom/renderables/Particle.html" target="_blank">Particle</a>, and it add it the scene, instead the <a title="Particles" href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/core/geom/Particles.html" target="_blank">Particle</a> must be added to an instantiation of the Particles class, which acts as holding container for a Particle. It is worth noting that thousands of individual Particles can be added to the Particles container and then added to the scene to be rendered.</p>
<p><code> var material = new ParticleMaterial(0xFF3333, 1);<br />
var particle = new Particle(material, 15);<br />
this.particles = new Particles();<br />
this.particles.x =-294.8020952990483;<br />
this.particles.z = -44.981004334405526;<br />
this.particles.y = 47.67005198611658;<br />
this.particles.addParticle(particle);<br />
this.sphere.addChild(this.particles);<br />
</code></p>
<p><span style="text-decoration: underline;">Step 2</span><br />
In order to map a 2D Sprite to a 3D object we need to calculate the 3D objects relative position in x and y to the screen. Luckily by adding the following line to the previous code block this functionally can be switched on. The method <a title="autoCalcScreenCoords" href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/DisplayObject3D.html#autoCalcScreenCoords" target="_blank">autoCalcScreenCoords</a><span> is </span>available to any class which extends <a title="DisplayObject3D" href="http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/DisplayObject3D.html" target="_blank">DisplayObject3D</a>, however user must be careful as extra calculations are made with the potential for a performance drop if used with out.</p>
<p><code> this.particles.autoCalcScreenCoords = true;<br />
</code></p>
<p><span style="text-decoration: underline;">Step 3</span><br />
The screen x and y are always calculated relative to the size of the viewport being used. I&#8217;ve added the following couple of lines of code, within the render EnterFrame only so that the 2D Sprite is always mapped to the 3D object but of course could exist elsewhere.</p>
<p><code> this.triangle.x = ( this.particles.screen.x ) + (this.viewport.width  / 2);<br />
this.triangle.y = ( this.particles.screen.y ) + (this.viewport.height / 2);</code></p>
<p>And that&#8217;s it, pretty basic stuff yet can still be very useful.</p>
<p><a href="http://blog.chrisherring.co.uk/wp-content/code/Mapping2Din3D.as">Source code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/06/14/papervision-mapping-2d-in-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping Music: Part 2</title>
		<link>http://blog.chrisherring.co.uk/2009/01/16/mapping-music-part-2/</link>
		<comments>http://blog.chrisherring.co.uk/2009/01/16/mapping-music-part-2/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 11:24:18 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[lastfm]]></category>
		<category><![CDATA[mapping music]]></category>
		<category><![CDATA[maps]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=151</guid>
		<description><![CDATA[After getting slightly distracted with the makeover I gave this blog last week and getting stuck into other work this week, I managed to spend a few hours this morning working on my Google Maps and Last FM mashup. Not to much to report, although I did managed to calculate a chart for the most [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">After getting slightly distracted with the makeover I gave this blog last week and getting stuck into other work this week, I managed to spend a few hours this morning working on my Google Maps and Last FM mashup. Not to much to report, although I did managed to calculate a chart for the most popular artist across Europe. Initially I was slightly disappointed with the figures perhaps I was expecting plays in the millions. After some calculator consultation the total number of top ten plays at 3mins estimates at 2.53 years worth of music. Impressive. </p>
<p>One issue that has risen is the high number of requests made to the Last FM api in order to get the country specific data. The choice was between using the  27 European Unions member states, or  the 49 countries which exist geographically within Europe. For the moment I&#8217;ve gone with the later, and ignored the 1.4mb of requests needed to complete this, but due to the Last FM api there is no other way of fetching the relevant data. A consequence of this is that Europe looks far more busy and the chart below is more populated. </p>
<p><img class="aligncenter" src="http://blog.chrisherring.co.uk/wp-content/uploads/images/mapping_music_3.jpg" alt="" width="580" height="356" /></p>
<p style="text-align: left; "><span style="text-decoration: underline;"><a title="Mapping maps example" href="http://blog.chrisherring.co.uk/experiments/mappingmusic/part_2/index.html" target="_blank"><img class="aligncenter" title="Mapping Music" src="http://blog.chrisherring.co.uk/wp-content/uploads/images/mapping_music_2.jpg" alt="" width="580" height="356" /></a></span></p>
<p style="text-align: left; ">The above image shows the chart generated after each of the European Countries data has been collated. I was slightly frustrated that the feed from the <a href="http://www.last.fm/api/show?service=297" target="_blank">Last FM api</a> isn&#8217;t live or updated on daily basis, instead I believe its updated weekly. I have uploaded the above build of Mapping Music and can be viewed <a title="Mapping music example" href="http://blog.chrisherring.co.uk/experiments/mappingmusic/part_2/index.html" target="_blank">here</a>. </p>
<p><strong>Next<br />
<span style="font-weight: normal;">- Individual country charts<br />
- Comparison charts<br />
- Improve the interface<br />
- Look into a chart timeline.</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/01/16/mapping-music-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Swedish Armed Forces</title>
		<link>http://blog.chrisherring.co.uk/2009/01/10/swedish-armed-forces/</link>
		<comments>http://blog.chrisherring.co.uk/2009/01/10/swedish-armed-forces/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 18:42:40 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=142</guid>
		<description><![CDATA[The Swedish Armed Forces have released two campaigns within the last year, in order to recruit potential officers. Both feature a set of intriguing and testing mind games produced in Flash which have been inspired by parts of the recruitment tests carried out by the Swedish Armed Forces. Each site is individually very good, the [...]]]></description>
			<content:encoded><![CDATA[<p>The Swedish Armed Forces have released two campaigns within the last year, in order to recruit potential officers. Both feature a set of intriguing and testing mind games produced in Flash which have been inspired by parts of the recruitment tests carried out by the Swedish Armed Forces. Each site is individually very good, the aim of both and the way in which it has been simplistically carried out is it&#8217;s beauty. Production credits go to <a title="acne digital" href="http://www.acnedigital.com/" target="_blank">ACNE Digital</a> and <a title="DDB Stockholm " href="http://www.ddb.se/">DDB Stockholm</a>.</p>
<div>
<p><a title="Swedish Army v1" href="http://forsvar.fileflat.com/english/" target="_blank">Version</a> 1 &#8211; February 2008<br />
The test below is perhaps my favorite coupled with the excellent audio, that helps immerse yourself within the tests especially listening with a pair of headphones.</p>
<p><a title="Swedish Armed Forces" href="http://forsvar.fileflat.com/english/" target="_blank"><img class="alignnone" title="Swedish Armed Forces" src="http://blog.chrisherring.co.uk/wp-content/uploads/images/swedish_army_1.jpg" alt="" width="580" height="310" /></a></p>
<p><a title="Swedish Army v2" href="http://www.aspirant.nu/english/" target="_blank">Version 2</a> &#8211; January 2009<br />
The second version comes equipped with an impressive intro and  some neat simple 3D games. Although I was slightly disappointment that at the end of the tests I received no score. Was I that bad? </p>
<p><a title="Swedish Armed Forces" href="http://www.aspirant.nu/english/" target="_blank"><img class="alignnone" title="Swedish Armed Forces" src="http://blog.chrisherring.co.uk/wp-content/uploads/images/swedish_army_2.jpg" alt="" width="580" height="310" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/01/10/swedish-armed-forces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping Music: Part 1</title>
		<link>http://blog.chrisherring.co.uk/2009/01/05/mapping-music-part-1/</link>
		<comments>http://blog.chrisherring.co.uk/2009/01/05/mapping-music-part-1/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 19:59:23 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[lastfm]]></category>
		<category><![CDATA[mapping music]]></category>
		<category><![CDATA[maps]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=107</guid>
		<description><![CDATA[Mapping music is the title of a little project I started over the weekend, hopefully over the forthcoming days I shall be blogging on its development. The idea is to use information gathered via Last FM and the visualize this geographically for Europe using the Google Maps API for flash. In doing so I&#8217;ll try [...]]]></description>
			<content:encoded><![CDATA[<p>Mapping music is the title of a little project I started over the weekend, hopefully over the forthcoming days I shall be blogging on its development. The idea is to use information gathered via Last FM and the visualize this geographically for Europe using the <a href="http://code.google.com/apis/maps/documentation/flash/" target="_blank">Google Maps API</a> for flash. In doing so I&#8217;ll try to calculate the most popular artists across Europe and have fun learning something new. </p>
<p><strong>Structure </strong><br />
At the moment I have an xml file which contains a list of countries within the Europe, then for each country I have attributed a latitude and longitude value. This is represented in the image below with a blue dot. It is easy to notice some of the dots are not in the centre of the countries, a by product of <a title="http://www.batchgeocode.com/" href="http://" target="_blank">Batch Geocoder</a> which is rather good. </p>
<p>In order to collate the information from Last FM various API requests are made relating to each Country. On the edge of the image below, I have quickly displayed each Country and its most popular artist. </p>
<p><img class="aligncenter" title="mapping music" src="http://blog.chrisherring.co.uk/wp-content/uploads/images/mapping_music_1.jpg" alt="" width="480" height="296" /></p>
<p><strong>Next</strong><br />
- Add an interface of some sort<br />
- Figure out the most popular artist in Europe.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/01/05/mapping-music-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flasher Magazine</title>
		<link>http://blog.chrisherring.co.uk/2009/01/03/flasher-magazine/</link>
		<comments>http://blog.chrisherring.co.uk/2009/01/03/flasher-magazine/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 13:00:47 +0000</pubDate>
		<dc:creator>blog.chrisherring.co.uk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[magazine]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.chrisherring.co.uk/?p=102</guid>
		<description><![CDATA[The premiere issue of Flasher Magazine is available to watch, complete with a design homage to San Franscriso finest skate zine. I enjoyed watching it, bring on issue duo and perhaps a UK Version.]]></description>
			<content:encoded><![CDATA[<p>The premiere issue of Flasher Magazine is available to <a href="http://www.flashermag.com/" target="_blank">watch</a>, complete with a design homage to San Franscriso finest skate <a href="http://www.thrashermagazine.com/" target="_blank">zine</a>. I enjoyed watching it, bring on issue duo and perhaps a UK Version.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chrisherring.co.uk/2009/01/03/flasher-magazine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

