<?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>Pixelbox &#187; Random</title>
	<atom:link href="http://www.pixelbox.net/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pixelbox.net</link>
	<description>Pixelbox, technology development and photography.</description>
	<lastBuildDate>Thu, 08 Apr 2010 16:35:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>This file cannot be launched (by Flex/Flash Builder)</title>
		<link>http://www.pixelbox.net/2010/02/24/this-file-cannot-be-launched-by-flexflash-builder/</link>
		<comments>http://www.pixelbox.net/2010/02/24/this-file-cannot-be-launched-by-flexflash-builder/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 12:07:50 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=409</guid>
		<description><![CDATA[On an old project I had an annoying problem with Flex builder that meant only the main application&#8217;s MXML file would allow me to debug the application. If I tried to debug or run on another file in the project I would get the error, &#8220;This file cannot be launched&#8221;. In order to fix this, [...]]]></description>
			<content:encoded><![CDATA[<p>
On an old project I had an annoying problem with Flex builder that meant only the main application&#8217;s MXML file would allow me to debug the application. If I tried to debug or run on another file in the project I would get the error, &#8220;This file cannot be launched&#8221;.
</p>
<p>In order to fix this, all you need to do is make sure the folder/package with your files is added to the &#8216;runnable application files&#8217; in the Flex Applications tab of projects properties. If there are already added, just try adding again and it should resolve the issue.</p>
<p>Thanks to Jason San Jose for pointing this out to me!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2010/02/24/this-file-cannot-be-launched-by-flexflash-builder/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Arthropod</title>
		<link>http://www.pixelbox.net/2009/04/01/arthropod/</link>
		<comments>http://www.pixelbox.net/2009/04/01/arthropod/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 15:29:39 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=316</guid>
		<description><![CDATA[A quick introduction to Arthropod, an AIR application for tracing debug messages to from another Flex or AIR application.]]></description>
			<content:encoded><![CDATA[<p>I have recently been working a lot with sub applications in Flex. Sub applications are a great way to brake a large application up into smaller more manageable parts, but also provide the potential for some really exciting ideas.
</p>
<p>
One of the biggest problems when using sub applications is the security violations that the Flash platform throws up. These are seen in the debugging console, and with most Flex projects the number and frequency of violations, mean the console becomes impossible to use.
</p>
<p>
Today I discovered <a href="http://arthropod.stopp.se">Arthropod</a>. Arthropod is an AIR application that offers a console that you can log to from a SWF (Flex, AIR, Flash applications or movies). All you need to do is include a simple class, and then log your debugging messages like so:</p>
<p><</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span>Debug.<span style="color: #004993;">log</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;my message&quot;</span><span style="color: #000000;">&#41;</span>;</pre></div></div>

<p>
Arthropod uses the local connection to communicate with the desktop application, and although currently only supports AS3, it should be possible to get an AS2 version running too.
</p>
<p>
This means I can now debug to Arthropod and don&#8217;t need to use the default flex builder debug console. However Arthropod also allows you to do a lot more, by debugging applications in their live environment. For more info check out <a href="http://arthropod.stopp.se">http://arthropod.stopp.se</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2009/04/01/arthropod/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sub application communication in AIR</title>
		<link>http://www.pixelbox.net/2009/02/11/sub-application-communication-in-air/</link>
		<comments>http://www.pixelbox.net/2009/02/11/sub-application-communication-in-air/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 16:29:02 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=314</guid>
		<description><![CDATA[Some information on running sub applications in AIR. Sub applications give you great flexibility, but also present a lot of security issues, not to mention debugging problems. Be sure to check out the working example too!]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pixelbox.net/demos/AirSubApplication/ParentApplication.air"><img src="http://www.pixelbox.net/wp-content/uploads/2009/02/picture-1-300x237.png" alt="" title="picture-1" width="300" height="237" class="alignnone size-medium wp-image-315" /></a>
<p>
If you are interested in developing large application in Flex, it&#8217;s a good idea to break up parts into modues or separate application. This encourages loose coupling, improves the ease of updating and out sourcing development.
</p>
<p>
If your project is an AIR application then you will probibly want to load those modules locally (rather than rely on the web) and download/update them at runtime, rather than having to package them with your applicaiton. If this is the case you will no dout run into a host of problems involving application and security domains.
</p>
<p>
Adobe support this concept using the, &#8220;<a title="The Marshall Plan" href="http://opensource.adobe.com/wiki/display/flexsdk/Marshall+Plan">Marshall Plan</a>&#8220;, an environment for protecting your main application from the many porential risks of downloading excutiable code. Be sure to read the <a href="http://blogs.adobe.com/flexdoc/loadingSubApps.pdf">58 pages of info in this PDF</a>.
</p>
<p>
The key points of the Marshall Plan are, Application Domains, and Secutiry Domains. In a nut shell, Application domains seperate class definitions (so you can use the same framework/singletons in each app) and security domains protect against applicaitons traversing into their reletaves.
</p>
<p>
If you want to do anything slightly complicated with your sub applications (RPC, use frameworks, etc) you will need to load them into a separate application and security domain. This does cause some problems with your sub application&#8217;s components that try and access high level objects (like stage and mouse), but apparently you can work around these :/
</p>
<p>
One of the first hurdles in running sub applications in seperate security and application domains is communication. The Marshall Plan has restricted communication in AIR down to a single shared EventDispatcher called sharedEvents, which is located inside the loaderInfo for the SWFLoader and the subApplication. Documentation on this is non existant, and I found myself routing around in debug mode trying to find the correct reference, and here it is:
</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">// From the parent app where mySubApp is an instance of SWFLoader</span>
<span style="color: #6699cc; font-weight: bold;">var</span> e<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Event</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">'testFromParent'</span><span style="color: #000000;">&#41;</span>;
mySubApp.<span style="color: #004993;">content</span>.<span style="color: #004993;">loaderInfo</span>.<span style="color: #004993;">sharedEvents</span>.<span style="color: #004993;">dispatchEvent</span><span style="color: #000000;">&#40;</span>e<span style="color: #000000;">&#41;</span>;
mySubApp.<span style="color: #004993;">content</span>.<span style="color: #004993;">loaderInfo</span>.<span style="color: #004993;">sharedEvents</span>.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span> <span style="color: #990000;">'testFromSubApp'</span> , _eventFromSubApp <span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #009900;">// From the sub app</span>
<span style="color: #6699cc; font-weight: bold;">var</span> e <span style="color: #000000; font-weight: bold;">:</span> <span style="color: #004993;">Event</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Event</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">'testFromSubApp'</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0033ff; font-weight: bold;">this</span>.systemManager.<span style="color: #004993;">loaderInfo</span>.<span style="color: #004993;">sharedEvents</span>.<span style="color: #004993;">dispatchEvent</span><span style="color: #000000;">&#40;</span>e<span style="color: #000000;">&#41;</span>;
<span style="color: #0033ff; font-weight: bold;">this</span>.systemManager.<span style="color: #004993;">loaderInfo</span>.<span style="color: #004993;">sharedEvents</span>.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span> <span style="color: #990000;">'testFromParent'</span> , _testEventHandler<span style="color: #000000;">&#41;</span>;</pre></div></div>

</p>
<p>
That right there is the basics of communicating between the two. Untyped objects can also be passed through, and typed objects (like ArrayCollections) will be converted to generic objects. They key is knowing to use the loaderInfo in the, &#8220;content&#8221; of the SWFLoader, and that the loaderInfo in the child app is in the systemManager.
</p>
<p>
I have created a demo AIR application that downloads a sub application, stores it locally, loads it in, and shows them both communicating.
</p>
<p>
<a href="http://www.pixelbox.net/demos/AirSubApplication/SubApplicationBridge.zip">Download the source code here</a> or <a href="http://www.pixelbox.net/demos/AirSubApplication/ParentApplication.air">just the AIR application</a>.
</p>
<p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2009/02/11/sub-application-communication-in-air/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UI Navigation question</title>
		<link>http://www.pixelbox.net/2009/01/23/ui-navigation-question/</link>
		<comments>http://www.pixelbox.net/2009/01/23/ui-navigation-question/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 18:01:04 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=311</guid>
		<description><![CDATA[A quick question to see which of these icons would make most sense to you in a desktop application.]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.pixelbox.net/wp-content/uploads/2009/01/ui_question.jpg'><img src="http://www.pixelbox.net/wp-content/uploads/2009/01/ui_question-300x164.jpg" alt="ui_question" title="ui_question" width="300" height="164" class="alignnone size-medium wp-image-312" /></a>
<p>Question to ponder over the weekend.</p>
<p>You have a list of articles that scroll vertically in a desktop app.</p>
<p>
When you click on an article to view in full you have navigation arrows to go to the next and previous article.</p>
<p>
Do the buttons point up and down, to mimic scrolling on the previous screen?</p>
<p>
Do they point left and right like iTunes which also displays songs vertically?</p>
<p>Answers on a post card.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2009/01/23/ui-navigation-question/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Partial Functions In JavaScript</title>
		<link>http://www.pixelbox.net/2008/12/02/partial-functions-in-javascript/</link>
		<comments>http://www.pixelbox.net/2008/12/02/partial-functions-in-javascript/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 09:48:08 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=310</guid>
		<description><![CDATA[A handy trick for pre-filling arguments in callbacks, which can really shorten your code.]]></description>
			<content:encoded><![CDATA[<p>
I am currently re-writing a huge chunk of our CMS front end. The majority of this is JavaScript previously written using Prototype and script.aculo.us and I am taking a jQuery hammer to it.
</p>
<p>
One of the biggest problems I faced when I first wrote the script was not being able to set parameters in call back functions. This meant I had to either use globals or modify classes and then get them back.
</p>
<p>
So this time around I did a little research and found <a href="http://ejohn.org/blog/partial-functions-in-javascript/">this great function</a> from <a href="http://ejohn.org/blog/partial-functions-in-javascript/">John Resig</a>, which allows you to do just that, pre fill arguments for call back functions. Essentially it stores the arguments until you run the function, at which point it puts it all together again.
</p>
<p>
This has cut down my code significantly, so thanks John!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2008/12/02/partial-functions-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FOWA 2008</title>
		<link>http://www.pixelbox.net/2008/10/15/fowa-2008/</link>
		<comments>http://www.pixelbox.net/2008/10/15/fowa-2008/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 13:48:36 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=307</guid>
		<description><![CDATA[At the end of last week I attended FOWA2008 with Tom from work. Having only really been to the excellent dconstruct previously (I&#8217;m not counting things like internet world) I wasn&#8217;t sure how it would match up. I wasn&#8217;t disappointed as it turned out to be a great event with some fantastic talks, and some [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://london2008.futureofwebapps.com/'><img src="http://www.pixelbox.net/wp-content/uploads/2008/10/picture-1.png" alt="" title="FOWA" width="184" height="180" class="alignnone size-full wp-image-308" /></a></p>
<p>
At the end of last week I attended <a href="http://london2008.futureofwebapps.com/schedule">FOWA2008</a> with <a href="http://www.lyingonthecovers.net/">Tom from work</a>. Having only really been to the excellent <a href="http://2008.dconstruct.org/">dconstruct</a> previously (I&#8217;m not counting things like internet world) I wasn&#8217;t sure how it would match up. I wasn&#8217;t disappointed as it turned out to be a great event with some fantastic talks, and some great swag, such as the <a href="http://www.carsonified.com/carsonified/the-carsonified-journal">Carsonified Journal</a>!.
</p>
<p>
The event was at <a href="http://www.excel-london.co.uk/">Excel</a> (which is huge and a bit lacking in character) and had two main tracks, which was something I wasn&#8217;t used to. Initially I was thinking about splitting between the developer and business, but once I found out they were filming the talks and <a href="http://events.carsonified.com/fowa/2008/london/content">putting them online</a> I didn&#8217;t have to worry about missing a thing!
</p>
<p>
<a href="http://events.carsonified.com/fowa/2008/london/highlights/blaine-cook-joe-stump/">Blaine Cook &#038; Joe Stump&#8217;s talk called: Languages Don&#8217;t Scale</a>, was a great look at the language fanboys out there and how we shouldn&#8217;t bitch about X not scaling as all languages have their pros and cons, and at the end of the day, the differences are insignificant. They focused on the main area of concern for scaling, architecture.
</p>
<p>
Matt Biddulph&#8217;s talk entitles: Dopplr: It&#8217;s made of messages, was also really interesting. It would have been nice to have some code examples, but it was a little more tech focused that his talk at dconstruct, which was obviously more about the UX.
</p>
<p>
Later that day Blaine Cook, Ex Chief Engineer at Twitter presented another talk called: Colliding Worlds: Using Jabber to make awesome web sites. This was another really interesting talk, and something I would love to look into.
</p>
<p>
<a href="http://events.carsonified.com/fowa/2008/london/videos/francisco-tomalski/">Building Desktop Caliber Web Applications with Objective-J and Cappuccino by Francisco Tolmasky</a>, 280 North was really interesting. At first I was a huge sceptic of these sorts of frameworks, which focus on building an app, rather than how it translates onto the web. Francisco pointed out that the framework is aimed at building applications, not websites, which makes sense, as it&#8217;s modeled around Objective C methodology.
</p>
<p>Recently I have been making the transition from programming web sites, to desktop applications, and the differences are huge. A client-side focused application is so different from a typical client server architecture, and as a web developer it&#8217;s extremely hard to build these apps using a typical website methodology.</p>
<p>Many frameworks like Cairngorm, PureMVC or in this case <a href="http://cappuccino.org/">Cappuccino</a> look at addressing this, by modeling your application as you would for a desktop application, and abstracting how it&#8217;s presented or rendered. Some of the features of Cappuccino are fantastic, such as key mapping, undo history and clever trickery with HTML canvases (check out <a href="http://280slides.com/">280Slides</a>), however it&#8217;s biggest advantage is also it&#8217;s disadvantage. By using HTML, CSS and JavaScript it suffers form limited lockout, however by not requiring a plugin it also lacks from not having socket support, or better filesystem, webcam integration. Hopefully over the next few years (especially with chrome) the browsers will start evolving and adding some of these limitations.</p>
<p>Day two had some more great talks, such as Scaling the Synchronous Web by the meebo guys, and how they managed scaling on Meebo. Andrew Turner&#8217;s talk Beyond Google Maps opened my eyes to a world (no pun intended) of mapping tools available on the web. We also got a treat of seeing Mark Zuckerberg, although there wasn&#8217;t time (probably a good thing) to see him get grilled.</p>
<p>The day ended with the infamious <a href="http://revision3.com/diggnation/">DiggNation</a>, which didn&#8217;t disappoint, especially with free Google beer!</p>
<p>Looking forward to next year already!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2008/10/15/fowa-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Image reflection with jQuery</title>
		<link>http://www.pixelbox.net/2008/09/16/image-reflection-with-jquery/</link>
		<comments>http://www.pixelbox.net/2008/09/16/image-reflection-with-jquery/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 15:03:23 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=305</guid>
		<description><![CDATA[Some code examples to achieve JavaScript image reflections using JQuery.]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.pixelbox.net/demos/reflect/'><img src="http://www.pixelbox.net/wp-content/uploads/2008/09/picture-1.png" alt="JavaScript reflection example" title="jsReflection" width="242" height="115" class="alignnone size-full wp-image-306" /></a>
<p>NOTE: This isn&#8217;t working in the latest releases of browsers. Please let me know if you have updated or know of maintained versions of this code I can link to.</p>
<p>
I have often used JavaScript to add reflections to images. Ideally this would be done server side, but often for quick presentations or mock ups it saves a lot of time.
</p>
<p>
I have previously used <a href="http://cow.neondragon.net/stuff/reflection/">Reflection.js</a>, which uses prototype. Since I now normally use jQuery I looked for a <a href="http://plugins.jquery.com/project/reflect">jQuery version of reflection</a>, which I found <a href="http://plugins.jquery.com/project/reflect">here</a>.
</p>
<p>
There is a big problem with the code though. If the images haven&#8217;t loaded then the reflection fails. Most of the time if you refresh the page it will work (thanks caching), but that&#8217;s not idea.
</p>
<p>
<del>I have written a work around until the plugin is updated. The work around will run and check each image with the reflect class to see if it has finished loading (using the handy .complete). If it hasn&#8217;t it sets a flag to retry after a time out, if it has then we call the reflect function on it, and then remove the reflect class, so we don&#8217;t check it again next time.</del> <a href="http://www.lyingonthecovers.net/">Tom</a> improved this by using the .load function which removes the need for the time out, nice work, I have updated the examples.  This works really well, especially when you have lots of large images, or users on slow connections. The code will also add the reflection to each image as it loads, rather than waiting for all of them to load.
</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
	$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;img.reflect&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">load</span><span style="color: #009900;">&#40;</span> 
				<span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
					$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">reflect</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>height<span style="color: #339933;">:</span> <span style="color: #CC0000;">0.3</span><span style="color: #339933;">,</span> opacity<span style="color: #339933;">:</span> <span style="color: #CC0000;">0.6</span><span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span> 
			<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p> Please let me know if you have any advice or improvements!</p>
<p>
<a href="http://www.pixelbox.net/demos/reflect/">You can see a jQuery Reflection work around example here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2008/09/16/image-reflection-with-jquery/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Delighters</title>
		<link>http://www.pixelbox.net/2008/09/06/delighters/</link>
		<comments>http://www.pixelbox.net/2008/09/06/delighters/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 12:46:42 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=303</guid>
		<description><![CDATA[What are delighters and how can they work in web and software development?]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.marketingnpv.com/tools/all/creating_market_advantage_with_delighters"><img src="http://www.pixelbox.net/wp-content/uploads/2008/09/04i4tools02_02-300x270.gif" alt="Delighters in the Hotel industry" title="Delighters" width="300" height="270" class="alignnone size-medium wp-image-304" /></a></p>
<p>
At D.Construct 08, <a href="http://www.dopplr.com/main/about">Matt Biddulph and Matt Jones</a> talked about Delighters. A delighter is a term coined by the Hotel industry for an item that delights a customer and increases the chance of them staying again (<a href="http://www.marketingnpv.com/tools/all/creating_market_advantage_with_delighters">more info on delighters here</a>). Items such as Plush Towels, an arrival gift or free movies could all be delighters, but Matt referred to the placement of a rubber duck in the bath tub on a rainy day as his example. <a href="http://twitter.com/Thayer/statuses/910922748">However during the conference Thayer tweeted this perfect example of one</a>.
</p>
<p>
<a href="http://www.dopplr.com/main/about">Dopplr</a> (Matt and Matt&#8217;s application) uses these Delightors on various parts of their site. The ones they talked about included the <a href="http://blog.dopplr.com/2007/10/23/in-rainbows/">logo changing colour depending on your travels</a>, the favico also changing, and <a href="http://blog.dopplr.com/?s=animal">your comparison to an animal in terms of speed</a>.
</p>
<p>
I have often seen high attention to detail as a delightor. I remember in <a href="http://en.wikipedia.org/wiki/Metal_Gear_Solid_2:_Sons_of_Liberty">MGS2</a> on the <a href="http://en.wikipedia.org/wiki/Ps2">PS2</a> you could shoot the ice bucket and watch the <a href="http://www.pixelreview.net/reviews.asp?section=home&#038;id=31&#038;sort=K-O">ice cubes scatter on the floor</a>, something incredibly rare on a console of the power of the PS2. Better still the ice cubes melted, and even better the melted faster the further away from one another they were!!! This had nothing to do with the game&#8217;s plot and was purely for fun, but it made the game all the more impressive.
</p>
<p>
Computer games seem to have been at it for ages. I remember in the old Sonic games, that if you left your character still for about 30 seconds they would start tapping their feet, now days it&#8217;s a lot more complex, but something like GTA is littered with little extras they add that level of depth and &#8216;delight&#8217;. Even the PS2 it&#8217;s self allowed you to rotate the little <a href="http://www.youtube.com/watch?v=pGgaisJmUcs&#038;feature=related">PS2 logo</a> so it was the correct way up when you stood the PS2 on it&#8217;s side, something almost no one noticed.
</p>
<p>
It is often rare to find delightors on the web, although they do exist. Aside from Dopplr&#8217;s delightors, here are some I have found:</p>
<ul>
<li><a href="http://1976design.com/blog/">The header of Dunstan&#8217;s blog changing with the weather</a></li>
<li><a href="http://1976design.com/blog/">Live searching</a>, again on Dunstan&#8217;s blog (this was a log time ago)</li>
<li>Zooming with the mouse wheel on <a href="http://maps.google.com/">google maps</a></li>
<li><a href="http://silverbackapp.com/">The parallax effect on the Silverback holding page</a></li>
<li><a href="tp://www.flickr.com/photos/organize/">The little nuke animation when you delete an image on organize</a></li>
<li><a href="http://www.google-logos.com/">Google&#8217;s event logos</a></li>
<li>Auto Save on Gmail</li>
</ul>
<p>I love these little delighters, and would love to add them into some of my projects. Let me know if you know of others and I&#8217;ll add them to the list!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2008/09/06/delighters/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google Chrome</title>
		<link>http://www.pixelbox.net/2008/09/05/google-chrome/</link>
		<comments>http://www.pixelbox.net/2008/09/05/google-chrome/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:03:08 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=301</guid>
		<description><![CDATA[So yes, this is yet another post on Chrome the new browser from Google. However I am going to leave the UI and performance etc to the other million posts and focus on the strategy behind it! Firstly Google clearly have a brand advantage of creating a browser, by using Google to view the web [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.pixelbox.net/wp-content/uploads/2008/09/logo_sm.jpg" alt="Google Chrome" title="Google Chrome" width="150" height="55" class="alignnone size-full wp-image-302" />
<p>
So yes, this is yet another post on Chrome the new browser from Google. However I am going to leave the UI and performance etc to the other million posts and focus on the strategy behind it!
</p>
<p>
Firstly Google clearly have a brand advantage of creating a browser, by using Google to view the web you are constantly reminded of&#8230; well Google. It seems so strange it took them so long, especially when you look at Google Desktop, which is a far more complicated and niche product. I often here people to referring to Internet Explorer as, &#8220;The Internet&#8221;, so it will be interesting if this will change things! The browser has also been in the press a lot, even popping up in the London commuter papers as spread reviews.
</p>
<p>
I think the second goal for Google was to create a platform that improves their online &#8220;applications&#8221;, even though I will expect them to support older browsers, I also expect we will see Chrome only features very soon. Plus you know they will run faster on Chrome, and in support questions Google will suggest using Chrome etc etc.
</p>
<p>
This kind of leads into another area, which the implementation of gears hints to. Microsoft and Adobe are both promoting cross platform runtimes for web type applications (<abbr title="Rich Interactive/Internet Application">RIA</abbr>s). These are both extensions of their plugin runtimes, which can be written in HTML and JavaScript as well as native languages. However Google&#8217;s approach is to remove this compiled &#8220;complicated&#8221; stage and instead support an already existing web app by offering Google Gears caching support, to plain old HTML and JavaScript. I am yet to fully understand the features and abilities of Gears, but I am convinced this is where it&#8217;s going.
</p>
<p>
This is highlighted by the fact all sites run in their own instance of the browser, making them akin to applications. You can also create links on your desktop to like an application shortcut. This is along he same lines as Fluid or other <abbr title="Single Site Browser">SSB</abbr>s which I love for Google&#8217;s web apps. I am unsure though if people will see an app like Gmail as a replacement for a desktop client, unless Google release a pre set up instance of Chrome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2008/09/05/google-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problems with High Quality iPlayer?</title>
		<link>http://www.pixelbox.net/2008/08/31/problems-with-high-quality-iplayer/</link>
		<comments>http://www.pixelbox.net/2008/08/31/problems-with-high-quality-iplayer/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 19:10:23 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.pixelbox.net/?p=299</guid>
		<description><![CDATA[You may have noticed recently that some of the programs on the iPlayer offer you the chance to watch them in the new beta high quality player. This is great as I have a Mac Mini connected to my TV, so I get on demand BBC programs in HD (ish) for free (well at no [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.pixelbox.net/wp-content/uploads/2008/08/picture-11.png'><img src="http://www.pixelbox.net/wp-content/uploads/2008/08/picture-11.png" alt="BBC iPlayer logo" title="picture-11" width="125" height="97" class="alignnone size-full wp-image-300" /></a>
<p>
You may have noticed recently that some of the programs on the iPlayer offer you the chance to watch them in the new beta high quality player. This is great as I have a Mac Mini connected to my TV, so I get on demand BBC programs in HD (ish) for free (well at no extra cost).
</p>
<p>
However when watching I noticed that it kept stopping, I was unable to start it again unless I refreshed the page, which then meant I had to skip back to where I was to continue my viewing pleasure. I noticed that there was a pattern to this, and it was after about 20 minutes or so.
</p>
<p>
I think this is something to do with the flash player running out of memory, and not being able to buffer more of the program, which would make sense as I am only seeing this with the HD programs and a refresh of the page fixes it.
</p>
<p>
By right clicking on the player you can go to settings and change the local storage size, however I think this is just for local stored objects (flash cookies) rather than something like a movie, however after changing this to unlimited I had no problem&#8230; (as of yet). It may be that scrubbing information is stored in there, but that&#8217;s just a wild guess.
</p>
<p>
I would be interested to know if anyone else is having this problem, and if they are how they resolved it. I remember having a problem in the early days with my router, but this is more of a subtle problem, and I&#8217;m sure I&#8217;m not the only one! So let me know if you have any ideas!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelbox.net/2008/08/31/problems-with-high-quality-iplayer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
