<?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>Troy Gilbert &#187; Mockingbird</title>
	<atom:link href="http://troygilbert.com/category/mockingbird/feed/" rel="self" type="application/rss+xml" />
	<link>http://troygilbert.com</link>
	<description>Gamedev 2.0</description>
	<lastBuildDate>Mon, 01 Aug 2011 02:18:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Club Treasure World</title>
		<link>http://troygilbert.com/2010/03/club-treasure-world/</link>
		<comments>http://troygilbert.com/2010/03/club-treasure-world/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 17:14:59 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[AS3 & Flash]]></category>
		<category><![CDATA[Game Dev]]></category>
		<category><![CDATA[Mockingbird]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Dev]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[aspyr]]></category>
		<category><![CDATA[robotlegs]]></category>
		<category><![CDATA[smartfox]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://troygilbert.com/?p=246</guid>
		<description><![CDATA[Last week saw the launch of Club Treasure World, the latest project powered by Mockingbird. Built in collaboration with Aspyr over the last four months, it&#8217;s the biggest project yet using our game making tech. I suggest visiting CTW to get the full run-down of what&#8217;s offered, but a quick description: CTW is place for [...]]]></description>
			<content:encoded><![CDATA[<p>Last week saw the launch of <a href="http://www.clubtreasureworld.com/">Club Treasure World</a>, the latest project powered by <a href="http://mockingbirdgames.com/">Mockingbird</a>. Built in collaboration with <a href="http://www.aspyr.com/">Aspyr</a> over the last four months, it&#8217;s the biggest project yet using our game making tech.</p>
<p>I suggest visiting <a href="http://www.clubtreasureworld.com/">CTW</a> to get the full run-down of what&#8217;s offered, but a quick description: CTW is place for kids (and adults!) to build their own games and &#8220;chat worlds&#8221; to share with their friends. Everything is built from treasures that folks can purchase through micro-transactions or earn using the Nintendo DS game <a href="http://offworld.com/2009/07/the-war-drivers-delight-wifi-t.html">Treasure World</a> which Aspyr shipped last year.</p>
<p>CTW was the first project I used <a href="http://www.robotlegs.org/">Robotlegs</a> on. Even though we didn&#8217;t use it extensively—the other developer on the project was not familiar with dependency injection—it provided a nice solid architecture to jump off of. And due to its minimal nature, even when we weren&#8217;t leveraging it, it was never in the way.</p>
<p>While we were working on this project I also started several other smaller projects leveraging Robotlegs (none yet released) and have gradually refined my own workflow with it. I&#8217;m still a fan, though I&#8217;m quite curious about <a href="http://swizframework.org/">Swiz</a> because it appears to be even <em>more</em> minimal, if that can be believed. I am <strong>completely</strong> sold on the idea of dependency injection and have started applying it to my API designs.</p>
<p>My latest Robotlegs project is also my first project to leverage Rob Penner&#8217;s excellent <a href="http://github.com/robertpenner/as3-signals">AS3 Signals</a>. These two together have significantly cleaned up my code and are definitely quashing many of the architectural issues I ran into when developing the <a href="http://playmockingbird.com/designer">original Mockingbird app</a>. In fact, I&#8217;m itching to go back and rebuild the whole app and site—not to add features but to clean up the codebase in such a way that it&#8217;d be ready for some <em>rapid</em> feature addition in the future. Robotlegs definitely provides a very agile framework.</p>
<p>For CTW we also used <a href="http://www.smartfoxserver.com/">SmartFoxServer</a> for the first time. In the end, I was less enthused about this choice. While it got us up and running really fast with it&#8217;s simple API and built-in chat functionality, it was a pain to develop with and debug, and I wouldn&#8217;t choose to use it again. The API originates from AS1/AS2, so there&#8217;s very little type safety and none of the current AS3 conventions. The documentation leaves out a huge amount of caveats present in the API that don&#8217;t necessarily make sense, even though it&#8217;s clear from the support forums that developer after developer encounter the same issue. The next time around I plan on using a more robust option, like <a href="http://www.electro-server.com/">ElectroServer</a>, or possibly the still-in-alpha <a href="http://www.unionplatform.com/">Union Platform</a>.</p>
<div id="tweetbutton246" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2010%2F03%2Fclub-treasure-world%2F&amp;via=troygilbert&amp;text=Club%20Treasure%20World&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2010/03/club-treasure-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TAG Presentation</title>
		<link>http://troygilbert.com/2009/05/tag-presentation/</link>
		<comments>http://troygilbert.com/2009/05/tag-presentation/#comments</comments>
		<pubDate>Fri, 29 May 2009 21:04:15 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Dev]]></category>
		<category><![CDATA[Mockingbird]]></category>

		<guid isPermaLink="false">http://troygilbert.com/?p=203</guid>
		<description><![CDATA[I presented early this morning (7am!) at TAG Austin. Nice crowd, very interested, very receptive. I spoke for about 45 minutes, slides presented below. The presentation was broadly about Mockingbird, but Mockingbird-specific talk really just occupied the first and last five minutes, everything in between was a discussion of what games are, what their history [...]]]></description>
			<content:encoded><![CDATA[<p>I presented early this morning (7am!) at <a href="http://tagaustin.org/">TAG Austin</a>. Nice crowd, very interested, very receptive. I spoke for about 45 minutes, slides presented below.</p>
<p>The presentation was broadly about Mockingbird, but Mockingbird-specific talk really just occupied the first and last five minutes, everything in between was a discussion of what games are, what their history and place is in human culture, what their potential is as a form of expression, and what elements of that expression are critical in order to make &#8220;making&#8221; as accessible as possible.</p>
<p>As with previous presentations, the slides by themselves may not be that useful, but for those that heard the presentation the slides should serve as useful reminders.</p>
<p><a href='http://troygilbert.com/wp-content/uploads/2009/05/tag-presentation-may-2009.swf'>SWF Export from Keynote</a><br />
<a href='http://troygilbert.com/wp-content/uploads/2009/05/tag-presentation-may-2009.pdf'>PDF Export from Keynote</a></p>
<div id="tweetbutton203" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2009%2F05%2Ftag-presentation%2F&amp;via=troygilbert&amp;text=TAG%20Presentation&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2009/05/tag-presentation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building Gaming&#8217;s Future</title>
		<link>http://troygilbert.com/2009/01/building-gamings-future/</link>
		<comments>http://troygilbert.com/2009/01/building-gamings-future/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 16:01:10 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Game Industry]]></category>
		<category><![CDATA[Indie Game Dev]]></category>
		<category><![CDATA[Mockingbird]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://troygilbert.com/?p=191</guid>
		<description><![CDATA[This morning I read Edge&#8217;s article on building gaming&#8217;s future. It&#8217;s a decent summary of the growing audience/market for consumer game making. Of course, we&#8217;ve been talking about this at Mockingbird for a few years now, but Edge really hits it home with all of their examples that it&#8217;s truly becoming a mainstream activity (for [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I read Edge&#8217;s article on <a href="http://www.edge-online.com/features/building-gaming%E2%80%99s-future">building gaming&#8217;s future</a>. It&#8217;s a decent summary of the growing audience/market for consumer game making. Of course, we&#8217;ve been talking about this at <a href="http://playmockingbird.com/">Mockingbird</a> for a few years now, but Edge really hits it home with all of their examples that it&#8217;s truly becoming a mainstream activity (for gamers).</p>
<p>Needless to say, I&#8217;m bummed that we didn&#8217;t even warrant a mention, even though we were one of the first in the present push to get out there and do this. I&#8217;m cool with that because I know all of the other folks mentioned in the article (XNA, Whirled, LittleBigPlanet, Playcrafter) know who we are. ;-)</p>
<div id="tweetbutton191" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2009%2F01%2Fbuilding-gamings-future%2F&amp;via=troygilbert&amp;text=Building%20Gaming%26%238217%3Bs%20Future&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2009/01/building-gamings-future/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mattel Gets Into the User-Generated Games Market</title>
		<link>http://troygilbert.com/2009/01/virtual-worlds-news-mattel-developing-digital-network-adding-game-creation-to-funkeys/</link>
		<comments>http://troygilbert.com/2009/01/virtual-worlds-news-mattel-developing-digital-network-adding-game-creation-to-funkeys/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 17:58:25 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Mockingbird]]></category>

		<guid isPermaLink="false">http://troygilbert.com/?p=187</guid>
		<description><![CDATA[Mattel gets into the user-generated game business, according to this CES press release: Virtual Worlds News: Mattel Developing Digital Network; Adding Game Creation to Funkeys. I can say that we&#8217;re apart of the strategy mentioned in this press release, and that I don&#8217;t consider Mattel a competitor. :-) Tweet]]></description>
			<content:encoded><![CDATA[<p>Mattel gets into the user-generated game business, according to this CES press release:</p>
<p><a href='http://www.virtualworldsnews.com/2009/01/mattel-developing-digital-network-adding-game-creation-to-funkeys.html'>Virtual Worlds News: Mattel Developing Digital Network; Adding Game Creation to Funkeys</a>.</p>
<p>I can say that we&#8217;re apart of the strategy mentioned in this press release, and that I don&#8217;t consider Mattel a competitor. :-)</p>
<div id="tweetbutton187" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2009%2F01%2Fvirtual-worlds-news-mattel-developing-digital-network-adding-game-creation-to-funkeys%2F&amp;via=troygilbert&amp;text=Mattel%20Gets%20Into%20the%20User-Generated%20Games%20Market&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2009/01/virtual-worlds-news-mattel-developing-digital-network-adding-game-creation-to-funkeys/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mockingbird on Kongregate</title>
		<link>http://troygilbert.com/2008/12/mockingbird-on-kongregate/</link>
		<comments>http://troygilbert.com/2008/12/mockingbird-on-kongregate/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 10:05:37 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Mockingbird]]></category>

		<guid isPermaLink="false">http://troygilbert.com/2008/12/10/mockingbird-on-kongregate/</guid>
		<description><![CDATA[We&#8217;ve posted our first build of Mockingbird on Kongregate. It&#8217;s a platformer kit&#8230; start runnin&#8217; and jumpin&#8217;! Over the next week, we&#8217;re going to rework this version of Mockingbird and re-integrate it into our site. New things on the way&#8230; Tweet]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve posted our first build of <a href="http://www.kongregate.com/games/MockingbirdGames/mockingbird-the-game-making-game-platformer-kit#game_instructions">Mockingbird on Kongregate</a>. It&#8217;s a platformer kit&#8230; start runnin&#8217; and jumpin&#8217;!</p>
<p>Over the next week, we&#8217;re going to rework this version of Mockingbird and re-integrate it into our site. New things on the way&#8230;</p>
<div id="tweetbutton182" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2008%2F12%2Fmockingbird-on-kongregate%2F&amp;via=troygilbert&amp;text=Mockingbird%20on%20Kongregate&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2008/12/mockingbird-on-kongregate/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Minimize Code, Maximize Data</title>
		<link>http://troygilbert.com/2008/10/minimize-code-maximize-data/</link>
		<comments>http://troygilbert.com/2008/10/minimize-code-maximize-data/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 04:23:24 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Mockingbird]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://troygilbert.com/2008/10/24/minimize-code-maximize-data/</guid>
		<description><![CDATA[The Database Programmer: Minimize Code, Maximize Data: an excellent description of something I&#8217;ve learned as I&#8217;ve worked with game development tools over the last 10 years (warning: quickly becomes SQL-focused). It always distinguishes game makers who come from an art/design background and game makers who come from an engineering/scripting background. Non-programmers only have data to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://database-programmer.blogspot.com/2008/05/minimize-code-maximize-data.html">The Database Programmer: Minimize Code, Maximize Data</a>: an excellent description of something I&#8217;ve learned as I&#8217;ve worked with game development tools over the last 10 years (warning: quickly becomes SQL-focused). It always distinguishes game makers who come from an art/design background and game makers who come from an engineering/scripting background.</p>
<p>Non-programmers only have data to work with so they solve their design problems by pushing different/more data into a fixed toolset. Programmers solve design problems by writing software. Unfortunately, the way software ecosystems work, the data-side of the equation is less error-prone and is the fastest to iterate on.</p>
<p>One thing we&#8217;ve tried to do with Mockingbird is build a game development toolset for non-programmers. Not folks who don&#8217;t program (yet), but non-programmers &#8212; folks who won&#8217;t ever be (by choice) programmers. HTML does the same thing (which Mockingbird is closely modeled after). That&#8217;s one of the big reasons &#8220;it works.&#8221;</p>
<div id="tweetbutton176" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2008%2F10%2Fminimize-code-maximize-data%2F&amp;via=troygilbert&amp;text=Minimize%20Code%2C%20Maximize%20Data&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2008/10/minimize-code-maximize-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bomb Obama: The Game</title>
		<link>http://troygilbert.com/2008/10/bomb-obama-the-game/</link>
		<comments>http://troygilbert.com/2008/10/bomb-obama-the-game/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 15:55:58 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Mockingbird]]></category>

		<guid isPermaLink="false">http://troygilbert.com/?p=172</guid>
		<description><![CDATA[In my last post, I suggested that someone needed to update the Obama game to feature McCain and Palin. Well, since no one jumped on that suggestion, I did&#8230; Tweet]]></description>
			<content:encoded><![CDATA[<p>In my last post, I suggested that someone needed to update the Obama game to feature McCain and Palin. Well, since no one jumped on that suggestion, I did&#8230;</p>
<p><object width="592" height="384"><param name="movie" value="http://playmockingbird.com/m?game_id=1675"></param><param name="bgcolor" value="#4e7838"></param><embed src="http://playmockingbird.com/m?game_id=1675" type="application/x-shockwave-flash" width="592" height="384" bgcolor="#4e7838"></embed></object></p>
<div id="tweetbutton172" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2008%2F10%2Fbomb-obama-the-game%2F&amp;via=troygilbert&amp;text=Bomb%20Obama%3A%20The%20Game&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2008/10/bomb-obama-the-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obama Is Campaigning on Xbox 360!</title>
		<link>http://troygilbert.com/2008/10/obama-is-campaigning-on-xbox-360/</link>
		<comments>http://troygilbert.com/2008/10/obama-is-campaigning-on-xbox-360/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 21:19:56 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Mockingbird]]></category>

		<guid isPermaLink="false">http://troygilbert.com/2008/10/14/obama-is-campaigning-on-xbox-360/</guid>
		<description><![CDATA[Obama Is Campaigning on Xbox 360!. This is so last spring&#8230; we launched with a user-generated Obama game! Now someone just needs to change this one to feature John McCain and Sarah Palin&#8230; ;-) Tweet]]></description>
			<content:encoded><![CDATA[<p><a href="http://gigaom.com/2008/10/13/confirmed-obama-is-campaigning-on-xbox-360/">Obama Is Campaigning on Xbox 360!</a>. This is so last spring&#8230; we launched with a <a href="http://playmockingbird.com/games/198">user-generated Obama game!</a> Now someone just needs to change this one to feature John McCain and Sarah Palin&#8230; ;-)</p>
<p><object width="592" height="384"><param name="movie" value="http://playmockingbird.com/m?game_id=198"></param><param name="bgcolor" value="#4e7838"></param><embed src="http://playmockingbird.com/m?game_id=198" type="application/x-shockwave-flash" width="592" height="384" bgcolor="#4e7838"></embed></object></p>
<div id="tweetbutton169" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2008%2F10%2Fobama-is-campaigning-on-xbox-360%2F&amp;via=troygilbert&amp;text=Obama%20Is%20Campaigning%20on%20Xbox%20360%21&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2008/10/obama-is-campaigning-on-xbox-360/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refactoring Mockingbird: Hypermedia as the Engine of Application State</title>
		<link>http://troygilbert.com/2008/10/refactoring-mockingbird-hypermedia-as-the-engine-of-application-state/</link>
		<comments>http://troygilbert.com/2008/10/refactoring-mockingbird-hypermedia-as-the-engine-of-application-state/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 04:34:17 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Mockingbird]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://troygilbert.com/2008/10/13/refactoring-mockingbird-hypermedia-as-the-engine-of-application-state/</guid>
		<description><![CDATA[I&#8217;ve seen this discussed several times in my REST research (including the original REST paper), but I found this to be the most straightforward explanation of why it&#8217;s advantageous: Peter Williams &#8211; Hypermedia as the Engine of Application State. Mockingbird&#8217;s REST API is pretty straightforward because documents are constructed on the client and the server [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve seen this discussed several times in my REST research (including the original REST paper), but I found this to be the most straightforward explanation of why it&#8217;s advantageous:</p>
<p><a href="http://barelyenough.org/blog/2007/05/hypermedia-as-the-engine-of-application-state/">Peter Williams &#8211; Hypermedia as the Engine of Application State</a>.</p>
<p>Mockingbird&#8217;s REST API is pretty straightforward because documents are constructed on the client and the server API essentially just loads and saves whole documents. But it&#8217;s intriguing that it could be completely encapsulated on the server by simply doing what the server already does for humans&#8230;</p>
<div id="tweetbutton167" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2008%2F10%2Frefactoring-mockingbird-hypermedia-as-the-engine-of-application-state%2F&amp;via=troygilbert&amp;text=Refactoring%20Mockingbird%3A%20Hypermedia%20as%20the%20Engine%20of%20Application%20State&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2008/10/refactoring-mockingbird-hypermedia-as-the-engine-of-application-state/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refactoring Mockingbird: Cairngorm</title>
		<link>http://troygilbert.com/2008/10/refactoring-mockingbird-cairngorm/</link>
		<comments>http://troygilbert.com/2008/10/refactoring-mockingbird-cairngorm/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 16:44:38 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[AS3 & Flash]]></category>
		<category><![CDATA[Mockingbird]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://troygilbert.com/2008/10/10/refactoring-mockingbird-cairngorm/</guid>
		<description><![CDATA[Mockingbird was the first end-to-end Flex application I&#8217;ve built, and definitely the largest application I&#8217;ve built using any technology. Over the last two years, I&#8217;ve learned a whole lot about application architecture. As I&#8217;ve mentioned previously, we didn&#8217;t always have time to properly architect everything. Of course, I knew we&#8217;d pay a &#8220;code tax&#8221; on [...]]]></description>
			<content:encoded><![CDATA[<p>Mockingbird was the first end-to-end Flex application I&#8217;ve built, and definitely the largest application I&#8217;ve built using any technology. Over the last two years, I&#8217;ve learned a whole lot about application architecture.</p>
<p>As I&#8217;ve mentioned previously, we didn&#8217;t always have time to properly architect everything. Of course, I knew we&#8217;d pay a &#8220;code tax&#8221; on each shortcut. And boy, have we paid them over time. In order to make each new set of changes within a reasonable amount of time my previous hacks require even worse hacks!</p>
<p>In fact, code hacks are exactly the same thing as telling lies. They start small, but the more often you do it the more it snowballs. The hacks (lies) have to get bigger each time in order to incorporate (and compensate for) the earlier hacks (lies).</p>
<p>I&#8217;ve looked at Cairngorm many, many times over the last two years wanting to apply it to Mockingbird. At first, I didn&#8217;t have a firm enough grasp on Cairngorm to implement it effectively. And once I did, we didn&#8217;t have the time to refactor Mockingbird to leverage it.</p>
<p>Well, it&#8217;s time to pay the taxman.</p>
<p><a href="http://www.adobe.com/devnet/flex/articles/cairngorm_pt6_print.html">Rapid and consistent development with Cairngorm and Flex</a>. Definitely the clearest explanation of Cairngorm. It&#8217;s a tidy summary of the entire micro-architecture end-to-end. Also includes an example feature addition and its implementation. This is the sixth (and final) part in a series on Cairngorm that goes into all the pieces in more detail. Definitely recommended reading for the Flex developers out there.</p>
<div id="tweetbutton165" class="tw_button" style="margin-bottom: 10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Ftroygilbert.com%2F2008%2F10%2Frefactoring-mockingbird-cairngorm%2F&amp;via=troygilbert&amp;text=Refactoring%20Mockingbird%3A%20Cairngorm&amp;related=&amp;lang=en&amp;count=horizontal" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://troygilbert.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://troygilbert.com/2008/10/refactoring-mockingbird-cairngorm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

