<?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>Millipede Creative Development</title>
	<atom:link href="http://millipede.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://millipede.com.au</link>
	<description>We direct, design and develop games, applications, services and experiences for mobile platforms, physical spaces and the web.</description>
	<lastBuildDate>Tue, 03 Apr 2012 03:18:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>TECH TALK: Bridging Unity and the iOS SDK</title>
		<link>http://millipede.com.au/blog/bridging-unity-and-the-ios-sdk/</link>
		<comments>http://millipede.com.au/blog/bridging-unity-and-the-ios-sdk/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 02:56:55 +0000</pubDate>
		<dc:creator>Patrick Toohey</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://192.168.1.37:8888/Millipede/?p=375</guid>
		<description><![CDATA[Unity is a phenomenal game development tool with a seamless iOS deployment pipeline, but its user interface capabilities are mediocre. Our preferred solution is to utilise Unity&#8217;s plugin architecture to wrap our games in a native iOS UI that communicates &#8230; <a href="http://millipede.com.au/blog/bridging-unity-and-the-ios-sdk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="highlight">Unity is a phenomenal game development tool with a seamless iOS deployment pipeline, but its user interface capabilities are mediocre. Our preferred solution is to utilise Unity&#8217;s plugin architecture to wrap our games in a native iOS UI that communicates with the Unity game environment.</p>
<p>We&#8217;ve been developing iOS applications with <a href="http://unity3d.com/unity/">Unity</a> since our <a href="http://millipede.com.au/#projects/city-gt/">first App Store release</a> in 2009. Unity ships with an excellent development environment and provides a high quality pipeline into iOS application delivery.</p>
<p>As a product compiled with Mono, direct access to iOS APIs from Unity applications is restricted. In terms of gameplay and 3D performance this is of little consequence as runtime game logic and screen rendering is fully encapsulated in Unity, with API bindings provided for interactive features such as accelerometer data and touch detection. However, it&#8217;s our belief that user experience suffers when interfaces are built in Unity rather than with the UIKit framework and the iOS SDK. iOS has a rich heritage of interface conventions and behaviours, and it&#8217;s necessary to leverage these native features to produce the kind of sophisticated experience users expect from iOS apps.</p>
<p>Our preferred solution is to build our game interfaces in Xcode utilising native code. This allows us to play to the strengths of each platform &#8211; Unity provides the 3D engine, and the UIKit framework enables the seamless interactions and behaviours iPhone users are accustomed to.</p>
<p>Additionally, maintaining a game wrapper written in Objective-C gives us access to the full iOS SDK without being restricted to the native APIs that Unity has re-implemented. When multiple developers are working on a game, developers can contribute significant iOS features and compile the project regardless of whether they have access to or familiarity with the Unity development tool.</p>
<h3>A native code bridge</h3>
<p>For two-way communication between Objective-C and code running in Unity we make use of Unity&#8217;s plugin architecture to create a bridge between the execution environments.</p>
<h4>Objective-C to Unity C#</h4>
<p>We utilise <code>UnitySendMessage</code> to call methods in Unity from Objective-C. The <a href="http://unity3d.com/support/documentation/Manual/PluginsForIOS.html">Unity docs</a> reveal that <code>UnitySendMessage</code> takes three parameters: the name of the target GameObject, the script method to call on that object and the message string to pass to the called method. These parameters must be sent as UTF-8 strings.</p>
<pre class="crayon-plain-tag"><code>// call a method in Unity from Objective-C
// we are limited to sending UTF-8 strings to communicate with Unity
- (void) sendMessageToUnity:(const char *)methodName msg:(const char *)msg {

	// the main game object in Unity that holds the C# NativeInterface class
	const char *gameObj = &quot;NativeInterfaceReceiver&quot;;
	UnitySendMessage (gameObj, methodName, msg);

}</code></pre>
<h4>Unity to Objective-C</h4>
<p>We can expose C functions in Xcode, and then add the same method signature to Unity. This ensures that Unity is aware of the external methods it can call at runtime. The method below logs a message from Unity to the Xcode console.</p>
<pre class="crayon-plain-tag"><code>extern &quot;C&quot; {

	// log a message from Unity to Xcode console
	void XcodeLog (const char *msg) {

		NSString *logMsg = [NSString stringWithFormat:@&quot;FROM UNITY: %s&quot;, msg];
		NSLog (@&quot;%@&quot;, logMsg);

	}

}</code></pre><p><h3>The work flow in action</h3>
<p><a href="http://millipede.com.au/#projects/navy-sinkem">NAVY SINK&#8217;EM</a> is a multiplayer game that has UI and networking on the iOS side, talking to a Unity game environment. These environments have defined responsibilities corresponding to their unique strengths, and commands are fired between them to facilitate the execution of these responsibilities.</p>
<h4>Layering UIKit and Unity</h4>
<p>In the gameplay scenario pictured below, a <code>UIView</code> is layered over the Unity OpenGL view. When Unity detects that a ship has been touched, the camera centres the ship on the screen and a command is sent through the native interface to Objective-C. In response, UI elements detailing the ship&#8217;s status are prepared and the OS takes over touch detection. When a touch on the ship is detected a second time, this time courtesy of the ship&#8217;s coordinates mapped in the <code>UIView</code> screen space, iOS tells Unity to pause rendering and initiates drawing a shooting interface on the screen with Core Graphics.</p>
<p><img src="http://media.millipede.com.au/web/blog/unitybridge/sinkem-drawing.jpg" class="big" /></p>
<p>We chose to draw the shooting interface (represented in this instance by the circular device overlaid on the ship) in a <code>CGLayer</code> with <code>CGPath</code> definitions based on the player&#8217;s touches. Drawing this in Unity would be visually less impressive, and would involve a greater code overhead as various effects (e.g. the ocean shader) would need to be independently toggled to free CPU cycles. Furthermore it&#8217;s our experience that Unity does not handle continuous touch detection particularly well, as Unity receives touch input asynchronously. This makes responding to multiple touches difficult. We greatly prefer the immediate event based touch input we receive from UIKit.</p>
<p>Once the player releases their shot, the OS sends a normalised vector representing the shot&#8217;s velocity and direction to Unity, which takes over calculating and rendering the shot&#8217;s trajectory. The results of the shot are shared with the OS.</p>
<h4>Saving and recreating state</h4>
<p>In any game of sufficient complexity, it&#8217;s necessary to save and recreate state across gameplay sessions. In an asynchronous multiplayer game like NAVY SINK&#8217;EM, players&#8217; moves are shared over the air. A local copy of the game is updated as the player&#8217;s turn is taken, and synced with the server on completion. This reduces network traffic and allows players to take their turns in the absence of a network connection. When a player refreshes their games list, or in response to a remote push notification, the server pushes out updated games to the player&#8217;s app to replace the local copies.</p>
<p>iOS sends the current game state to Unity when a game is launched from the player&#8217;s list of active games. To comply with the restrictions on the native interface bridge, we serialise the relevant game data structures and pass the whole game through as a JSON string. In return, Unity sends JSON chunks back to iOS with the updated data as moves are made. In the case of NAVY SINK&#8217;EM, the OS piggybacks on the methods used to serialise the game object for sending it to the server.</p>
<p>iOS and Unity implement the game data packet independently of one another, according to the needs of each environment and the features of the respective languages.</p>
<h4>Handling audio with Unity</h4>
<p>Unity takes all the work out of handling audio. As the Unity environment is persistent throughout the life of the application, we can take advantage of this and route the entirety of the app&#8217;s audio playback through the bridge to Unity with a simple Objective-C one liner from anywhere in the app.</p>
<pre class="crayon-plain-tag"><code>[[NativeInterface sharedInstance] sendMessageToUnity:&quot;playSound&quot; msg:&quot;buttonSound&quot;];</code></pre>
<h3>Performance gotchas</h3>
<p>Rendering Unity&#8217;s OpenGL view in iOS is an expensive exercise. Native UI performance is highly degraded when used in conjunction with an active Unity scene. To alleviate this we pause Unity and avoid repainting the GL view when complex UI elements are placed on the screen.</p>
<pre class="crayon-plain-tag"><code>// AppController.mm
- (void) Repaint {
	if (unityDisabled) {
		return;
	}
	//...
}</code></pre>
<p>Unloading assets from the Unity scene may also prove helpful.</p>
<h3>Our iOS/Unity game catalogue</h3>
<p>We built the following games <em>(yeah granted, CityGT is not a game as such!)</em> using the techniques discussed in this article. Check them out from the App Store and leave a comment if you&#8217;ve got any questions, criticisms or wisdom to impart. We don&#8217;t hear a whole lot of buzz about Unity game development for iOS in Australia and we love to hear stories from fellow Unity developers.</p>
<figure style="margin-right:20px; float:left"><img src="http://media.millipede.com.au/web/blog/unitybridge/se.jpg"/><br />
<figcaption><a href="http://itunes.apple.com/au/app/navy-sinkem/id461240994">NAVY SINK&#8217;EM (2011)</a></figcaption>
</figure>
<figure style="margin-right:20px; float:left"><img src="http://media.millipede.com.au/web/blog/unitybridge/sw.jpg"/><br />
<figcaption><a href="http://itunes.apple.com/us/app/shark-wars/id438693318">Shark Wars (2011 &#8211; US App Store only)</a></figcaption>
</figure>
<figure style="float:left"><img src="http://media.millipede.com.au/web/blog/unitybridge/cg.jpg"/><br />
<figcaption><a href="http://itunes.apple.com/au/app/citygt/id327520493">CityGT (2009 &#8211; AU App Store only)</a></figcaption>
</figure>
]]></content:encoded>
			<wfw:commentRss>http://millipede.com.au/blog/bridging-unity-and-the-ios-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TECH TALK: HTML animation and audio for the ABC</title>
		<link>http://millipede.com.au/blog/html-animation-and-audio-for-the-abc/</link>
		<comments>http://millipede.com.au/blog/html-animation-and-audio-for-the-abc/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 11:19:54 +0000</pubDate>
		<dc:creator>Daniel Heim</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://192.168.1.37:8888/Millipede/?p=382</guid>
		<description><![CDATA[ABC3 approached us to design and develop a website to promote their new children’s educational program, My Great Big Adventure. The site design is based on the opening credits of the show which features the host, Kayne Tremills, jumping over &#8230; <a href="http://millipede.com.au/blog/html-animation-and-audio-for-the-abc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ABC3 approached us to design and develop a website to promote their new children’s educational program, <a href="http://www.abc.net.au/abc3/mygreatbigadventure">My Great Big Adventure</a>. The site design is based on the opening credits of the show which features the host, Kayne Tremills, jumping over various objects that represent life&#8217;s problems. The ABC wanted us to incorporate the parallax effect used there. They also required the site to be built in HTML for compatibility with mobile devices that don&#8217;t support Flash.</p>
<p><img src="http://media.millipede.com.au/web//blog/abc3/javascript-enabled.jpg" class="big" alt="" /></p>
<div class="col-1">
<figure><img src="http://media.millipede.com.au/web//blog/abc3/no-javascript.jpg" width="368" height="400" alt="" /><br />
<figcaption>Flowing the DOM content logically allows the site to maintain accessibility in the absence of Javascript support.</figcaption>
</figure>
</div>
<p>The site relies heavily on JavaScript and CSS to create the parallax effect. I chose to use <a href="http://www.jquery.com">jQuery</a> as the primary supportive JavaScript library as it provides many useful methods for traversing HTML documents and manipulating CSS properties. It also supports a wide range of browsers.</p>
<h3>Parallax animation</h3>
<p>When the site data has finished loading, the jQuery onReady handler kicks off an initialisation process which reconfigures the site layout, enables the parallax effects and starts the animation timer. The timer executes an update method thirty times a second, which reads the value of the offset variable and repositions all parallax elements appropriately.</p>
<p>Sections of content are contained in independent division elements. When the site is initialised, these containers are repositioned horizontally relative to a parent container <code>div</code>, and their <code>left</code> style values are modified by script depending on which section the user is currently focusing on. Structuring the content in this manner allows the site to maintain accessibility when a user&#8217;s browser lacks Javascript support.</p>
<p>Parallax effects on the background were achieved via the multiple background image support introduced in CSS3. The background is composed of five tiled layers containing transparent PNG images. At the back is the sky which is the only layer with a fixed position. Moving forward are the clouds, distant buildings, closer buildings and a layer of grass and trees right at the front. The front four layers are positioned multiplied by the offset with values 0.125, 0.25, 0.50 and 0.55 respectively. The values are low, as the background should move slower than the foreground. In an early development version of the site, the clouds were constantly moving, but this frequent update greatly affected performance of the site.</p>
<p>In the foreground is a <code>div</code> which sits in front of the content. This foreground <code>div</code> contains a tiled image of some small hills and is positioned at twice the value of the offset. It also acts as positioning guide for some additional elements, such as the skater, plane and hot air balloon which are generated by jQuery and absolutely positioned within the container. The skater is the only element which is repositioned within this container, so it appears to be anchored in a fixed position on screen. This element features frame-by-frame animation, an effect achieved by offsetting the position of a sprite sheet that is used as the background image in the <code>div</code>.</p>
<p><img src="http://media.millipede.com.au/web//blog/abc3/skater_sprite.png" width="100%" alt="" /></p>
<h3>Diving in to HTML5 audio</h3>
<p>The main content and the <em>Sea of Support</em> are contained in two independent sibling divisions which are children of the body element. When you toggle between sections, both elements have their height values adjusted at the same rate. One element will open and the other will close, depending on which way you&#8217;re going, and this creates the effect of moving up to the surface or down below the ocean. The surface scene also has its top margin decreased (into negative values), so it appears fixed to the bottom of its container.</p>
<p><img src="http://media.millipede.com.au/web//blog/abc3/bubbles.jpg" class="big" alt="" /></p>
<p>When the <em>Sea of Support</em> is initialised, a list of comments is retrieved from another server via a PHP API. A bubble element is created for each comment. The bubbles are positioned independently inside a container <code>div</code>. Where possible, the positioning is applied via the CSS <code>transform</code> property. This will enable hardware acceleration, where available. The scene runs reasonably consistently with a frame rate of 30 frames a second, up to about 60 bubbles. Any more than that and performance starts to suffer.</p>
<p>When you roll over a bubble, a details <code>div</code> is displayed and its contents are updated with information about the bubble. Some of the bubbles contain an audio excerpt which is played via <a href="http://jplayer.org/">jPlayer</a>, a jQuery audio plugin. jPlayer attempts to play the audio via the HTML5 <code>audio</code> element. If the browser doesn&#8217;t support HTML5, it will pass the audio file to a Flash component. However, if the user doesn&#8217;t have Flash, they will be linked to the audio file directly. In this instance it is acceptable to use Flash as a fallback as the plugin is still able to deliver the requested content through alternate methods.</p>
<p>It hasn&#8217;t proved as difficult as I expected to create immersive interactive websites without Flash. Especially with so many solid Javascript libraries about. For this site, the main issues that arose were related to performance and cross-browser compatibility. Debugging in older versions of Internet Explorer is especially challenging.</p>
<p><a href="http://www.abc.net.au/abc3/mygreatbigadventure">Check out My Great Big Adventure</a> and let me know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://millipede.com.au/blog/html-animation-and-audio-for-the-abc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NEW RELEASE: Paper Baron</title>
		<link>http://millipede.com.au/blog/new-release-paper-baron/</link>
		<comments>http://millipede.com.au/blog/new-release-paper-baron/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 01:20:51 +0000</pubDate>
		<dc:creator>Wil Monte</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://staging.millipede.com.au/?p=436</guid>
		<description><![CDATA[Beautifully designed and produced by GPYR Melbourne, Paper Baron has taken to the the skies of the iOS App Store for the Royal Australian Air Force. Inspired by the original Flash version of the game, Millipede developed the game for &#8230; <a href="http://millipede.com.au/blog/new-release-paper-baron/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Beautifully designed and produced by GPYR Melbourne, Paper Baron has taken to the the skies of the iOS App Store for the Royal Australian Air Force. </p>
<p>Inspired by the original Flash version of the game, Millipede developed the game for iOS, incorporating a host of the device specific features along the way.</p>
<p>As a player your task is to pilot a paper plane through an obstacle course of gorgeous paper scenery, attempting to cover the farthest distance. Power boosts and invincibility lighting strikes can be collected and used at your discretion to aid you in your flight.</p>
<div class="clearfix">
<p style="float:left">
<img src="http://media.millipede.com.au/web/blog/paperbaron/PaperBaron_blog_flight.jpg" alt="Paper Baron mid flight" width="380" height="253" />
</p>
<p style="float:right">
<img src="http://media.millipede.com.au/web/blog/paperbaron/PaperBaron_blog_world.jpg" alt="Paper Baron world of paper" width="380" height="253" />
</p>
</div>
<div class="col-1">
<p>Paper Baron offers a unique social element, whereby players can create a Launch Pad (a localised leader board) in their current location, allowing friends and strangers to compete for the coveted title of &#8216;The Baron&#8217; for that Launch Pad. </p>
<p>A Launch Pad could be your workplace, your street, your school, your house&hellip;</p>
<p><img src="http://media.millipede.com.au/web/blog/paperbaron/PaperBaron_blog_map.jpg" alt="Paper Baron Launch Pads" width="380" height="253" /></p>
</div>
<div class="col-2">
<p class="highlight">I&#8217;m totally The Baron of our house and I have the proof, honey!</p>
<p>All flights that take off from a launch pad are drawn to scale on Google Maps. Launch Pads across the world can be view via the Maps integration.</p>
<p><a href="http://www.youtube.com/watch?v=1sSuDL0hvDM" target="_blank">Check out</a> the fantastic trailer GPYR produced for Paper Baron.</p>
<p><a href="http://itunes.apple.com/au/app/paper-baron/id484826203?mt=8" target="_blank">Download</a> the free game from the App Store.</p>
<p>If you have any development questions, hit up the comments below!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://millipede.com.au/blog/new-release-paper-baron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NEW RELEASE: The Builder App</title>
		<link>http://millipede.com.au/blog/new-release-the-builder-app/</link>
		<comments>http://millipede.com.au/blog/new-release-the-builder-app/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 01:19:00 +0000</pubDate>
		<dc:creator>Wil Monte</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://millipede.com.au/?p=594</guid>
		<description><![CDATA[The Builder App is an awesome tool for any renovator&#8217;s (or anyone for the matter) tool box. Especially with my DIY skills. The Builder App allows users to find tradies or suppliers in their area or around the country. Users &#8230; <a href="http://millipede.com.au/blog/new-release-the-builder-app/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Builder App is an awesome tool for any renovator&#8217;s (or anyone for the matter) tool box. Especially with my DIY skills. The Builder App allows users to find tradies or suppliers in their area or around the country. Users can also put a call out for quotes. The job is posted to a job wall and the relevant local tradesman are emailed, inviting them to provide a quote for your job. Let them come to you!</p>
<p><img src="http://media.millipede.com.au/web/blog/thebuilderapp/thebuilderapp.jpg"/></p>
<p>The Builder App directory can be browsed in full, or manually searched with the aid of intelligent suggestions. Tradesman or suppliers can be added to favourites for fast access to their details. The Builder App really takes the pain out of finding a tradesman and obtaining quotes.</p>
<p>Download the app for free from <a href = 'http://itunes.apple.com/au/app/the-builder-app/id455127786?mt=8' target='_blank'>here</a>. </p>
<p>If you&#8217;re a tradesman or supplier and want to be included in The Builder App database and be found by all the website and app users, sign up <a href = 'http://www.thebuilderapp.com.au' target = '_blank'>here</a>.</p>
<p>Millipede were introduced to the lovely Builder App team by the fine crew at <a href = 'http://www.redcrayon.com.au' target = '_blank'>Red Crayon</a>. The Builder App were in need of some urgent help to bring their current release &#8216;up to speed&#8217; with the applications of today. Enlisting the help of <a href = 'http://www.inspire9.com.au' target = '_blank'>Inspire9</a> to look after the existing RubyOnRails backend overhaul, and Red Crayon managing creative direction, Millipede completely redeveloped the application&#8217;s information architecture and user experience, bringing it from the edge of dysfunctional (and hideous), to a cleanly designed and beautifully executed system.</p>
]]></content:encoded>
			<wfw:commentRss>http://millipede.com.au/blog/new-release-the-builder-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NEW RELEASE: Yellovator is LIVE! Smash a phone or two&#8230;</title>
		<link>http://millipede.com.au/blog/yellovator-is-live/</link>
		<comments>http://millipede.com.au/blog/yellovator-is-live/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 04:30:09 +0000</pubDate>
		<dc:creator>Wil Monte</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://localhost:8888/Millipede/?p=218</guid>
		<description><![CDATA[Yellovator is the result of a collaboration between Yellow Pages®, Clemenger Proximity Melbourne and Millipede. And we are thrilled with said result. A sincere congratulations to all involved. It was an amazing effort. What is Yellovator? Get on with it &#8230; <a href="http://millipede.com.au/blog/yellovator-is-live/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class= "col-1">
<p>Yellovator is the result of a collaboration between Yellow Pages®, Clemenger Proximity Melbourne and Millipede. And we are thrilled with said result. A sincere congratulations to all involved. It was an amazing effort.</p>
<p>What is Yellovator? Get on with it you say?</p>
<p>Yellovator is a game that can be played via rich media banners, on incredible outdoor metrolites, or at <a href="http://yellovator.com">yellovator.com</a>.</p>
<p>So what?</p>
<p class="highlight">
Well, it utilises the <a href="http://flindersninjas.com">Flinders Ninjas Engine</a>, enabling users to use their smartphone as the game controller! Help Smasher Dan send phones with helpful Yellow Pages® searches to the folks in the street below.
</p>
<p><a href="http://www.youtube.com/watch?v=U9NcJNoumrA">Here&#8217;s the buzz</a> from Smasher Dan himself on the launch party held in Hosier Lane, Melbourne.</p>
<p>Also, while you’re knocking about town, keep an eye out for our Yellovator game locations around Melbourne at Southern Cross Station, Flinders St Station (Yarra River side) and South Yarra Station. If you happen to be up in Sydney soon, you can play the game at our Martin Place or Alfred St, Circular Quay locations!</p>
</div>
<div class="col-2">
<img src="http://media.millipede.com.au/web/yellovator_siteshot.jpg" width="386" height="447" alt="Yellovator" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://millipede.com.au/blog/yellovator-is-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

