<?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>Really Aced &#187; Other</title>
	<atom:link href="http://blog.sommestad.net/category/development/other-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sommestad.net</link>
	<description>Client-side development through the eyes of Kristofer Sommestad, a Jadestone developer and client architect.</description>
	<lastBuildDate>Fri, 03 Sep 2010 13:35:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google Analytics setVar() deprecated and replaced by setCustomVar()</title>
		<link>http://blog.sommestad.net/2009/12/google-analytics-setvar-deprecated-and-replaced-by-setcustomvar/</link>
		<comments>http://blog.sommestad.net/2009/12/google-analytics-setvar-deprecated-and-replaced-by-setcustomvar/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 13:49:44 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[old news]]></category>
		<category><![CDATA[setCustomVar]]></category>
		<category><![CDATA[setVar]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=249</guid>
		<description><![CDATA[
			
				
			
		
For a while, there&#8217;s been a possibility to separate your users in various segments in Google Analytics, by setting a (single) variable in the Analytics cookie, for example:
pageTracker._setVar("member-premium-true");
Earlier this year, Google introduced the neat possibility to use multiple custom variables, allowing more customization and flexibility. You are allowed to use five slots (1-5) and set [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 1em;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F12%2Fgoogle-analytics-setvar-deprecated-and-replaced-by-setcustomvar%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F12%2Fgoogle-analytics-setvar-deprecated-and-replaced-by-setcustomvar%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>For a while, there&#8217;s been a possibility to separate your users in various segments in Google Analytics, by setting a (single) variable in the Analytics cookie, for example:</p>
<pre class="prettyprint"><span class="pln">pageTracker</span><span class="pun">.</span><span class="pln">_setVar</span><span class="pun">(</span><span class="str">"member-premium-true"</span><span class="pun">)</span>;</pre>
<p>Earlier this year, Google introduced the neat possibility to <a href="http://code.google.com/intl/sv/apis/analytics/docs/tracking/gaTrackingCustomVariables.html#examples">use multiple custom variables</a>, <a href="http://www.analyticsmarket.com/blog/multiple-custom-variables">allowing more customization and flexibility</a>. You are allowed to use five slots (1-5) and set a name, value and scope to your variable.<br />
The old <a href="http://code.google.com/intl/sv/apis/analytics/docs/gaJS/gaJSApiBasicConfiguration.html#_gat.GA_Tracker_._setVar">setVar</a> method has been deprecated and replaced by the new <a href="http://code.google.com/intl/sv/apis/analytics/docs/gaJS/gaJSApiBasicConfiguration.html#_gat.GA_Tracker_._setCustomVar">setCustomVar</a>:</p>
<pre class="prettyprint"><span class="pln">pageTracker</span><span class="pun">.</span><span class="pln">_setCustomVar</span><span class="pun">(</span><span class="pln">
      </span><span class="lit">1</span><span class="pun">,</span><span class="pln">                </span><span class="com">// This custom var is set to slot #1</span><span class="pln">
      </span><span class="str">"Member Type"</span><span class="pun">,</span><span class="pln">    </span><span class="com">// The name of the custom variable</span><span class="pln">
      </span><span class="str">"Premium"</span><span class="pun">,</span><span class="pln">        </span><span class="com">// The value of the custom variable</span><span class="pln">
      </span><span class="lit">1</span><span class="pln">                 </span><span class="com">// Sets the scope to visitor-level</span><span class="pln">
 </span><span class="pun">);</span><span class="pln">
pageTracker</span><span class="pun">.</span><span class="pln">_trackPageview</span><span class="pun">();</span><span class="pln">
</span></pre>
<p><em>This isn&#8217;t really news, but it wasn&#8217;t obvious what had happened by just looking at the <a href="http://code.google.com/intl/sv/apis/analytics/docs/gaJS/gaJSApi.html">Google Analytics API docs</a>, so I thought I&#8217;d mention it here just to &#8220;spread the word&#8221;.<br />
</em></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<pre id="line3644">&lt;<span class="start-tag">script</span><span class="attribute-name"> type</span>=<span class="attribute-value">"text/javascript"</span>&gt;
				pageTracker._setVar('member-premium-true');
			&lt;/<span class="end-tag">script</span>&gt;</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/12/google-analytics-setvar-deprecated-and-replaced-by-setcustomvar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The one essential Agile ingredient</title>
		<link>http://blog.sommestad.net/2009/11/the-one-essential-agile-ingredient/</link>
		<comments>http://blog.sommestad.net/2009/11/the-one-essential-agile-ingredient/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 11:25:10 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[processes]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=243</guid>
		<description><![CDATA[
			
				
			
		
I just read a great article, summarized over at InfoQ, about Agile development.
I think Mark W Schumann is spot-on with his formulations on what you have to understand and accept in order to be successful with agile development.
Pairing is important, but it’s more important that you’re happy to be corrected a couple dozen times a [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 1em;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F11%2Fthe-one-essential-agile-ingredient%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F11%2Fthe-one-essential-agile-ingredient%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I just read <a href="http://blog.criticalresults.com/2009/10/23/essential-humility/">a great article</a>, summarized <a href="http://www.infoq.com/news/2009/10/agiles-one-essential-ingredient">over at InfoQ</a>, about Agile development.</p>
<p>I think <a href="http://blog.criticalresults.com/">Mark W Schumann</a> is spot-on with his formulations on what you have to understand and accept in order to be successful with agile development.</p>
<blockquote><p>Pairing is important, but it’s more important that you’re happy to be <em>corrected</em> a couple dozen times a day. Test-driven development is useful, but it’s more useful to <em>imagine</em> a hundred ways something can go wrong. Stand-up meetings can be effective, but the <em>trust</em> in your colleagues that frees you to do your own thing makes them really effective.</p></blockquote>
<p>It&#8217;s all about being humble and accepting the fact that you just don&#8217;t know everything at the start of a project, a task or whatever.</p>
<blockquote><p>&#8230; there has to be an attitude in middle-to-senior management that they don’t know everything, that some things aren’t amenable to control, that surprise is something that should be expected. You have to <em>trust</em> your teams, even when they don’t deliver the results you expect. You have to <em>imagine</em> more than one possible outcome.</p></blockquote>
<p>Really recommend reading the post, no matter if you&#8217;re a developer or a manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/11/the-one-essential-agile-ingredient/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 useful usability findings and guidelines</title>
		<link>http://blog.sommestad.net/2009/09/10-useful-usability-findings-and-guidelines/</link>
		<comments>http://blog.sommestad.net/2009/09/10-useful-usability-findings-and-guidelines/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 09:23:17 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[old news]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=147</guid>
		<description><![CDATA[
			
				
			
		
Smashing Magazine posted another great article today about usability.
Summarized, their findings were:

Form Labels Work Best Above The Field
Quality Of Design Is An Indicator Of Credibility
Most Users Do Not Scroll
Blue Is The Best Color For Links
The Ideal Search Box Is 27-Characters Wide
White Space Improves Comprehension
Effective User Testing Doesn’t Have To Be Extensive
Informative Product Pages Help You [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 1em;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F09%2F10-useful-usability-findings-and-guidelines%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F09%2F10-useful-usability-findings-and-guidelines%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.smashingmagazine.com/">Smashing Magazine</a> posted <a href="http://www.smashingmagazine.com/2009/09/24/10-useful-usability-findings-and-guidelines/">another great article</a> today about usability.</p>
<p>Summarized, their findings were:</p>
<ul>
<li>Form Labels Work Best Above The Field</li>
<li>Quality Of Design Is An Indicator Of Credibility</li>
<li>Most Users Do Not Scroll</li>
<li>Blue Is The Best Color For Links</li>
<li>The Ideal Search Box Is 27-Characters Wide</li>
<li>White Space Improves Comprehension</li>
<li>Effective User Testing Doesn’t Have To Be Extensive</li>
<li>Informative Product Pages Help You Stand Out</li>
<li>Most Users Are Blind To Advertising</li>
<li>Bonus: Findings From Our Case-Studies</li>
</ul>
<p>Not necessarily new findings, but as usual, very interesting reading!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/09/10-useful-usability-findings-and-guidelines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Premature optimization is the root of all evil</title>
		<link>http://blog.sommestad.net/2009/04/premature-optimization-is-the-root-of-all-evil/</link>
		<comments>http://blog.sommestad.net/2009/04/premature-optimization-is-the-root-of-all-evil/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 08:00:58 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[chaining]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://reallyaced.wordpress.com/?p=85</guid>
		<description><![CDATA[
			
				
			
		
From time to time, discussions pop up on how to optimize your code. &#8220;Create your arrays like this&#8221;, &#8220;define your variables like that&#8221; etc. Today I read a blog post by Sean Moore, summarizing a lot of (alleged) performance optimizations in AS3. It contains quite a few incorrect points, but probably serves quite good as [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 1em;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F04%2Fpremature-optimization-is-the-root-of-all-evil%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F04%2Fpremature-optimization-is-the-root-of-all-evil%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>From time to time, discussions pop up on how to optimize your code. &#8220;Create your arrays like this&#8221;, &#8220;define your variables like that&#8221; etc. Today I read a <a href="http://www.insideria.com/2009/04/51-actionscript-30-and-flex-op.html">blog post by Sean Moore</a>, summarizing a lot of (alleged) performance optimizations in AS3. It contains quite a few incorrect points, but probably serves quite good as a place to find out the truth behind some optimization myths. There are a few interesting comments in the &#8220;comments section&#8221;&#8230;</p>
<p>Anywho. My opinion is that you should rarely bother to do this kind of micro optimizations of your code. Maintainability and readability of the code is way more important, especially in larger products as those we&#8217;re working on. People should put more effort in that area, than saving a nano second here and there. (Also, there&#8217;s often far better places to optimize the code than in variable declarations and arrays&#8230;)</p>
<p>I hate it when I come across code like this (JavaScript in this example):</p>
<pre>var i = 0, j = 1, k = 2;</pre>
<p>&#8230; as opposed to the more human readable:</p>
<pre>var i = 0;
var j = 1;
var k = 2;</pre>
<p>There&#8217;s no real reason what so ever to write code like that! It just makes it harder to read and maintain.<br />
I guess maybe that&#8217;s why I&#8217;m not a preacher of the chaining madness in jQuery&#8230;</p>
<p>(The headline is a quote from <a href="http://en.wikipedia.org/wiki/Donald_Knuth">Donald Knuth</a>, which I think applies to any programming language, at least all of those I&#8217;ve been working with).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/04/premature-optimization-is-the-root-of-all-evil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizing the development process</title>
		<link>http://blog.sommestad.net/2009/03/optimizing-the-development-process-2/</link>
		<comments>http://blog.sommestad.net/2009/03/optimizing-the-development-process-2/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 13:46:34 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[iterations]]></category>
		<category><![CDATA[mxml]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[processes]]></category>

		<guid isPermaLink="false">http://reallyaced.wordpress.com/?p=70</guid>
		<description><![CDATA[
			
				
			
		
I&#8217;m currently working with some research on how to create an optimized development process with between Artists &#60;-&#62; UI designers &#60;-&#62; Developers. This will be an ongoing discussion and evaluation process, but I&#8217;ve come to some conclusions this far.
What&#8217;s the deal, anyway?
I&#8217;ve been discussing the issue a lot with Peter, our team&#8217;s designer, and we&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 1em;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F03%2Foptimizing-the-development-process-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F03%2Foptimizing-the-development-process-2%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;m currently working with some research on how to create an optimized development process with between Artists &lt;-&gt; UI designers &lt;-&gt; Developers. This will be an ongoing discussion and evaluation process, but I&#8217;ve come to some conclusions this far.</p>
<h3>What&#8217;s the deal, anyway?</h3>
<p>I&#8217;ve been discussing the issue a lot with Peter, our team&#8217;s designer, and we&#8217;ve been trying to pin-point the most important parts of the process. Two of the main issues are:</p>
<ol>
<li>being able to have short &#8220;design-implement-test&#8221; iterations when implementing new features, making changes etc.</li>
<li>maintaining a solid code base while still allowing non-developers to make changes to the interface.</li>
</ol>
<h3>Does the technology matter?</h3>
<p><strong> </strong>It&#8217;s hard to say which technology to use in order to meet the demands, as it depends very much on what the product really is. If it&#8217;s a game where instant and fluffy feedback is important, then we should probably make it a Flash app. If it on the other hand is more of a site, where larger sets of data are important to display in an easy-to-understand manor, then we should probably make it a HTML/AJAX app.</p>
<p>In our upcoming, and many of our current, projects we&#8217;re focusing a lot on the visual experience. We&#8217;re developing games. In Flash. So how can we optimize the processes with focus on Flash development?</p>
<h3>Supporting short development iterations</h3>
<p><strong> </strong>In order to support short iterations, we need to make it easier for project members to change things without being hindered by their technical skills; a designer or artist shouldn&#8217;t need to have ActionScript expertise to change the colors of a button or the placement of a menu.</p>
<p>One way of solving this can be to use Flex with MXML. In MXML, the layout (View) can be changed using a special markup language, logically similar to HTML. Various components, such as buttons, can be positioned freely with some pretty easy-to-use tags. This is quite commonly used among developers all over the world.<br />
Now I haven&#8217;t used MXML to any massive extent, but in my opinion, using MXML isn&#8217;t really all I want it to be. The code gets a bit ugly and somewhat hard to control.</p>
<h3>We&#8217;ve got a great tool for this</h3>
<p><strong> </strong>A while ago, one of my co-workers developed our own framework where it&#8217;s possible to easily define views on an XML format. Some capabilities of the framework:</p>
<ul>
<li>a widget (component) class can be mapped to an SWF file, i.e. containing the art assets for a widget</li>
<li>widgets can be positioned anywhere in its container, either with an absolute position or relative to any other widget</li>
<li>widgets can listen to events from other widgets, in order to allow for them to communicate with each other</li>
<li>a widget can consist of another XML definition to allow for better structure in the view document</li>
</ul>
<p>It pretty much meets the demands one&#8217;s got on such a framework! An advantage (which could also be seen as a disadvantage) is that we can develop the framework further when needed, in order to add more nifty functionality.</p>
<h3>Is this enough for us?</h3>
<p>Anyway. Allowing the designer/artist to create widgets/components and using the widget framework for creating a layout is probably a very good way of meeting the demands of our desired work process. A couple of things that are vital:</p>
<ul>
<li>The View (Widgets and Layout) needs to be clearly distanced from the actual functionality in order to maintain a solid and independent code base, i.e. no functionality should reside in the Widgets or the View document.</li>
<li>The widgets should be kept as small and isolated as possible, to make it as flexible as possible and avoid difficulties/conflicts in version systems.</li>
</ul>
<p>We should try to identify if we have any further needs that aren&#8217;t met by our widget framework of today. As it&#8217;s a great system, we should really try to cling on to it and keep developing it (as we have up until today).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/03/optimizing-the-development-process-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
