<?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</title>
	<atom:link href="http://blog.sommestad.net/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>Wed, 30 Jun 2010 08:55:53 +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>Save the world from the Vuvuzela invasion!</title>
		<link>http://blog.sommestad.net/2010/06/save-the-world-from-the-vuvuzela-invasion/</link>
		<comments>http://blog.sommestad.net/2010/06/save-the-world-from-the-vuvuzela-invasion/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 08:54:58 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Jadestone]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[vuvuzela]]></category>
		<category><![CDATA[vuvuzela whacker]]></category>
		<category><![CDATA[world cup]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=275</guid>
		<description><![CDATA[
			
				
			
		
Jadestone &#8211; and myself &#8211; released a new iPhone/iPod touch game the other day. Vuvuzela Whacker is probably the most heralded game of the summer &#8211; a whac-a-mole style game where you score points by &#8220;whacking&#8221; football fans playing vuvuzelas! How can you NOT love that?  
From the press release that went out:
Vuvuzela Whacker [...]]]></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%2F2010%2F06%2Fsave-the-world-from-the-vuvuzela-invasion%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2010%2F06%2Fsave-the-world-from-the-vuvuzela-invasion%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.jadestone.se">Jadestone</a> &#8211; and myself &#8211; released a new iPhone/iPod touch game the other day. <a href="http://www.vuvuzelawhacker.com">Vuvuzela Whacker</a> is probably the most heralded game of the summer &#8211; a whac-a-mole style game where you score points by &#8220;whacking&#8221; football fans playing vuvuzelas! How can you NOT love that? <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_276" class="wp-caption aligncenter" style="width: 490px"><a href="http://blog.sommestad.net/wp-content/2010/06/bild-1.jpg"><img class="size-full wp-image-276" title="Vuvuzela Whacker" src="http://blog.sommestad.net/wp-content/2010/06/bild-1.jpg" alt="" width="480" height="320" /></a><p class="wp-caption-text">Whack those vuvuzela players!</p></div>
<p>From the press release that went out:</p>
<blockquote><p>Vuvuzela Whacker is an action packed game for iPhone and iPod Touch. The  goal is to save the world from the vuvuzela infestation by whacking as  many vuvuzela players as possible in one minute. Tap away at the fans  holding vuvuzelas &#8211; but avoid hitting the regular fans. There are  zombies in the stands, too.</p>
<p>Vuvuzela Whacker features score multipliers, beautiful graphics and the  ability to release frustration for TV viewers who&#8217;ve grown tired of the  drone. For soccer fans, the pleasure of silencing a vuvuzela is equal to  watching Lionel Messi attacking.</p>
<p>Vuvuzela Whacker users can show off the number of vuvuzelas they&#8217;ve  silenced to their friends on Facebook. As the instrument&#8217;s at risk of  being exported to the national championships as seasons begin in August,  our goal is to have 1.000.000 vuvuzelas whacked before the end of the  World Cup.</p></blockquote>
<p>So help save the world and <a href="http://itunes.apple.com/se/app/vuvuzela-whacker/id379117166?mt=8">download Vuvuzela Whacker</a> from App Store right away for only $0.99!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2010/06/save-the-world-from-the-vuvuzela-invasion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trying Google Web Toolkit again &#8211; and liking it</title>
		<link>http://blog.sommestad.net/2010/01/trying-google-web-toolkit-again-and-liking-it/</link>
		<comments>http://blog.sommestad.net/2010/01/trying-google-web-toolkit-again-and-liking-it/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 09:26:21 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[google web toolkit]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=265</guid>
		<description><![CDATA[
			
				
			
		
A while back, I tried out Google Web Toolkit to see if it was any interesting. My main concerns after that early glance was the stability of the applications and the possibilities to mix GWT code with plain JavaScript code.
Giving it another stab
I decided to give it another go last week, when re-building the mixtape [...]]]></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%2F2010%2F01%2Ftrying-google-web-toolkit-again-and-liking-it%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2010%2F01%2Ftrying-google-web-toolkit-again-and-liking-it%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>A while back, <a href="http://blog.sommestad.net/2009/03/a-first-glance-at-gwt-2/">I tried out Google Web Toolkit</a> to see if it was any interesting. My main concerns after that early glance was the stability of the applications and the possibilities to mix <a href="http://code.google.com/intl/en/webtoolkit/overview.html">GWT</a> code with plain JavaScript code.</p>
<h3>Giving it another stab</h3>
<p>I decided to give it another go last week, when re-building the <a href="http://www.spotiseek.com/mixtape/Coldplay">mixtape interface</a> for my side project <a href="http://www.spotiseek.com">Spotiseek</a>. A few things led me to creating an &#8220;Ajax&#8221; application with GWT:</p>
<ul>
<li>quite a few requests are required to present the view &#8211; I needed the requests to be cached in the client to reduce the server load</li>
<li>I needed an application built on stable and easily maintainable code</li>
<li>I figured it would be a good chance to learn more about GWT</li>
</ul>
<div id="attachment_269" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sommestad.net/wp-content/2010/01/spotiseek_mixtape_screen.png"><img class="size-medium wp-image-269" title="Spotiseek Mixtape" src="http://blog.sommestad.net/wp-content/2010/01/spotiseek_mixtape_screen-300x231.png" alt="Spotiseek Mixtape based on Coldplay" width="300" height="231" /></a><p class="wp-caption-text">Spotiseek Mixtape interface</p></div>
<h3>Drawing some conclusions</h3>
<p>After completing the first release of the new interface, I feel confident enough to draw a few conclusions:</p>
<h4>Positive: It&#8217;s Java!</h4>
<p>When looking to write stable and easily maintained code, I really can&#8217;t find any better candidate than Java. Since I&#8217;ve been working with Java for a number of years, I&#8217;m of course very comfortable with developing GWT apps.<br />
The syntax is nice and clean and of course the magic of the fantastic <a href="http://www.jetbrains.com/idea/">IntellJ IDEA</a> is indispensible.</p>
<h4>Positive: It does what I want it do do</h4>
<p>It might appear a ridiculuous header, but I have to say it&#8217;s very easy to create widgets that does exactly what you want. There&#8217;s little confusion on how to actually construct the application.</p>
<h4>Negative: Problematic project setup in the IDE</h4>
<p>Even though IntelliJ is a fantastic IDE, there&#8217;s appearantly some improvements that could be made to the setting up of GWT projects.</p>
<p>Just setting up a GWT project is not a huge matter, but trying to add a GWT project module to an existing web project was a lot of hassle. There was a lot of problems getting the built-in build/make process to put the files in the right place etc.</p>
<h4>Negative: Surprisingly poor community support</h4>
<p>I honestly thought that the usage of GWT would be more widely spread across the internet. But when I &#8211; from time to time &#8211; got stuck with an issue, there wasn&#8217;t really that much help from Googling.</p>
<p>There are of course a few good forums and such where many questions are answered, but unfortunately not the answers I was looking for. I had to dig deeper in the Google documents in  order to get enough info to draw my own conclusions.</p>
<p>EDIT: One nice resource I&#8217;ve found is <a href="http://raibledesigns.com/rd/entry/developing_and_testing_gwt_client">Matt Raible&#8217;s blog</a>.</p>
<p>Maybe it&#8217;s not inadequate for most issues, but I had expected more&#8230;</p>
<h4>(Sort of) Negative : Building everything from scratch</h4>
<p>Usually, you try to mix as much HTML and JavaScript as possible in order to write code more efficiently. Building it all up from scratch is often a quite expensive process and rarely gives you the most maintainable code.</p>
<p>But with GWT I didn&#8217;t really see any way of not building everything from scratch. Partly because it&#8217;s very easy to do so, but also because I didn&#8217;t find any good way of reusing existing HTML components.</p>
<p>I&#8217;m not sure it&#8217;s a true negative having to build everything from scratch, but it requires a somewhat different approach than you might be used to.</p>
<h3>To sum it up&#8230;</h3>
<p>Even though there was a few problems during the development, <strong>I&#8217;m glad I chose to develop the application in GWT</strong>. It&#8217;s resulted in a nice (enough) application, built on code that is stable and easy to maintain.</p>
<p>Also, I&#8217;ve learned a lot about GWT development and will have no problems going forward with the development.</p>
<p>(Apart from the conclusions I&#8217;ve drawn, there&#8217;s of course <a href="http://code.google.com/intl/en/webtoolkit/overview.html">a bunch of positives</a> that comes with developing GWT applications. )</p>
<h4>Maybe not suitable for all products</h4>
<p>As I&#8217;ve stated before, I still feel that you should always consider if GWT is the best approach for your particular application.<br />
I guess a certain amount of complexity is required, as it&#8217;s probably more tedious to write GWT Java code than regular JavaScript. If you&#8217;re going to develop a small-sized application, you&#8217;re probably best of doing it the old fashion way.</p>
<h4>SEO issues with JavaScript applications</h4>
<p>Of course, there are some issues with building your applications in JavaScript. One of them being the drawback in Search Engine Optimization (SEO), as your content is hidden from the indexing robots.<br />
I know <a href="http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html">Google have proposed a new standard</a> for specifying JavaScript content, in order to make the robots understand how to activate the content. But we&#8217;ll see what happens there&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2010/01/trying-google-web-toolkit-again-and-liking-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Find new Spotify music with Spotiseek</title>
		<link>http://blog.sommestad.net/2009/12/find-new-spotify-music-with-spotiseek/</link>
		<comments>http://blog.sommestad.net/2009/12/find-new-spotify-music-with-spotiseek/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 11:28:08 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[spotify]]></category>
		<category><![CDATA[spotiseek]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=263</guid>
		<description><![CDATA[
			
				
			
		
I figured I should start a small development project on the side, just for fun and learning. It resulted in Spotiseek &#8211; a tool for finding new music for Spotify.
The concept is pretty straightforward &#8211; enter the name of an artist you like, and get a playlist ready to be used in Spotify!
You should check [...]]]></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%2Ffind-new-spotify-music-with-spotiseek%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F12%2Ffind-new-spotify-music-with-spotiseek%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I figured I should start a small development project on the side, just for fun and learning. It resulted in <a title="Find new Spotify music with Spotiseek" href="http://www.spotiseek.com">Spotiseek</a> &#8211; a <a href="http://blog.spotiseek.com//2009/12/find-new-spotify-music-with-spotiseek/">tool for finding new music</a> for <a href="http://www.spotify.com">Spotify</a>.</p>
<p>The concept is pretty straightforward &#8211; enter the name of an artist you like, and get a playlist ready to be used in Spotify!</p>
<p>You should <a href="http://blog.spotiseek.com//2009/12/find-new-spotify-music-with-spotiseek/">check it out</a> if you like Spotify and want to find some new music. I&#8217;d love to get some feedback and suggestions as well!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/12/find-new-spotify-music-with-spotiseek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>Presentation: How to go from Flash to Flex development and why</title>
		<link>http://blog.sommestad.net/2009/10/presentation-on-how-to-evolve-in-development-of-large-flash-applications/</link>
		<comments>http://blog.sommestad.net/2009/10/presentation-on-how-to-evolve-in-development-of-large-flash-applications/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 13:34:51 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Flash & Flex]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash catalyst]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flex 4]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[large flash application]]></category>
		<category><![CDATA[mxml]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[processes]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[swiz]]></category>
		<category><![CDATA[wysiwyg]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=187</guid>
		<description><![CDATA[
			
				
			
		
I&#8217;ve conducted a small study recently, trying to figure out if we could evolve in our Flash RIA development somehow. I&#8217;ve read and experimented a lot with Flex, MXML and related tools to see if we&#8217;re missing something (we&#8217;re not using it very much today).
It&#8217;s not that we&#8217;re unhappy with how things are done now, [...]]]></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%2F10%2Fpresentation-on-how-to-evolve-in-development-of-large-flash-applications%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F10%2Fpresentation-on-how-to-evolve-in-development-of-large-flash-applications%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve conducted a small study recently, trying to figure out if we could evolve in our Flash RIA development somehow. I&#8217;ve <a href="http://blog.sommestad.net/category/development/flash-flex-development/">read and experimented</a> a lot with <a href="http://blog.sommestad.net/tag/flex/">Flex</a>, <a href="http://blog.sommestad.net/tag/mxml/">MXML</a> and related tools to see if we&#8217;re missing something (we&#8217;re not using it very much today).</p>
<p>It&#8217;s not that we&#8217;re unhappy with how things are done now, but with the new <a href="http://labs.adobe.com/technologies/flex4sdk/">Flex 4</a> and everything associated to it, I&#8217;ve felt that there&#8217;s an opportunity to make some improvements to our workflow.</p>
<h3>Summing it up</h3>
<p>As presented below, there are a few conclusions to be drawn here, for example:</p>
<ul>
<li><a href="http://labs.adobe.com/technologies/flex4sdk/">Flex 4</a> seems to be a really <a href="http://www.insideria.com/2009/10/the-aftermath-of-adobe-max-200.html">nice upgrade</a> and probably something you can&#8217;t ignore in the end.</li>
<li>There&#8217;s little information on the web about development of <strong>large</strong> Flash/RIA applications (like those we do). Pretty much all focus is on Flex development of small-to-medium sized applications. I&#8217;m not to speculate on the reasons why no one is spreading the word, but hope that my work can shed some light on the area.</li>
<li>There&#8217;s a lot of fuzz around the <a href="http://www.adobe.com">Adobe</a> products in general and Flex in particular. Very few seem to have any criticism at all when it comes to Flex, which is a bit disturbing, as nothing that looks too good to be true ever is. But maybe I&#8217;ve just been looking at the wrong side of the web? Just a reflection&#8230;</li>
</ul>
<h3>Presentation of findings</h3>
<p>I held an <a href="http://www.jadestone.se">in-house</a> presentation on my findings yesterday, and I thought I&#8217;d better share it with the world (= your <a href="http://www.google.com">favourite</a> <a href="http://www.yahoo.com">search</a> <a href="http://www.bing.com">engine</a>). I&#8217;ve stripped it down a bit, as there were some company specific things in there, but most of it is free for everyone to read.</p>
<p>A few things to consider before jumping in, though:</p>
<ul>
<li>This is a PowerPoint (well, <a href="http://www.openoffice.org">OpenOffice</a> actually) slide with <em>notes.</em> There was lots said when presenting each slide, so I can&#8217;t guarantee that you&#8217;ll learn everything I said. I understand this is not perfect, but figured that it&#8217;s better to upload this than nothing.</li>
<li>It&#8217;s just plain slides with notes, really. I did have some imagery in the original slides, but left it out as it&#8217;s probably only needed as &#8220;distraction&#8221; when viewed on a large screen with me talking next to it. So don&#8217;t get mad if it&#8217;s boring!</li>
<li>The plan wasn&#8217;t actually to hold an in-house presentation, but I figured it was a good idea. So the format on which it is presented may or may not be optimal, as it&#8217;s pretty much been summarized as I&#8217;ve went along. It could be a good idea to shape it up and make it a bit better, but at the moment, it&#8217;s more important just getting it &#8220;out there&#8221;.</li>
</ul>
<h3>The presentation itself</h3>
<p>With that having been said &#8211; and my back having been covered <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  &#8211; here it is (also <a href="../wp-content/2009/10/Catching_up_with_Flex_public.pdf" target="_blank">available as a PDF</a>):</p>

<iframe src="http://docs.google.com/viewer?url=http%3A%2F%2Fblog.sommestad.net%2Fwp-content%2F2009%2F10%2FCatching_up_with_Flex_public.pdf&embedded=true" width="538" height="500" frameborder="0" style="min-width:305px;" class="gde-frame"></iframe>

<p class="gde-text"><a href="http://blog.sommestad.net/wp-content/2009/10/Catching_up_with_Flex_public.pdf" target="_blank" class="gde-link">Download (PDF, 134.18KB)</a></p>
<p><strong>EDIT</strong>: Also <a href="http://www.slideshare.net/esset09/catching-up-with-flex">added the presentation to SlideShare</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/10/presentation-on-how-to-evolve-in-development-of-large-flash-applications/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CSS compatibility in Internet Explorer 6, 7 and 8</title>
		<link>http://blog.sommestad.net/2009/10/css-compatibility-in-internet-explorer-6-7-and-8/</link>
		<comments>http://blog.sommestad.net/2009/10/css-compatibility-in-internet-explorer-6-7-and-8/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 11:44:06 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Browser Compatibility]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[old news]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=185</guid>
		<description><![CDATA[
			
				
			
		
I just came across this article in Smashing Magazine about the CSS differences in Internet Explorer 6, 7 &#38; 8.
Nothing new really, but a good summary of what works and what doesn&#8217;t. The consensus is of course that you have to be aware of that IE6 pretty much can&#8217;t handle anything, so we&#8217;re still bound [...]]]></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%2F10%2Fcss-compatibility-in-internet-explorer-6-7-and-8%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F10%2Fcss-compatibility-in-internet-explorer-6-7-and-8%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I just came across this article in Smashing Magazine about the <a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">CSS differences in Internet Explorer 6, 7 &amp; 8</a>.</p>
<p>Nothing new really, but a good summary of what works and what doesn&#8217;t. The consensus is of course that you have to be aware of that IE6 pretty much can&#8217;t handle anything, so we&#8217;re still bound to write old code to be compatible with it. Sad but true!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/10/css-compatibility-in-internet-explorer-6-7-and-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solving issues with showFeedDialog in Facebook Applications</title>
		<link>http://blog.sommestad.net/2009/10/solving-issues-with-showfeeddialog-in-facebook-applications/</link>
		<comments>http://blog.sommestad.net/2009/10/solving-issues-with-showfeeddialog-in-facebook-applications/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 09:20:13 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook api]]></category>
		<category><![CDATA[facebook application]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[showFeedDialog]]></category>
		<category><![CDATA[streamPublish]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=183</guid>
		<description><![CDATA[
			
				
			
		
Damn, it&#8217;s annoying when you get stuck at a single point in development.
When continuing development of an Facebook Iframe application, I got stuck when trying to implement the showFeedDialog feature. For some reason, I couldn&#8217;t get the feed form dialog to show, even though I had configured the initialization properly and was using the correct [...]]]></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%2F10%2Fsolving-issues-with-showfeeddialog-in-facebook-applications%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F10%2Fsolving-issues-with-showfeeddialog-in-facebook-applications%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Damn, it&#8217;s annoying when you get stuck at a single point in development.</p>
<p>When continuing development of an <a href="http://www.facebook.com">Facebook</a> Iframe application, I got stuck when trying to implement the <a href="http://wiki.developers.facebook.com/index.php/Facebook.showFeedDialog">showFeedDialog</a> feature. For some reason, I couldn&#8217;t get the feed form dialog to show, even though I had configured the initialization properly and was using the correct methods and syntax.</p>
<p>I read through the extensive (and inconsistent thus confusing) Facebook developers&#8217; documentation, but couldn&#8217;t really find anything to help me. I&#8217;ve probably tried all of the various ways to initialize the app and use the API by now, and also tried to use <a href="http://wiki.developers.facebook.com/index.php/Stream.publish">streamPublish</a> instead.<br />
Also, the return values from the API insinuated that the dialog should actually be displayed (returned true when invoking the method).</p>
<h3>Back to basics</h3>
<p>So I figured it&#8217;s best to go back to the basic levels and read through the <a href="http://developers.facebook.com/get_started.php">Getting started docs</a>. And there it was. In a screenshot of the application settings, I noticed that they&#8217;d specified the Connect URL and set it to the same as the canvas URL. That&#8217;s the one thing I&#8217;d missed!<br />
I guess the problem was that I didn&#8217;t see this as a Connect application, as it&#8217;s running in an Iframe.<br />
But anyway, setting the connect url solved the problem and the feed dialogs popped up as intended!</p>
<h3>Confusing Wiki docs</h3>
<p>The Facebook developers&#8217; wiki is full of (useful) information, but it seems like it&#8217;s got lots of counter-information with different ways of using their implementation. It gets confusing quickly and is quite hard to troubleshoot. I hope they manage to sort it out some day&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/10/solving-issues-with-showfeeddialog-in-facebook-applications/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Interesting tool for comparing browser versions</title>
		<link>http://blog.sommestad.net/2009/09/interesting-tool-for-comparing-browser-versions/</link>
		<comments>http://blog.sommestad.net/2009/09/interesting-tool-for-comparing-browser-versions/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 12:14:03 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Browser Compatibility]]></category>
		<category><![CDATA[browser comparison]]></category>
		<category><![CDATA[browsershots]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[superpreview]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=149</guid>
		<description><![CDATA[
			
				
			
		
I stumbled upon Expression SuperPreview, a really neat tool for comparing different versions of web pages.
It basically lets you enter the URL (local or public) of  a web page, and allow you to compare images of different browser versions. Compard to other tools, like BrowserShots, it&#8217;s got the handy addition to also inspect and compare [...]]]></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%2Finteresting-tool-for-comparing-browser-versions%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F09%2Finteresting-tool-for-comparing-browser-versions%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I <a href="http://www.hanselman.com/blog/MultiBrowserOrCrossBrowserTestingAndDeconstructingMicrosoftExpressionWebSuperPreview.aspx">stumbled upon</a> Expression SuperPreview, a really <a href="http://expression.microsoft.com/en-us/dd565874.aspx">neat tool</a> for comparing different versions of web pages.</p>
<p>It basically lets you enter the URL (local or public) of  a web page, and allow you to compare images of different browser versions. Compard to other tools, like <a href="http://browsershots.org/">BrowserShots</a>, it&#8217;s got the handy addition to also inspect and compare DOM elements in the views.</p>
<h3>Slim &amp; Free or Fat &amp; Premium</h3>
<p>There&#8217;s a free, <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8e6ac106-525d-45d0-84db-dccff3fae677&amp;displaylang=en">slimmed version available</a> for Internet Explorer (6+) comparisons and a &#8220;premium&#8221; version included in <a href="http://www.microsoft.com/expression/products/Purchase.aspx?filter=web3">Expression Web</a>, where you can compare with Firefox and other browsers you may have installed. The premium version is available as a 60-day trial, and the licence is priced at $149 USD, which could prove to be money well spent.</p>
<p>I usually test my apps in IETester and on a virtual machine, but I&#8217;ve downloaded the 60-day trial of SuperPreview and will give it a go.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/09/interesting-tool-for-comparing-browser-versions/feed/</wfw:commentRss>
		<slash:comments>2</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>Danger in using Google Analytics for Flash?</title>
		<link>http://blog.sommestad.net/2009/09/danger-in-using-google-analytics-for-flash/</link>
		<comments>http://blog.sommestad.net/2009/09/danger-in-using-google-analytics-for-flash/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 15:10:52 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Flash & Flex]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[bounce rate]]></category>
		<category><![CDATA[ga for flash]]></category>
		<category><![CDATA[ga.js]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[screen resolution]]></category>
		<category><![CDATA[setVar]]></category>
		<category><![CDATA[time on site]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=144</guid>
		<description><![CDATA[
			
				
			
		
I recently discovered that some of our stats in Google Analytics looked a bit suspicious. When looking into it, I remembered that there was a previous issue in the ga.js tracker, causing usage of user-defined variables, setVar(), to be tracked as pageviews. These pageviews corrupted stats like bounce rates and time on site.
Google fixed this [...]]]></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%2Fdanger-in-using-google-analytics-for-flash%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F09%2Fdanger-in-using-google-analytics-for-flash%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently discovered that some of our stats in Google Analytics looked a bit suspicious. When looking into it, I remembered that there was a previous issue in the ga.js tracker, causing usage of user-defined variables, setVar(), to be tracked as pageviews. These pageviews corrupted stats like bounce rates and time on site.</p>
<p><a href="http://analytics.blogspot.com/2009/01/using-setvar-heres-update-on-bounce.html">Google fixed this issue</a> in January, but the latest <a href="http://code.google.com/p/gaforflash/">GA for Flash</a> release is from December. So there&#8217;s a big chance that the bug still remains in the ActionScript version. I&#8217;ve <a href="http://groups.google.com/group/ga-for-flash/browse_thread/thread/5061b36eaf8e58ff">posted a question</a> in the <a href="http://groups.google.com/group/ga-for-flash">GA for Flash discussion group</a>, but as the group seems to be full of porn spam, I&#8217;m not very hopeful in getting an answer right now&#8230;</p>
<p>Also, some of our stats were missing data about screen resolution etc and I fear that the Flash tracker and setVar() is the root of that as well (since it&#8217;s working fine in products where setVar() isn&#8217;t used).</p>
<p>Anywho. I&#8217;ve not yet confirmed that this bug is still there, but an easy solution is to use Google Analytics for Flash in &#8220;<a href="http://code.google.com/intl/sv/apis/analytics/docs/tracking/flashTrackingIntro.html">Bridge mode</a>&#8220;, instead of &#8220;AS3 mode&#8221;. This means that the ga.js file is used, which is a guarantee that the latest official Google updates are always used.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/09/danger-in-using-google-analytics-for-flash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using the Swiz MVC framework for Flex</title>
		<link>http://blog.sommestad.net/2009/09/using-the-swiz-mvc-framework-for-flex/</link>
		<comments>http://blog.sommestad.net/2009/09/using-the-swiz-mvc-framework-for-flex/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 09:27:08 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Flash & Flex]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[puremvc]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[swiz]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=130</guid>
		<description><![CDATA[
			
				
			
		
In my post a few days ago, I mentioned that that Scott Delap and his team were using the Swiz MVC framework. I decided to try it out, and I have to say it looks quite promising. The Swiz tagline is &#8220;Brutally simple micro-architecture for Rich Internet Application development with Adobe Flex&#8221;, and it was [...]]]></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%2Fusing-the-swiz-mvc-framework-for-flex%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F09%2Fusing-the-swiz-mvc-framework-for-flex%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>In <a href="http://blog.sommestad.net/2009/09/presentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air/">my post</a> a few days ago, I mentioned that that <a href="http://www.infoq.com/author/Scott-Delap">Scott Delap</a> and his team were using the <a href="http://code.google.com/p/swizframework/">Swiz MVC framework</a>. I decided to try it out, and I have to say it looks quite promising. The Swiz tagline is &#8220;Brutally simple micro-architecture for Rich Internet Application development with Adobe Flex&#8221;, and it was actually pretty easy to set up. The framework is similar to the way Java Spring works with autowiring, so if you&#8217;re familiar with that you&#8217;ll probably like Swiz.</p>
<p>I&#8217;ve only read the docs and tried the demo out so far, but it&#8217;s a very interesting candidate for future Flex projects. It&#8217;s quite easy to separate the views and controllers from the business logic and using both MXML and ActionScript views seems to work fine. Swiz really gets the job done.</p>
<h3>Seems better than PureMVC</h3>
<p>I&#8217;ve tested the <a href="http://www.puremvc.org">PureMVC framework</a> earlier and kind of liked it, but developing with PureMVC gets quite repetitive and you produce quite a lot of boilerplate code. I like it better when the MVC framework easily guides you towards a proper structure, without having to do too much work to get there.</p>
<p>Also, there seem to be pretty good community activity in the <a href="http://code.google.com/p/swizframework/">Swiz Google Code project</a>.</p>
<p>It seems like the best MVC framework candidate so far!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/09/using-the-swiz-mvc-framework-for-flex/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Presentation on creating an online multiplayer game lobby in Flex &amp; Air</title>
		<link>http://blog.sommestad.net/2009/09/presentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air/</link>
		<comments>http://blog.sommestad.net/2009/09/presentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 13:38:37 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Flash & Flex]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[asunit]]></category>
		<category><![CDATA[blaze ds]]></category>
		<category><![CDATA[flexmonkey]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[fluint]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[graniteds]]></category>
		<category><![CDATA[hessian]]></category>
		<category><![CDATA[lcds]]></category>
		<category><![CDATA[LiveCycleDS]]></category>
		<category><![CDATA[mxml]]></category>
		<category><![CDATA[puremvc]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[swiz]]></category>
		<category><![CDATA[weborb]]></category>
		<category><![CDATA[wysiwyg]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=117</guid>
		<description><![CDATA[
			
				
			
		
I came across a really interesting presentation from Scott Delap on InfoQ:
Scott Delap shares his experience creating a lobby interface for an online game using Flex&#38;Air. He details on related technologies used, available tooling and frameworks pros&#38;cons, remoting options, unit, functional and load testing approach used.
To sum it up, it&#8217;s a good and elaborate presentation [...]]]></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%2Fpresentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F09%2Fpresentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I came across a <a href="http://www.infoq.com/presentations/Flex-Air-in-the-Trenches-Scott-Delap">really interesting presentation</a> from <a href="http://www.infoq.com/author/Scott-Delap">Scott Delap</a> on <a href="http://www.infoq.com">InfoQ</a>:</p>
<blockquote><p>Scott Delap shares his experience creating a lobby interface for an online game using Flex&amp;Air. He details on related technologies used, available tooling and frameworks pros&amp;cons, remoting options, unit, functional and load testing approach used.</p></blockquote>
<p>To sum it up, it&#8217;s a good and elaborate presentation from a Java developer&#8217;s perspective, with reflections from a online multiplayer game development project. I enjoyed the full hour of watching it! <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>They&#8217;ve dealt with many of the questions we have and their conclusions are very interesting.</p>
<h3>Presentation summary</h3>
<p>I&#8217;ve summarized the most interesting contents of the presentation. They&#8217;re actually notes taken during the presentation, so please forgive any poor language or formatting:</p>
<blockquote>
<ul>
<li>The Flex Builder WYSIWYG actually works, which isn&#8217;t common at all</li>
<li> MVC in Flex is pretty much MVc, where the controller and view are sort of bundled together</li>
<li> When choosing an MVC framework, <a href="http://code.google.com/p/swizframework/">Swiz</a> turned out to be most interesting (among likes of <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm</a>, <a href="http://puremvc.org/">PureMVC</a> etc). Swiz is similar to Spring with auto-wiring. Also supports Dependency Injection, Command Chains, and has MXML support even for non-views (i.e. for wiring the M:s, V:s and C:s).</li>
</ul>
<p><strong>Their MVC implementation:</strong></p>
<ul>
<li>MXML for the views</li>
<li>ActionScript for the controllers</li>
<li>Remoting interfaces + specific back-end implementation</li>
<li> Swiz wiring it all up</li>
<li> They found no real reasons to use a &#8220;big MVC framework&#8221;, whereas Swiz did the job well enough</li>
</ul>
<p><strong>Remoting</strong></p>
<p>Looked at several candidates, where <a href="http://www.themidnightcoders.com/products/weborb-for-java/overview.html">WebORB</a>, <a href="http://hessian.caucho.com/">Hessian</a>, <a href="http://xmpp.org/">XMPP</a>, <a href="http://www.graniteds.org/">GraniteDS</a>, Rest not weren&#8217;t considered enough for various reasons. Also evaluated <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/">BlazeDS</a>, which doesn&#8217;t scale and has no NIO support.<br />
Best candidate: <strong><a href="http://www.adobe.com/products/livecycle/dataservices/">LiveCycleDS</a> -</strong> supports NIO, RTMP and lots of connections:</p>
<ul>
<li>Good for remoting Java &lt;&gt; Actionscript and easy to integrate</li>
<li>Some Java &lt;&gt; ActionScript translations a bit problematic, i.e. enums and null values</li>
<li> Some lack of documentation when it comes to messaging</li>
</ul>
<p><strong>Unit testing</strong></p>
<ul>
<li> Evaluated <a href="http://asunit.org/">ASUnit</a>, <a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit">FlexUnit</a>, DpUnit/Fluint</li>
<li> Chose <a href="http://code.google.com/p/fluint/">Fluint</a>, but could just as well have chosen FlexUnit. Unit testing Utilities, Controllers, Remoting Services with Mocks</li>
</ul>
<p><strong>Functional testing</strong></p>
<ul>
<li> <a href="http://code.google.com/p/flexmonkey/">FlexMonkey</a> not working properly with AIR and had a bit of lag</li>
<li> Wrote a stripped-down version of Selenium</li>
</ul>
<p><strong>Load testing</strong><br />
Currently no good way of performing load testing.</p>
<ul>
<li>Hard to simulate 1000:s of users</li>
<li> No really good tool for load testing at the moment</li>
</ul>
<p><strong>Final thoughts on Flex</strong></p>
<ul>
<li> MXML works as advertised</li>
<li>Easy to do complex things</li>
</ul>
</blockquote>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 380px; width: 1px; height: 1px;">http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/09/presentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Championship Manager Online with Facebook Connect</title>
		<link>http://blog.sommestad.net/2009/08/championship-manager-online-with-facebook-connect/</link>
		<comments>http://blog.sommestad.net/2009/08/championship-manager-online-with-facebook-connect/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 14:51:12 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Jadestone]]></category>
		<category><![CDATA[championship manager]]></category>
		<category><![CDATA[championship manager online]]></category>
		<category><![CDATA[cm-online]]></category>
		<category><![CDATA[cmo]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook api]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[new release]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=110</guid>
		<description><![CDATA[
			
				
			
		
Today we released a new version of Champ Man Online! It&#8217;s a very exciting release, as it&#8217;s our first live implementation of Facebook Connect in any of our games.
It&#8217;s been an interesting development journey, and we&#8217;ve learned a lot about using the Facebook API and working with Facebook applications.
So far, the community really seem to [...]]]></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%2F08%2Fchampionship-manager-online-with-facebook-connect%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F08%2Fchampionship-manager-online-with-facebook-connect%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Today we released a new version of <a href="http://www.cm-online.com">Champ Man Online</a>! It&#8217;s a very exciting release, as it&#8217;s our first live implementation of <a href="http://developers.facebook.com/connect.php">Facebook Connect</a> in any of our games.</p>
<p>It&#8217;s been an interesting development journey, and we&#8217;ve learned a lot about using the Facebook API and working with <a href="http://www.facebook.com">Facebook</a> <a title="The Facebook CM-Online App" href="http://www.facebook.com/apps/application.php?id=101830601355">application</a>s.</p>
<p>So far, the community really seem to like the possibility to connect their CMO accounts with their Facebook accounts. I&#8217;m certain this will make the game even more fun, now that it&#8217;s easier to share your CMO experience with your friends on Facebook!</p>
<h3>What the change means to the users</h3>
<p>Here&#8217;s the news item posted on the CM-Online site:</p>
<blockquote><p>Today we will introduce Facebook Connect to CM-Online!</p>
<p>Enhance your CM-Online experience with Facebook Connect!</p>
<p>You can now link your Facebook account with your CM-Online one.</p>
<p>If you do, you can</p>
<p>* See which of your Facebook friends that are playing CM-Online<br />
* Choose teams and play with your friends much easier<br />
* Receive updates on your friends&#8217; progress, and they on yours<br />
* Invite other friends to play through the easy to use Facebook interface<br />
* Get your name and picture in the game for you and your friends to see<br />
* No need to log into CM-Online if you are already logged into Facebook</p>
<p>You will be able to publish the following events to Facebook</p>
<p>* Let others know when you have a new achievement<br />
* Watch matches from CM-Online<br />
* Make pre match comments<br />
* Show off your latest new player<br />
* Let everyone know when you have been appointed the new manager for a team</p></blockquote>
<h3>Browse all our game worlds and teams</h3>
<p>Also, we&#8217;ve added the quite cool feature of browsing through <a href="http://www.cm-online.com/main/public/viewWorlds">all the CM-Online game worlds and their teams</a>! And even more interesting; everyone can share it all by posting their teams, world rankings etc to Facebook.  No one will keep their success a secret from now on&#8230; <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>(Of course, there was a number of other smaller improvements and changes to the game.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/08/championship-manager-online-with-facebook-connect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day-to-day Internet Explorer Compatibility Issues</title>
		<link>http://blog.sommestad.net/2009/06/day-to-day-internet-explorer-compatibility-issues/</link>
		<comments>http://blog.sommestad.net/2009/06/day-to-day-internet-explorer-compatibility-issues/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 08:18:40 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Browser Compatibility]]></category>
		<category><![CDATA[browser compatibility]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css issues]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[float right width]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[internet explorer 6]]></category>
		<category><![CDATA[magic spacing]]></category>
		<category><![CDATA[opacity animation jagged]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=105</guid>
		<description><![CDATA[
			
				
			
		
When working with web sites, you often come across compatibility issues due to the users&#8217; variations in browser usage. The vast majority (around 70-75%) of the users still use Internet Explorer as their browser, while most of the development is done in Firefox (thanks to the excellent Firebug and similar tools).
Hence, from time to time [...]]]></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%2F06%2Fday-to-day-internet-explorer-compatibility-issues%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F06%2Fday-to-day-internet-explorer-compatibility-issues%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>When working with web sites, you often come across compatibility issues due to the users&#8217; variations in browser usage. The vast majority (around 70-75%) of the users still use Internet Explorer as their browser, while most of the development is done in Firefox (thanks to the excellent Firebug and similar tools).</p>
<p>Hence, from time to time you need to adjust your code to make it work in all &#8211; well, actually it&#8217;s mostly about making it work in IE too, as it&#8217;s not as good as the others in following standards &#8211; browsers.</p>
<h3>A handful of issues</h3>
<p>A few days ago, I was testing a site in IE (both 6 and 7) and figured I might as well write down the (CSS) issues I came across:</p>
<ul>
<li>Issue: Opacity animation of text looks jagged.<br />
Solution: Adding <em>background-color</em> to the animated element.</li>
<li>Issue: Some elements get &#8220;magic&#8221; padding/spacing at the bottom, due to the whitespace in the code.<br />
Solution: Adding <em>overflow: hidden</em> to the element(s).</li>
<li>Issue: Elements within links do not inherit text-decoration, especially on <em>:hover</em>.<br />
Solution: Set text-decoration on inner elements too, e.g. <em>text-decoration: none</em>.</li>
<li>Issue: Right floated elements without a set width expands to 100%.<br />
Solution: Always set width of floated elements &#8211; particularily those floating to the right. <strong><br />
Note</strong>: The W3C CSS2 specs used to state that floated elements require an explicitly set width, but that section has now been removed. Do note that it&#8217;s probably good practice to set width on floated elements if it&#8217;s vital to always keep them next to each other.</li>
<li>Issue: Lists (<em>ul li</em>) treating list-style-position and margins differently in FF and IE.<br />
Solution: Always use <em>list-style-position: outside</em> and <em>margin-left</em> instead of <em>list-style-position: inside</em>.</li>
<li>Issue: Lists with images gets no padding to text.<br />
Solution: Adding <em>padding-left </em>to the list element (<em>li</em>).</li>
<li>Issue: Block elements aren&#8217;t centered in Internet Explorer.<br />
Solution: Make sure to set both side margins to <em>auto</em> <strong>and</strong> <em>text-align: center</em>.</li>
</ul>
<p>Note that these are only a handful of the issues that you can come across.</p>
<h3>Position is Everything</h3>
<p>Apart from Googling answers to CSS issues, I&#8217;ve got a favourite site for finding and solving Internet Explorer related problems: <a href="http://positioniseverything.net/">Position Is Everything</a>. After a while, you know these issues by hand, but until you do, it&#8217;s really a good place to get help before tearing your hair out&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/06/day-to-day-internet-explorer-compatibility-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiplayer Dice and Backgammon at DiceArena.com</title>
		<link>http://blog.sommestad.net/2009/06/multiplayer-dice-and-backgammon-at-dicearenacom/</link>
		<comments>http://blog.sommestad.net/2009/06/multiplayer-dice-and-backgammon-at-dicearenacom/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 11:36:13 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Jadestone]]></category>
		<category><![CDATA[backgammon]]></category>
		<category><![CDATA[dice]]></category>
		<category><![CDATA[dice hold'em]]></category>
		<category><![CDATA[dicearena]]></category>
		<category><![CDATA[jadestone networks]]></category>
		<category><![CDATA[shoot the moons]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=76</guid>
		<description><![CDATA[
			
				
			
		
The Jadestone multiplayer Dice games (Dice Hold&#8217;em &#38; Shoot the Moons) and the all new Backgammon have now been launched on our own site:
DiceArena.com!
The games are available to play with both play money (free) or the real thing. Get in there and join the action!  
]]></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%2F06%2Fmultiplayer-dice-and-backgammon-at-dicearenacom%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F06%2Fmultiplayer-dice-and-backgammon-at-dicearenacom%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>The <a href="http://www.jadestone.se">Jadestone </a>multiplayer Dice games (Dice Hold&#8217;em &amp; Shoot the Moons) and the all new <a href="http://blog.sommestad.net/2009/06/new-backgammon-network-live/">Backgammon</a> have now been launched on our own site:<a href="http://www.dicearena.com"><br />
DiceArena.com</a>!</p>
<p>The games are available to play with both play money (free) or the real thing. Get in there and join the action! <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/06/multiplayer-dice-and-backgammon-at-dicearenacom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Backgammon Network Live!</title>
		<link>http://blog.sommestad.net/2009/06/new-backgammon-network-live/</link>
		<comments>http://blog.sommestad.net/2009/06/new-backgammon-network-live/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 08:18:21 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Jadestone]]></category>
		<category><![CDATA[backgammon]]></category>
		<category><![CDATA[bwin]]></category>
		<category><![CDATA[dice]]></category>
		<category><![CDATA[dicearena]]></category>
		<category><![CDATA[nordicbet]]></category>
		<category><![CDATA[paf]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[triobet]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=71</guid>
		<description><![CDATA[
			
				
			
		
We&#8217;ve now opened up the doors to our new Backgammon Network, with a brand new Backgammon game client!
Here&#8217;s an extract from the press release:
The game is currently available for play at bwin and PAF, and will be rolled out at NordicBet and Triobet over the next few days. Two additional partners will join the network [...]]]></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%2F06%2Fnew-backgammon-network-live%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F06%2Fnew-backgammon-network-live%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.jadestone.se">We&#8217;</a>ve now opened up the doors to our new <a href="http://www.jadestone.se/index.php?page=backgammon">Backgammon</a> Network, with a brand new Backgammon game client!</p>
<p>Here&#8217;s an extract from the press release:</p>
<blockquote><p>The game is currently available for play at bwin and PAF, and will be rolled out at NordicBet and Triobet over the next few days. Two additional partners will join the network later in the summer and more will come onboard in the fall. With such strong network distribution, the liquidity should be virtually guaranteed.</p>
<p>&#8230;</p>
<p>Compared to the existing GamArena backgammon, the new version is a complete rewrite, created from scratch with input and support from avid backgammon players. Widely requested features that have been added include:</p>
<ul style="text-align: left;">
<li>Doubling cube</li>
<li>Match series</li>
<li>Tournaments</li>
</ul>
</blockquote>
<div style="margin: 0px; font-family: Arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: normal; font-size-adjust: none; font-stretch: normal;"><strong></strong></div>
<p>Join in on the fun on the <a href="https://games.bwin.com/backgammon.aspx ">bwin</a> or <a href="http://secure.paf.com/Dice.htm?wt=PAF_MAIN_MENU_TAB_DICE">PAF</a> sites!</p>
<p>EDIT: Now also available at <a href="http://www.dicearena.com">dicearena.com</a>.</p>
<div id="attachment_74" class="wp-caption aligncenter" style="width: 488px"><img class="size-full wp-image-74" title="Jadestone Backgammon" src="http://blog.sommestad.net/wp-content/2009/06/backgammon_table.jpg" alt="The new Jadestone Backgammon game" width="478" height="368" /><p class="wp-caption-text">The new Jadestone Backgammon game</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/06/new-backgammon-network-live/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash catalyst beta out</title>
		<link>http://blog.sommestad.net/2009/06/flash-catalyst-beta-out/</link>
		<comments>http://blog.sommestad.net/2009/06/flash-catalyst-beta-out/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 12:38:36 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Flash & Flex]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[adobe labs]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[flash catalyst]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=61</guid>
		<description><![CDATA[
			
				
			
		
I read today on InsideRIA that the first beta of Flash Catalyst is available for download on Adobe Labs!
I&#8217;ve been both sceptical and excited about Catalyst in previous posts, so it&#8217;ll be very interesting to try it out for real! 
I&#8217;ll probably post my initial thoughts on it sometime soon.
EDIT: The Beta 1 of the [...]]]></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%2F06%2Fflash-catalyst-beta-out%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F06%2Fflash-catalyst-beta-out%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I read today on <a href="http://www.insideria.com/2009/06/flash-catalyst-beta-1-top-bran.html">InsideRIA</a> that the first beta of <a href="http://labs.adobe.com/technologies/flashcatalyst/">Flash Catalyst</a> is available for <a href="http://labs.adobe.com/technologies/flashcatalyst/">download on Adobe Labs</a>!</p>
<p>I&#8217;ve been both <a href="http://blog.sommestad.net/2009/05/flash-catalyst-gives-me-the-creeps/">sceptical</a> and <a href="http://blog.sommestad.net/2009/05/insights-from-the-adobe-rich-internet-experience-tour/">excited</a> about Catalyst in previous posts, so it&#8217;ll be very interesting to try it out for real! <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
I&#8217;ll probably post my initial thoughts on it sometime soon.</p>
<p>EDIT: The Beta 1 of the new Flash Builder (aka Gumbo) is also out. Ryan Stewart <a href="http://blog.digitalbackcountry.com/2009/05/flash-builder-and-flash-catalyst-betas-now-available/">posted another blog</a> about the two releases.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/06/flash-catalyst-beta-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving in!</title>
		<link>http://blog.sommestad.net/2009/05/moving-in/</link>
		<comments>http://blog.sommestad.net/2009/05/moving-in/#comments</comments>
		<pubDate>Fri, 29 May 2009 22:20:49 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[moving blog]]></category>
		<category><![CDATA[really aced]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=14</guid>
		<description><![CDATA[
			
				
			
		
As of now, I&#8217;m moving the blog, Really Aced, from the Wordpress servers to my own, blog.sommestad.net (this is where you are, if you haven&#8217;t noticed  ).
The reason to this is to get more control over the site and be able to customize however I want. Also, I thought I&#8217;d better use the sommestad.net [...]]]></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%2F05%2Fmoving-in%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F05%2Fmoving-in%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>As of now, I&#8217;m moving the blog, <a title="Old blog location" href="http://reallyaced.wordpress.com">Really Aced</a>, from the Wordpress servers to my own, <a href="http://blog.sommestad.net">blog.sommestad.net</a> (this is where you are, if you haven&#8217;t noticed <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ).<br />
The reason to this is to get more control over the site and be able to customize however I want. Also, I thought I&#8217;d better use the sommestad.net domain for something&#8230; <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The site design will probably change and evolve over time, maybe when I feel like shaking things around a little. Apart from that, the blog will stay the same.</p>
<p>Welcome!</p>
<p><span style="text-decoration: line-through;">Note: I&#8217;ve re-added all posts from the old blog to this one, while still leaving the old blog as is. Hence, the dates of posts prior to today, aren&#8217;t correct. Also, there are some comments missing too (those added by others than myself).</span></p>
<p>I noticed that I could export and import everything from the old blog, so I did that instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/05/moving-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sometimes you&#8217;re just an honest guy trying to script</title>
		<link>http://blog.sommestad.net/2009/05/sometimes-youre-just-an-honest-guy-trying-to-script-2/</link>
		<comments>http://blog.sommestad.net/2009/05/sometimes-youre-just-an-honest-guy-trying-to-script-2/#comments</comments>
		<pubDate>Wed, 27 May 2009 16:04:37 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[onbeforeunload]]></category>
		<category><![CDATA[onunload]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[security issues]]></category>
		<category><![CDATA[unload confirmation]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://reallyaced.wordpress.com/?p=97</guid>
		<description><![CDATA[
			
				
			
		
Today, I ran into some JavaScript security issues that cost me a few hours too many of my life.
I wanted to show the user a confirmation message when closing a pop-up (OK I know, but sometimes you just got to use them!) to make sure he doesn&#8217;t lose any data when leaving.
But we can do [...]]]></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%2F05%2Fsometimes-youre-just-an-honest-guy-trying-to-script-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.sommestad.net%2F2009%2F05%2Fsometimes-youre-just-an-honest-guy-trying-to-script-2%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Today, I ran into some JavaScript security issues that cost me a few hours too many of my life.</p>
<p>I wanted to show the user a confirmation message when closing a pop-up (OK I know, but sometimes you just got to use them!) to make sure he doesn&#8217;t lose any data when leaving.</p>
<h3>But we can do this! Right&#8230;?</h3>
<p>This isn&#8217;t really any big issue, as the <em>onBeforeUnload</em> event can be used for these exact scenarios, with a nice message too:</p>
<pre style="padding-left:30px;">window.onbeforeunload = function (event) {
    <span style="color:#888888;">// message to display (in between the standard message provided by the browser)</span>
    return "Leaving now will have you lose everything."
};</pre>
<p>The special case here was that I had a SWF running in the window, which needs to be unloaded (close its connections etc) when closing the browser window. That has to be done in the <em>onBeforeUnload</em> event as well, since it&#8217;s too late when we&#8217;re at <em>onUnload</em>.<br />
The problem is that there&#8217;s no way of knowing what the user answered to the question arisen from <em>onBeforeUnload</em>, other than finding out when the event&#8217;s traveled onwards to the <em>onUnload</em> event. By which time it is too late.</p>
<p>So I ended up in a situation where everything was fine if the user decided to keep the browser window open (&#8220;Cancel&#8221; in the confirmation box), but should he close the window &#8211; which is fine too &#8211; I had no way of closing the connections etc in the SWF.</p>
<h3>But why?</h3>
<p><strong> </strong>The reason to this is of course a security matter. Some clever fellas have set some restrictions to what you can do with Javascript to avoid misuse, for example extreme annoyance with pop-up ads or such. There&#8217;s nothing wrong with that.<br />
But sometimes you just want to yell to JavaScript&#8217;s mom and tell her that I&#8217;m a perfectly honest guy trying to make the world better for my users! <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>What would&#8217;ve helped me</h3>
<p><strong> </strong>So what do I want, then? Well, it would&#8217;ve been nice if I could&#8217;ve gotten an answer from the confirmation box rendered with my custom message (&#8220;OK, leaving now&#8230;&#8221;).<br />
It&#8217;s perfectly fine that the unload event cannot be stopped once the user&#8217;s said &#8220;OK, close&#8221;. But at least I would&#8217;ve wanted the chance to act upon the user&#8217;s choice before the document was unloaded.</p>
<p>So my final solution was just to warn the user that everything was hitting the fan, and at the same point notify my SWF that it was to be unloaded etc. It&#8217;s an OK solution, but not perfect from a usability perspective&#8230;</p>
<p>End of rant.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/05/sometimes-youre-just-an-honest-guy-trying-to-script-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
