<?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>Spielhaus &#187; iPhone-dev</title>
	<atom:link href="http://spielhaus-ftw.com/category/iphone-dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://spielhaus-ftw.com</link>
	<description>Fun follows you</description>
	<lastBuildDate>Tue, 17 Apr 2012 09:02:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Spring Cleaning</title>
		<link>http://spielhaus-ftw.com/blog/2011/04/spring-cleaning/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/04/spring-cleaning/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 17:24:51 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1382</guid>
		<description><![CDATA[Spring has finally arrived (at least here in Germany). What better time to clean-up Today Todo&#8217;s interface a bit. For our 25th Update (Version 1.6.3.4), Trung came up with a nicer and cleaner design for the main UI. For the curious &#8211; here are the differences (old look on the left and new on the [...]]]></description>
			<content:encoded><![CDATA[<p>Spring has finally arrived (at least here in Germany). What better time to clean-up Today Todo&#8217;s interface a bit. For our 25th Update (Version 1.6.3.4), Trung came up with a nicer and cleaner design for the main UI. For the curious &#8211; here are the differences (old look on the left and new on the right)</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><img class="alignnone size-full wp-image-1396" title="old_today" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/04/old_today.png" alt="" width="250" height="470" /></td>
<td><img class="alignnone size-full wp-image-1396" title="new_today" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/04/new_today.png" alt="" width="250" height="470" /></td>
</tr>
<tr>
<td><img class="alignnone size-full wp-image-1396" title="old_yesterday" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/04/old_yesterday.png" alt="" width="250" height="470" /></td>
<td><img class="alignnone size-full wp-image-1396" title="new_yesterday" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/04/new_yesterday.png" alt="" width="250" height="470" /></td>
</tr>
<tr>
<td><img class="alignnone size-full wp-image-1396" title="old_tomorrow" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/04/old_tomorrow.png" alt="" width="250" height="470" /></td>
<td><img class="alignnone size-full wp-image-1396" title="new_tomorrow" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/04/new_tomorrow.png" alt="" width="250" height="470" /></td>
</tr>
<tr>
<td><img class="alignnone size-full wp-image-1396" title="old_someday" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/04/old_someday.png" alt="" width="250" height="470" /></td>
<td><img class="alignnone size-full wp-image-1396" title="new_someday" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/04/new_someday.png" alt="" width="250" height="470" /></td>
</tr>
</tbody>
</table>
<p>As you can see the horizontal line has been lowered a little. Also the sun rays are less visible too. I already like the new design better than the old one. Hope you do too.<a rel="nofollow" href="http://itunes.apple.com/us/app/today-todo-clever-task-management/id330551758?mt=8"><br />
</a></p>
<h3><a title="App Store Link - Today Todo" href="http://click.linksynergy.com/fs-bin/click?id=PMpwzEv1thw&amp;subid=&amp;offerid=146261.1&amp;type=10&amp;tmpid=3909&amp;u1=TodayTodoSpringCleaning&amp;RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Ftoday-todo-clever-task-management%2Fid330551758%3Fmt%3D8" target="_blank">App Store Link &#8211; Today Todo</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/04/spring-cleaning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Live Tracking for iOS Sales</title>
		<link>http://spielhaus-ftw.com/blog/2011/03/live-tracking-for-ios-sales/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/03/live-tracking-for-ios-sales/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 08:02:28 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1335</guid>
		<description><![CDATA[In this week's post I will detail an idea for a small tool that tracks iOS sales as they happen. We are about to build such a tool and toyed with the idea to turn it into a service for other developers.]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In this week&#8217;s post I will detail an idea for a small tool that tracks iOS sales as they happen. We are about to build such a tool and toyed with the idea to turn it into a service for other developers.</p>
<h2>The Problem</h2>
<p>Sales reports for iOS apps are provided by Apple. These are simple text files containing data about purchases, updates and refunds. The problem with these reports is that they are always provided a day later as they happen. Given the huge mass of App Store transactions this is understandable. However, the specific time for a purchase is not only a nice to have but can provide valuable insight.<br />
Knowing from our own experience and hearing from other devs too, visibility is the usual problem in the App Store. Since there is no surefire way to improve it, we can tackle things that <strong>can</strong> be directly improved. Like finding the right target audience. If you build an app you should first find out who is your target audience. This way you can improve your app and adapt it to their needs. But finding the right target audience is very hard. Without studies, field tests, consumer reports it is guesswork at best. And these studies are hard to come by &#8211; especially when you <em>just want to get to building this awesome app already</em> <img src="https://wiki.nicolinux.org/images/icons/emoticons/smile.gif" border="0" alt="" width="20" height="20" align="absmiddle" /><br />
It is not too late to adjust your app to its users even after releasing it. And here is the crunch. You&#8217;ll want to have as much info about your users without compromising their privacy. Sure you could use something like <a rel="nofollow" href="http://www.flurry.com/" target="_blank">Flurry</a>. But their stats are not realtime &#8211; and I think that&#8217;s the valuable information you need.</p>
<h2>Apptrack</h2>
<p>We have thought about a tool that would provide anonymized realtime purchase stats for iOS apps. This tool would consist of a small library that needs to be added to your app as well as a web application. After starting the app for the first time right after the purchase, it gathers data and sends it to the remote web application. The code would only run on the first start (saving this info to NSUserDefaults is trivial). The data that is sent over is displayed in a useful manner that leads to valuable insights.<br />
But what do you gain if you know when your app was purchased? Knowing the time alone, won&#8217;t do much good but combined with other stats it starts to become useful. After all as a developer you will want to know as much as possible about your users. This knowledge will help you shape your app for your target audience making it more useful for them. This ultimately leads to more app sales &#8211; if act on your insights.</p>
<p>Imagine the following scenario:<br />
User X buys your system administration related app at 3am. Timezone is set to Europe/Berlin. Geoip lookup reveals that his purchase originated from Germany on a <a rel="nofollow" href="http://www.de-cix.net/" target="_blank">DE-CIX</a> line. He has the latest available iOS firmware installed and his device and locale is set to EN. He also uses the latest iPhone model.<br />
This is what I deduce from this info:</p>
<ul>
<li>User bought the app fairly late and as such he was probably looking for a specific solution (maybe an urgent problem)</li>
<li>Since the ip originated from a backbone provider in Germany the user might be an admin who is working late from the server housing centre</li>
<li>The latest firmware version and the latest iPhone model suggest that he is technically inclined</li>
<li>Having the language set differently to his current location could mean that he is not a native speaker and/or (taking the other assumptions into account) used to English as the main lingo for tech content</li>
</ul>
<p>So if you know that (many) stressed admins buy your app fairly late while working on a remote location &#8211; this ia a really good hint for the further development of your app. (like bumping up the price <img src="https://wiki.nicolinux.org/images/icons/emoticons/smile.gif" border="0" alt="" width="20" height="20" align="absmiddle" /> &#8211; just kidding)</p>
<p>Besides useful insights about your users, there is some serious nerd potential in there. Just some ideas:</p>
<ul>
<li>Hook up a new purchase with push notifications that notify you, the developer, every time a purchase has been made (of course featuring a classy &#8220;cha ching&#8221; sound</li>
<li>Build a &#8220;purchase-o-meter&#8221; on your site indicating the (crazy) amount of new sales due to a marketing event</li>
<li>Build something similar to the &#8220;app wall&#8221; that Apple showcased on the last WWDC</li>
<li>Change your desktop wallpaper dynamically depending on the amount of new sales (happy, sad, crazy&#8230;)</li>
<li>Hook it up with your Twitter account</li>
</ul>
<h2>Conclusion and Request</h2>
<p>I really like this idea and I am definitely looking forward to see it materialize. And here is my request. What do you think? Is it useful? Would you use it?Would you even pay for such a service? I am not talking big bucks since I don&#8217;t expect to strike it rich with such a service&#8230; It would be nice to know if others might find it useful so please comment.</p>
<p>This is our last post for <a rel="nofollow" href="http://idevblogaday.com/" target="_blank">#iDevBlogADay</a> for now (Miguel changed the rules for the better and added a rotation system). We will be on the waiting list again but this doesn&#8217;t mean that we&#8217;ll stop blogging. Grab the RSS feed to stay in touch.</p>
<p>See you.</p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/03/live-tracking-for-ios-sales/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tiny Wings &#8211; Huge Success</title>
		<link>http://spielhaus-ftw.com/blog/2011/02/tiny-wings-huge-success/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/02/tiny-wings-huge-success/#comments</comments>
		<pubDate>Sat, 26 Feb 2011 08:02:31 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1323</guid>
		<description><![CDATA[Introduction With all these AAA titles coming out for the iOS platform (and elsewhere) there are still some games who pop out of nowhere and climb the charts in no time as if there is nothing easier in the world to accomplish. I have a theory about what makes these games special and I want [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>With all these AAA titles coming out for the iOS platform (and elsewhere) there are still some games who pop out of nowhere and climb the charts in no time as if there is nothing easier in the world to accomplish. I have a theory about what makes these games special and I want to share it with you in this week&#8217;s post.</p>
<h2>The Problem</h2>
<p>It is my firm belief that games (or gaming) are an integral part of our human nature. Sadly, this part is largely overlooked by adults with mostly the young instinctively holding on to it. As Raph Koster puts it in his book <a rel="nofollow" href="http://www.theoryoffun.com/" target="_blank">A theory of Fun for Game Design</a>, gaming is a form of learning (or training skills) in a risk free environment with the ultimate goal to improve our chances of survival thus rewarded with a powerful incentive &#8211; fun.<br />
The problem is that it sucks to be young these days. When I look back at my childhood it makes me glad that the internet wasn&#8217;t mainstream, that computer games were still in the 16 bit era and that I spent most of my free time outside.<br />
Fast forward 20 years and we have an oversupply of games. If I were a kid these days I&#8217;d be more than tempted to loose my soul on World of Warcraft and the likes.<br />
Since I am not the only one to realize that gaming is such a powerful concept, the multimedia industry focuses on computer and console games turning it into a huge business. But something happened along the way. It seems to me that the crazy high public expectations and the fierce competition forced publishers and developers to take the safe route and produce games that are known to appeal to the masses. Suddenly most games are no more sparking with creativity but are rather high spec tech demos boasting of sophisticated graphics and dumbed down to &#8220;go there, do exactly that&#8221; affairs.<br />
An example. I have played through the blockbuster title &#8220;Call of Duty Black Ops&#8221; a few weeks ago. Right now I can&#8217;t even remember the name of the main character anymore. Yet with <a rel="nofollow" href="http://minecraft.net/" target="_blank">Minecraft</a> &#8211; a formerly small indie game started only by one guy alone &#8211; I can remember nearly every time a Creeper blasted my ass off while I was mining underground&#8230;<br />
If you prefer a more graphical presentation of this idea, check out Ben Croshaw&#8217;s <a rel="nofollow" href="http://www.escapistmagazine.com/videos/view/zero-punctuation" target="_blank">Zero Punctuation series</a>. While brutally honest and really hilarious Ben points out exactly what&#8217;s wrong with today&#8217;s games &#8211; one fuc**** game at a time.</p>
<p>I think the reason so many big titles turn into hollow shells is because the mainstream focus <strong>slowly</strong> shifts away from a passive art of entertainment to a more interactive form. Through the unhomogenous demographics that denominates the broad target group for games, these titles have to settle on the lowest common denominator in terms of mass apeal.</p>
<h2>It&#8217;s All about Limitations</h2>
<p>And then there are games like Andreas Illiger&#8217;s <a rel="nofollow" href="http://www.andreasilliger.com/" target="_blank">Tiny Wings</a>.</p>
<p><a href="http://itunes.apple.com/us/app/tiny-wings/id417817520?mt=8" title="tiny_wings"><img class="size-full wp-image-1329 alignleft" title="tiny_wings" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/tiny_wings.png" alt="" width="177" height="178" /></a></p>
<p>This game was released on February 18 and a few days later it ranks #1 in the US App Store. Why? How? I asked Andreas if he had any form of marketing in place or did other preparations. He didn&#8217;t do anything! Crazy isn&#8217;t it?<br />
Not at all. Because based on my theory he used artificial constrains to greatly amplify creativity <strong>while</strong> keeping it simple. And simplicity is what I think most people crave these days. Given the multimedia overload that surrounds us each day, we still look for ways to be entertained. And when a game strikes the right balance between creativity and simplicity like Tiny Wings did, it appeals to many people. Like Angry Birds did &#8211; or Doodle Jump or Fruit Ninja.<br />
It is important (at least for me) to identify &#8220;limitation&#8221; as a main stimulus for creativity. Because that&#8217;s a winning formula for us small indie developers. We have everything in place to create great games whithout big investments. All it takes is creativity and the right balance between simplicity and depth. Add to it some deliberately chosen constraints and it could lead to <strong>huge success</strong> (yes, the game <a rel="nofollow" href="http://www.thinkwithportals.com/" target="_blank">Portal 2</a> is coming soon and I am using its lingo because I have played Portal 1 a few days ago and I am listening to its song <a rel="nofollow" href="http://vimeo.com/1612411" target="_blank">Still Alive</a> ALL_THE_TIME).<br />
The game machanic of Tiny Wings is by no means shallow. It may appear simple but it is damn hard to master. I am playing this game for days now and I still can&#8217;t reach the friggin island 7 (which by now every 12 year old would master after a few hours&#8230;.)!<br />
So what do I base my theory on? If you want proof for my idea &#8211; take a look around you.</p>
<ul>
<li>Twitter &#8211; 140 character limitation and it became one of the most popular platforms ever.</li>
<li>Apple &#8211; with its religious &#8220;keep it simple&#8221; mantra that made MP3 players dead simple and has a proven record for really easy to use interfaces.</li>
<li>Google &#8211; with its minimalistic interface and &#8220;no frills&#8221; approach to searching content.<br />
I have intentionally chosen big names here because I still find it fascinating that the idea of simplicity is still at the core of such big businesses.</li>
</ul>
<p>Getting back to games, this doesn&#8217;t mean that only indie titles are a guarantee for great gameplay and mass appeal. There are many big titles that did it right. I guess that can be attributed to some bright minds who were involved. As usual &#8211; the right mix of people under the right circumstances.<br />
I have played a lot of games in my life. Screw Valve for making it so damn simple to buy them (through Steam). Here is a list of my all time favourite games &#8211; big and small:<br />
<span class='collapseomatic ' id='id9222'  title="Click to expand">Click to expand</span>
<div id='target-id9222' class='collapseomatic_content '></p>
<ul>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Beyond_Good_%26_Evil" target="_blank">Beyond Good &amp; Evil</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Shadow_of_the_Colossus" target="_blank">Shadow of the Colossus</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Dreamfall:_The_Longest_Journey" target="_blank">The Longest Journey 1 and 2</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Psychonauts" target="_blank">Psychonauts</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Legend_of_Zelda_Twilight_Princess" target="_blank">Legend of Zelda Twilight Princess</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Ratchet_and_Clank" target="_blank">Ratchet and Clank Series</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Little_Big_Planet_2" target="_blank">Little Big Planet 1 and 2</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Uncharted_2:_Among_Thieves" target="_blank">Uncharted 2: Among Thieves</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Ico" target="_blank">ICO</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Mirrors_Edge" target="_blank">Mirror&#8217;s Edge</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Portal_(video_game)" target="_blank">Portal</a></li>
<li><a rel="nofollow" href="http://minecraft.net/" target="_blank">Minecraft</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Infamous_(video_game)" target="_blank">inFamous</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Braid_(video_game)" target="_blank">Braid</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Magicka" target="_blank">Magicka</a></li>
<li><a rel="nofollow" href="http://en.wikipedia.org/wiki/Mini_Ninjas" target="_blank">Mini Ninjas</a></li>
</ul>
<p></div>
</p>
<h2>Conclusion</h2>
<p>It&#8217;s pretty obvious this time. Limitations are great. Creativity is great. Combine them, amplify them and run with it.</p>
<p>See you next time around.</p>
<h2>PS</h2>
<p>Oh, and one last thing. For all those whiners (including me) who cry &#8220;cruel world&#8221; when they have created some really ingenious iOS apps and complain that visibility is the problem for their missing success. Andreas landed with Tiny Birds at #1 with <strong>NO</strong> visibility when he launched the game. So much for the witty iOS marketers who all chew on the same old cow &#8220;visibility is everything&#8221;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/02/tiny-wings-huge-success/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Managing Feature Requests for iOS Apps</title>
		<link>http://spielhaus-ftw.com/blog/2011/02/managing-feature-requests-for-ios-apps/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/02/managing-feature-requests-for-ios-apps/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 08:02:33 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1313</guid>
		<description><![CDATA[Introduction This week I&#8217;d like to show you how we manage feature requests for our apps with Jira. If you want to know why Jira is great, see my last post. The Problem Feedback is one of the most valuable things your users can offer you (after paying for your app of course). There is now [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>This week I&#8217;d like to show you how we manage feature requests for our apps with Jira. If you want to know why Jira is great, see my <a rel="nofollow" href="http://spielhaus-ftw.com/blog/2011/01/because-youve-got-issues/" target="_blank">last post</a>.</p>
<h2>The Problem</h2>
<p>Feedback is one of the most valuable things your users can offer you (after paying for your app of course). There is now way you &#8211; as a developer &#8211; can forsee all the features your app will need. What&#8217;s even better, through feedback you can get a good grasp on how your users are using your app and what they expect next to make it even better. Since those users are your perfect target group, what can be better then feedback from them?<br />
It&#8217;s up to you to decide what to make of it, but receiving and managing feedback (or featured requests as a subset of the possible feedback types) is very valuable.<br />
If you have done it right, feature requests will start to flow in. They may be submitted via email and if you don&#8217;t store it elsewhere, it will shortly mess-up your inbox. Worse yet, if it is not categorized, you&#8217;ll have a hard time to remember for which version (maybe you have an iPad and iPhone app) it was meant.</p>
<h2>Feature Requests with Jira</h2>
<p>As you may have noticed by now I am a big fan of <a rel="nofollow" href="http://www.atlassian.com/software/jira/" target="_blank">Jira</a> by Atlassian (and definitely not on their payroll &#8211; this is pure enthusiasm). Since we use Jira to track issues while developing our apps, what would make more sense than to store feature requests there? One possibility for such a setup would have been to configure our Jira installation for public access so that users could submit feature requests by themselves. We didn&#8217;t follow this approach because most users tend to give up on requests if the entry barrier is too high. Before using Jira, we had set-up an account with <a rel="nofollow" href="http://getsatisfaction.com/" target="_blank">GetSatisfaction</a>. However, the simple fact that users had to create an account there, led to very few requests. After providing a simple HTML form (and later even a &#8220;contact support&#8221; button from within the app) &#8211; feedback shot through the roof <img src="https://wiki.nicolinux.org/images/icons/emoticons/smile.gif" border="0" alt="" width="20" height="20" align="absmiddle" /> (hat tip to Sarah for the great idea).<br />
Right now our workflow consists of the following steps:</p>
<ul>
<li>Feature requests roll in via email</li>
<li>I access Jira to see if there is already a similar request
<ul>
<li>If there is one, I comment on the issue with the text &#8220;+1&#8243;</li>
<li>If there is no request, I create a new issue with the type &#8220;Story&#8221;</li>
</ul>
</li>
</ul>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/feature_requests.jpg" rel="shadowbox[sbpost-1313];player=img;" title="feature_requests"><img class="aligncenter size-thumbnail wp-image-1318" title="feature_requests" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/feature_requests-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/search.jpg" rel="shadowbox[sbpost-1313];player=img;" title="search"><img class="aligncenter size-thumbnail wp-image-1319" title="search" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/search-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>As you can see, I have added a custom field for the issue type &#8220;Story&#8221; called &#8220;Feature requests&#8221;. Then I have setup Jira to count all comments on the issue to display the sum in that field.<br />
The great thing about this setup is that the field &#8220;Feature requests&#8221; can be used to filter issues. So for example when planning updates for one of our apps I can create a quick custom search and filter for something like:<br />
&#8220;show me all feature requests with the component &#8220;iPhone&#8221; and sort by &#8220;feature requests&#8221; count&#8221;</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/search_range.jpg" rel="shadowbox[sbpost-1313];player=img;" title="search_range"><img class="aligncenter size-thumbnail wp-image-1316" title="search_range" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/search_range-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/custom_field_setup.jpg" rel="shadowbox[sbpost-1313];player=img;" title="custom_field_setup"><img class="aligncenter size-thumbnail wp-image-1315" title="custom_field_setup" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/custom_field_setup-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>As soon as we decide to work on that feature, I create a sub-task for the &#8220;Story&#8221; issue and assign it to our huge pool of coders to work on (Trung or me).</p>
<h2>Conclusion</h2>
<p>Feature requests are valuable and usually hard to come by. If you make it easy for your users to submit feedback they will make use of it. You&#8217;d be surprised how many users are stunned by the fact that a human beeing responds to their requests. I guess our spoiled mass market mentality leads to the impression that companies employs vast numbers of automated support drones whose only purpose in life is to create canned responses to customer mails&#8230;<br />
Storing your feature requests right next to your development issues is a clever idea that makes it easy when it comes to deciding what features to work on next.</p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/02/managing-feature-requests-for-ios-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s so Hot in Here</title>
		<link>http://spielhaus-ftw.com/blog/2011/02/its-so-hot-in-here/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/02/its-so-hot-in-here/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 08:01:35 +0000</pubDate>
		<dc:creator>stefan</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1305</guid>
		<description><![CDATA[Introduction As an iOS developer (and a tech nerd as per definition) you want to keep tabs on what&#8217;s going on in the tech world. Many of you surely have a list of preferred tech news sites you follow. In today&#8217;s post I want to show you a nifty tool that solves the problem of [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>As an iOS developer (and a tech nerd as per definition) you want to keep tabs on what&#8217;s going on in the tech world. Many of you surely have a list of preferred tech news sites you follow. In today&#8217;s post I want to show you a nifty tool that solves the problem of the information overload and omnipresent guilt when one fails to stay up to date with the latest news.</p>
<h2>The Problem</h2>
<p>This is easy to describe as I am sure that virtually anyone in our business is aware of it.<br />
You want to follow as many news sites and blogs as possible. At first you create a sizeable collection of really useful and cool news sites and dump it into your feed reader. And here&#8217;s where the problem starts. As noble as your intention was to follow every news bit, the sheer mass makes it impossible. This is &#8211; if you want to get anything else done besides reading news all day. I don&#8217;t know about you, but I can&#8217;t stand to see this red bubble at the top right corner of an icon. This nagging feeling that there is something (presumably exciting and important) makes me want to open the feed reader and see what&#8217;s new. This positive feeling turns into ugly guilt when there are hundreds of unread items. And &#8220;mark all as read&#8221; is not a solution &#8211; but rather resignation.</p>
<h2>Fever</h2>
<p><a rel="nofollow" href="http://feedafever.com/" target="_blank">Fever </a>is a personal recommendation engine by <a rel="nofollow" href="http://shauninman.com/pilation" target="_blank">Shaun Inman </a>. It is a web application that you have to install and run on your own Linux based server.<br />
The way it works is pretty clever. At first you subscribe to as many feeds as you like &#8211; the more the better. Then there are three important categories: Hot, Kindling and Sparks.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/default.jpg" rel="shadowbox[sbpost-1305];player=img;" title="default"><img class="aligncenter size-thumbnail wp-image-1306" title="default" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/default-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/sparks.jpg" rel="shadowbox[sbpost-1305];player=img;" title="sparks"><img class="aligncenter size-thumbnail wp-image-1307" title="sparks" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/sparks-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>Kindling contains the feeds that you absolutely want to follow &#8211; the essential ones. Sparks contains everything else like big aggregating news sites and generally news sites that have a high throughput. Finally Hot is the category you will want to use most of the time. This is where Fever ranks the most important news based on their importance. This is determined by the their re-linking and the amount of discussion they generated. Fever uses the feeds from the Sparks category to generate the rankings in the Hot category. A nice touch is the temperature based theme. It is related to the human body temperature.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/hot.jpg" rel="shadowbox[sbpost-1305];player=img;" title="hot"><img class="aligncenter size-thumbnail wp-image-1309" title="hot" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/02/hot-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>You can set the time period in the Hot category if you want to catch-up with older news. Fever is very keyboard friendly. There is rarely a need to use the mouse.</p>
<h2>Conclusion</h2>
<p>Fever is perfect suited if you want to stay up to date without having to scan hundreds of headlines. Since it works on feeds you subscribed to generate the ranking in the Hot category, it is your very own personal recommendation engine. So less time spent on reading news means more time for coding <img src='http://spielhaus-ftw.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/02/its-so-hot-in-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tilting at Windmills or iOS Marketing on a Budget</title>
		<link>http://spielhaus-ftw.com/blog/2011/01/tilting-at-windmills-or-ios-marketing-on-a-budget/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/01/tilting-at-windmills-or-ios-marketing-on-a-budget/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 08:01:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1281</guid>
		<description><![CDATA[Introduction This post is about the launch of our latest app Today Voice Notes describing what went well and what didn&#8217;t. The Problem As with most apps on the App Store the initial visibility is a big problem. At an incredibly rate of hundreds of new apps per day it is becoming increasingly hard to get [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>This post is about the launch of our latest app <a rel="nofollow" href="http://spielhaus-ftw.com/apps/todaynotes/" target="_blank">Today Voice Notes</a> describing what went well and what didn&#8217;t.</p>
<h2>The Problem</h2>
<p>As with most apps on the App Store the initial visibility is a big problem. At an incredibly rate of hundreds of new apps per day it is becoming increasingly hard to get noticed when launching an app. Classic marketing doesn&#8217;t apply much here since most potential customers use the App Store app or iTunes to look for new apps. Banners and Adwords may still be effective in the long term but that&#8217;s not applicable for a launch.</p>
<h3>But What&#8217;s Wrong with the Status Quo?</h3>
<p>The status quo would be that you submit the app and when it is released you&#8217;ve got a few downloads. These downloads originate from the fact that App Store categories can be sorted by &#8220;release date&#8221;. After your app has fallen of this list, it becomes invisible (and forgotten) if you don&#8217;t actively market it.<span style="color: #000000;">You have to rely entirely on the search keywords you set in the first place.</span></p>
<h2>How Did it Go?</h2>
<p>Today Voice Notes was released on the 19th december 2010. The launch was not stellar but okay. We had 514 downloads (priced at 1$) and 90% originated from Germany.</p>
<h2>Launch</h2>
<p>What follows is a list of actions we have undertaken. Apart from the immediate feedback (sales) there were other (positive) long term effects. Sadly these are very hard to measure.</p>
<h3>Landing Page and Ads</h3>
<p>For the small percentage of potential users that look for apps by other means than the App Store, a landing page is the perfect place for the sales pitch.<span style="color: #000000;">Additionally</span><span style="color: #ff0000;"> </span>a landing page can be a great benefit later on in the course of word of mouth marketing.<br />
We have built a landing page that is light on text and uses videos to showcase the app&#8217;s features. Since I stared on it fa too long &#8211; I can&#8217;t say if it is exceptionally pretty or not. At least it does the job to present all features and lead the user to the App Store.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/landingpage1.jpg" rel="shadowbox[sbpost-1281];player=img;" title="landingpage1"><img class="aligncenter size-thumbnail wp-image-1286" title="landingpage1" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/landingpage1-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/landingpage2.jpg" rel="shadowbox[sbpost-1281];player=img;" title="landingpage2"><img class="aligncenter size-thumbnail wp-image-1287" title="landingpage2" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/landingpage2-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>Together with the landing page we have booked an expensive ad. <a rel="nofollow" href="http://fusionads.net/" target="_blank">Fusionads</a> is an advertising network for the design inclined. Since Today Voice Notes is rather pretty and heavily customized regarding UI, we thought that it would be a natural fit. Those who appreciate good design are presumably a primary target for the iOS platform too. The Fusionad &#8220;roadblock&#8221; shows your ad over the course of one day on the entire network &#8211; perfect for app launches.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/fusionads_example.jpg" rel="shadowbox[sbpost-1281];player=img;" title="fusionads_example"><img class="alignleft size-thumbnail wp-image-1285" title="fusionads_example" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/fusionads_example-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>Fusionads generated 500k impresions and 1.5k clicks. Only 0.27% of the people clicked on our ad.<br />
Costs: 1.2k $ for the ad.</p>
<p>Google Adwords resulted in around 40 clicks and since we didn&#8217;t use any tracking &#8211; I have no idea how many did really buy the app.</p>
<h2>Linkshare</h2>
<p>It is still impossible to track sales until the very end of the order process because all tracking solutions stop right at the doorstep of iTunes or the App Store app. All except for one. Apple works with <a rel="nofollow" href="http://www.linkshare.com/" target="_blank">Linkshare</a> and provides sales statistics. For this to work, special tracking links containing the app id can be generated and distributed throughout the landing page, other apps and so on. That&#8217;s what we did. To be honest the Linkshare report generation is really awful &#8211; either that or I don&#8217;t really get it. The following numbers could very well be wrong.<br />
The landing page visits translated into 310 clicks on the App Store button and 8 orders.</p>
<h2>Press Release and Video</h2>
<p>Writing a concise and ad free press release is an art of its own. We have used <a rel="nofollow" href="http://prmac.com/" target="_blank">Prmac</a> for the delivery of our press release. According to their statistics there have been around 300 clicks on the iTunes link for the app. This time we didn&#8217;t use Linkshare for tracking. I don&#8217;t know why exactly but I didn&#8217;t feel like I want to have press people click on that huge and scarry Linkshare link <img src='http://spielhaus-ftw.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Along with the press release we created a presskit containing screenshots, app description and links.</p>
<ul>
<li><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2009/10/Toady_Voice_Notes_pr.zip">Presskit</a></li>
</ul>
<p>A short promo video yielded 225 views (Youtube).</p>
<h2>Vieda</h2>
<p>Spielhaus is part of an organisation of German speaking iOS developers. From time to time <a rel="nofollow" href="http://www.vieda.de/" target="_blank">Vieda</a> performs promotions. Around Christmas they have created an advent calender. Every day three apps were presented that reduced their prices for one day. Today Voice Notes launced inside this promo event. This was the greatest success so far because 90% of the sales came from Germany.<br />
Costs: 34$</p>
<h2>The Rest</h2>
<p>We have focused all our efforts into a time frame of 1-2 days to achieve a greater impact. Way before the launch we have contacted many review sites for exclusive reviews. Big profile sites didn&#8217;t even took notice and most of the others offered only &#8220;honest&#8221; pay per review models.</p>
<h2>Conclusion</h2>
<p>We have learned that it is crucial to find the right target group for an app. Otherwise ads will not deliver their full impact. Maybe Fusionads was not the right advertising network or maybe our ad sucked. But one thing is clear &#8211; promo events do have the greatest effect. Although the Vieda promo event does not have the same impact as being featured by Apple, it did catapult the app in front of many potential customers.</p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/01/tilting-at-windmills-or-ios-marketing-on-a-budget/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>To Sync or not to Sync</title>
		<link>http://spielhaus-ftw.com/blog/2011/01/to-sync-or-not-to-sync/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/01/to-sync-or-not-to-sync/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 14:04:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1273</guid>
		<description><![CDATA[Introduction This post describes the decision-making process about choosing a proper synchronisation system for our todo management tool Today Todo. The Problem Today Todo was released in october 2009. The idea for a small tool that captures the today&#8217;s todos was born on a sunday afternoon and after only a few hours Trung had the first [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>This post describes the decision-making process about choosing a proper synchronisation system for our todo management tool <a rel="nofollow" href="http://today-apps.com/todo/" target="_blank">Today Todo</a>.</p>
<h2>The Problem</h2>
<p>Today Todo was released in october 2009. The idea for a small tool that captures the today&#8217;s todos was born on a sunday afternoon and after only a few hours Trung had the first prototype ready. Time has passed and Today (as we call it) has evolved. After 22 updates, beeing featured by Apple, a ton of feedback and the usual iOS carousel &#8211; we came to the conclusion that Today needs to sync its data into the cloud. This is especially important since the iPad version is nearly done and screams for an unified data source. Our requirements are simple. The sync should be flexible, simple and involve the least user intervention possible.<br />
There are quite a few frameworks and systems to choose from. All have their pros and cons.<br />
Since I wanted to see how competing apps did fare with cloud syncing, I evaluated the most important ones. Here is what I have found out so far.</p>
<h2>Do it yourself</h2>
<p>Among other sync options <a rel="nofollow" href="http://www.appigo.com/todo" target="_blank">Appigo&#8217;s Todo</a> outsourced their sync affairs to <a rel="nofollow" href="http://mokimobility.com/" target="_blank">Moki Mobility</a>. They have built a web app that runs on top of Google Engine. The business model involves a 14 day trial account. After that it costs 19$ per year. The web app is not exceptionally pretty but functional and sports a clean look.<br />
The internal data structure of the iOS app is kept simple. Appigo uses a handcrafted SQLite db.<br />
The sync process blocks the entire app although it is rather quick. However this was done with a limited data set and with a very fast internet connection. It could be a problem later on.<br />
Overall syncing went smoothly and was very easy to set up.</p>
<h3>Pro</h3>
<p>From the business perspective the advantage is clear. Only those users who are really interested into cloud syncing will pay for its usage. Although the fee is low, given Appigo&#8217;s large user base I expect it to yield a respectable profit.<br />
Another bonus is the simple setup process for the user.</p>
<h3>Con</h3>
<p>The only notable disadwantage with this approach is the constant availability of the service. Since the user has to pay for it, the zero tolerance of many users will ceartainly make life hard for Appigo should the web app become unavailable at some point.</p>
<p>Another app that uses a similar approach is Wunderlist. This new contender made by <a rel="nofollow" href="http://www.6wunderkinder.com/" target="_blank">6wunderkinder</a> uses its own service for syncing. Instead of a web app they have built a cross platform client based on the <a rel="nofollow" href="http://www.appcelerator.com/products/titanium-mobile-application-development/" target="_blank">Titanium Framework</a>. Upsides and downsides are the same here except that using the Titanium framework 6wunderkinder cut off their way into the Mac App Store.</p>
<h2>MobileMe Calender</h2>
<p>As with Appigo, <a rel="nofollow" href="http://2doapp.com/en/2Do/features.html" target="_blank">Guided Ways&#8217;s 2do</a> offers several syncing options. For cloud syncing they decided to use the MobileMe calender. This option is available via in-app purchase. Since the feature set of the calender does not suffice, Guided Ways had to make some compromises. Attachments are not synced and projects and checklists appear as flat lists.<br />
Syncing is done either manually or when the app starts and quits. Conflicts are not handled very well and may lead to confusion. Again the data structure is kept clean and simple. 2do uses a handcrafted SQLite db.</p>
<h3><a name="BlogpostTodaySync-Pro"></a>Pro</h3>
<p>The big advantage with this approach is offloading the availability issue to Apple/MobileMe. And since MobileMe is tightly integrated with Mac OS X the synced data can be accessed easily.</p>
<h3><a name="BlogpostTodaySync-Con"></a>Con</h3>
<p>Guided Ways had to force their data into the MobileMe Calendar structure. The compromises they made may not seem that bad but I suspect that the implementation was far from easy.<br />
Another downside arises from the fact that MobileMe is a payed service. I guess this alone will drive many users away.</p>
<p>TouchTodo from <a rel="nofollow" href="http://kopuschen.com/TouchTodoPro.aspx" target="_blank">Chen&#8217;s Photography &amp; Software</a> uses the Google Calender for synching. The same issues apply here.</p>
<h2>Google Docs</h2>
<p>Awesome Note from <a rel="nofollow" href="http://www.bridworks.com/anote/en/main/index.php" target="_blank">BRID</a> went for two options. They support <a rel="nofollow" href="http://www.evernote.com/" target="_blank">Evernote&#8217;s service</a> and Google Docs. Syncing is done manually and turned out to provide the weakest experience from all test candidates. At one point I managed to unintentionally loose all my notes because it was not clear that restoring data from Google is only functional if it was previously backedup. However, Awesome Note has its own backup system that works via wifi. I still don&#8217;t know how to backup the data to Google (I thought that this was one of the benefits of syncing&#8230;)</p>
<h3><a name="BlogpostTodaySync-Pro"></a>Pro</h3>
<p>As with the other tools, offloading the aviability issue to another provider is a big bonus.</p>
<h3><a name="BlogpostTodaySync-Con"></a>Con</h3>
<p>Although Google has a large user base, putting the data into Google Docs does not really fit the purpose of a todo manager. This problem originates from the fact that Awesome Note tries to be both &#8211; a todo manager and a notes utility. Google Docs works great with notes but not so great with todos.<br />
Another problem is that Google and Evernote limits the size of uploads. However, this does not weigh-in that much since these are extreme situations that are rarely met.</p>
<h2>File based sync</h2>
<p>Omnifocus from the respectable <a rel="nofollow" href="http://www.omnigroup.com/products/omnifocus_for_iphone/" target="_blank">Omni Group</a> went for a file based sync approach. They support syncing to MobileMe or any custom WebDAV folder. They do provide a Mac client that can be set to sync to these services too. Syncing happens automatically and proved to be stable and smooth. Omnifocus uses compressed xml chunks to transfer data to MobileMe. This time MobileMe is used as a mere online disk for storage.</p>
<h3><a name="BlogpostTodaySync-Upside"></a>Upside</h3>
<p>The file based sync provides the most flexible approach for advanced users. They can use their own WebDAV folders and have the certainty that they own their data.<br />
Another plus is the small amount of data that needs to be moved around. This results in a fast sync process.</p>
<h3><a name="BlogpostTodaySync-Downside"></a>Downside</h3>
<p>Syncing is considered a hard problem, especially when it is done on such a basic level. The whole sync logic needs to reside inside the app and was ceartainly not easy to implement.<br />
As with 2do MobileMe is a paid service and may not appeal to everyone.</p>
<h2>CoreData on Dropbox</h2>
<p>TL Quantum Inc. implemented with <a rel="nofollow" href="http://tlquantum.com/?page_id=10" target="_blank">Todo Queue</a> syncing via <a rel="nofollow" href="https://www.dropbox.com/" target="_blank">Dropbox</a>. Dropbox is a popular online storage service. For unknown reasons syncing in Today Queue involves moving the CoreData db around on every sync! This is crazy by any means. It is not only dangerous because it may easily lead to corruption but quite wasteful since TL Quantum Inc. has chosen to keep a copy of the db for <strong>every</strong> sync.</p>
<h3><a name="BlogpostTodaySync-Pro"></a>Pro</h3>
<p>I have chosen this app because they use Dropbox and this is the service we are most inclined towards right now. All the advantages apply with the added bonus that Dropbox is free (2gb storage). This is more than enough for syncing.</p>
<h3><a name="BlogpostTodaySync-Con"></a>Con</h3>
<p>I don&#8217;t see a notable downside here (if you don&#8217;t put the db directly on Dropbox&#8230;). After a short glance at Dropbox&#8217;s API, their philosophy &#8220;keep it simple&#8221; seems to carry on here.</p>
<h2>Conclusion and opinions needed</h2>
<p>There really are many approaches to choose from. Right now Dropbox seams to offer the most advantages. It is free, popular and has a nice API. Their usage limits are fairly high too.<br />
I would be <strong>very</strong> interested in your opinions. Is there something we didn&#8217;t take into account? Any gotchas?<br />
Mat Smith was very kind to provide his view on this topic <a rel="nofollow" href="http://hazymat.co.uk/index.php/sync-with-cloud-today-todo/" target="_blank">here</a> (thanks Mat). He votes for a personal web app that can be run on the own server. Sadly this would exclude too many users and it is not feasible. His second best choice would be Google Tasks (where Google doesn&#8217;t provide an API at all&#8230;).</p>
<p>But one thing is certain. Regardless of the choice we make, there will be someone who will complain&#8230;</p>
<p>That&#8217;s it for this week. I have not decided yet on the next post, but one thing is for sure. It will be more on the teaching side than this one <img src='http://spielhaus-ftw.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/01/to-sync-or-not-to-sync/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Use that damn wiki because you&#8217;ve got issues</title>
		<link>http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki-because-you_ve-got-issues/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki-because-you_ve-got-issues/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 08:01:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1259</guid>
		<description><![CDATA[Introduction This third iDevBlogADay post describes the combination of the previously outlined issue tracking and knowledge management that ultimately culminates in the creation of a digital hub for everything iOS related at Spielhaus. The Problem Using specialized tools for specific purposes is a good practice in nearly all situations. However, we humans have a hard [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>This third iDevBlogADay post describes the combination of the previously outlined <a href="http://spielhaus-ftw.com/blog/2011/01/because-youve-got-issues/">issue tracking</a> and <a href="http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki/">knowledge management</a> that ultimately culminates in the creation of a digital hub for everything iOS related at Spielhaus.</p>
<h2>The Problem</h2>
<p>Using specialized tools for specific purposes is a good practice in nearly all situations. However, we humans have a hard time when it comes to multitasking. Constantly switching tools while working is not ideal. Especially when the end goal is to keep track of a complex process such as iOS development. Managing one&#8217;s knowledge in one place and tracking issues in another, is fine until the need arises to combine bits and pieces from both systems. The ideal supporting environment would be an ecosystem where problem descriptions (issues) are placed along with stored knowledge. If the tools involved don&#8217;t provide this feature, the developer needs to take care of it himself. Again, this is not ideal because every free mental resource should be dedicated to problem solving and not be used for gathering supporting info.</p>
<h3>But what&#8217;s wrong with the status quo?</h3>
<h3><span style="font-weight: normal; font-size: 13px;">As with the <a href="http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki/">former</a> <a href="http://spielhaus-ftw.com/blog/2011/01/because-youve-got-issues/">posts</a> &#8211; the point is still valid: Nothing is wrong unless you want to give up potential of optimization.</span></h3>
<p><span style="font-weight: normal; font-size: 13px;"><br />
</span></p>
<h2>Combining issue tracking with knowledge management</h2>
<p>If you followed the previous posts it&#8217;s not hard to guess that two software packages built by the same developers were meant for each other. <a href="http://www.atlassian.com/software/jira/" target="_blank">Jira</a> (issue tracking) and <a href="http://www.atlassian.com/software/confluence/" target="_blank">Confluence</a> (wiki) can be set up to cooperate. The objective is supposedly simple &#8211; show relevant issues right on specific wiki pages together with insightful statistics.<br />
Jira can be set to <strong>trust</strong> queries from Confluence (and vice versa). The workflow involves telling Jira to trust Confluence and then add gadget links from Jira to Confluence.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/trusted_apps.jpg" rel="shadowbox[sbpost-1259];player=img;" title="trusted_apps"><img class="aligncenter size-thumbnail wp-image-1261" title="trusted_apps" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/trusted_apps-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/gadget_link.jpg" rel="shadowbox[sbpost-1259];player=img;" title="gadget_link"><img class="aligncenter size-thumbnail wp-image-1262" title="gadget_link" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/gadget_link-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/external_gadgets.jpg" rel="shadowbox[sbpost-1259];player=img;" title="external_gadgets"><img class="aligncenter size-thumbnail wp-image-1263" title="external_gadgets" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/external_gadgets-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>Gadgets can display charts, the output of search filters or links to other tools &#8211; all of this in the context of issue tracking.<br />
I would like to demonstrate this with our flagship app <a href="http://today-apps.com/todo" target="_blank">Today Todo</a>. The main wiki page functions as a container for all enclosed pages &#8211; each sub-page contains specialized information. When accessing the Today Todo page, I can already see all background information concerning the project. It would be great if I could see the relevant issues from Jira.</p>
<p><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/today_issues.jpg" rel="shadowbox[sbpost-1259];player=img;" title="today_issues"><img class="aligncenter size-thumbnail wp-image-1266" title="today_issues" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/today_issues-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>As you can see from the screenshot, I can pull in any number of issues related to the development of Today Todo. These are by no means static lists. The content is fetched remotely from Jira and displayed on the wiki page. Furthermore clicking any links (or chart slices) forwards to the corresponding issue(s) in Jira.<br />
This way we have built a cockpit with all relevant info for the project. I resisted the urge to go crazy with charts and extensive analysis data. I have only included the tasks for the actual and the next version together with the feature requests (not visible). These gadgets can be placed anywhere on the wiki concluding their greatest benefit of encapsulating the supporting material with the problem description. Similar to connecting data and code in object-oriented programming. When Trung and I are working on one topic &#8211; say implementing a &#8220;seamless synching of data between instances of Today Todo&#8221; &#8211; we have the problem description (feature request) together with all supporting material about synching right in one place.</p>
<h2>Conclusion</h2>
<p>Since I wanted to keep this post short &#8211; that&#8217;s all about it for now. I hope that this series of posts helped some of you with this exciting voyage of ours that iOS development turns out to be.<br />
I am not sure what will follow next week now that I am done with my favorite topics. However these &lt;insert app here&gt; post mortems seem be en vogue and maybe it is time to review what worked and what didn&#8217;t for Today Todo and Spielhaus over the last year.</p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki-because-you_ve-got-issues/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Because you&#8217;ve got issues</title>
		<link>http://spielhaus-ftw.com/blog/2011/01/because-youve-got-issues/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/01/because-youve-got-issues/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 08:01:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1237</guid>
		<description><![CDATA[This is the second post for iDevBlogADay. In the previous one I hope to have successfully outlined why a knowledge management system built with a wiki is useful for any iOS dev. This time I want to persuade you to think about your issue (or bug) tracking process. The Problem Even if we try, no [...]]]></description>
			<content:encoded><![CDATA[<p>This is the second post for <a href="http://idevblogaday.com/" target="_blank">iDevBlogADay</a>. In the <a href="http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki/">previous one</a> I hope to have successfully outlined why a knowledge management system built with a wiki is useful for any iOS dev. This time I want to persuade you to think about your issue (or bug) tracking process.</p>
<h2>The Problem</h2>
<p>Even if we try, no app will ever be bug free or remain unchanged. Over time requirements may change or other features creep up and so there is a constant need to maintain a list of todos that are related to developing the app. These todos do not emerge in succession right from the start. They can occur any time. While some of them are just mundane tasks others will have varying priorities. Be it a last minute bug that you found right before submitting the app or an useful user request later on &#8211; you will be constantly challenged to keep track of the development process. If you don&#8217;t &#8211; bad things will happen (and that&#8217;s common wisdom so I won&#8217;t repeat it here). &#8216;Because you&#8217;ve got issues&#8217; is a slogan printed on t-shirts handed out by Atlassian (creators of Jira) and sums up the very essence of this post.</p>
<h3>But what&#8217;s wrong with the status quo?</h3>
<p>As with the <a href="http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki/">previous post</a> low tech is still a valid alternative. Yet again the time you save while poping out another .txt file on the desktop to dump todos for your app, will be spent later when you need to retrieve and prioritize these todos. This may be at the unfortunate time around the end of the development cycle when time is scarce and the crunch mode begins to leave its marks on your stamina.</p>
<h3>Issue tracking</h3>
<p>We decided to use a web based issue tracking tool. As with the wiki, the big advantage is its distributed availability and ease of use. Especially since we are working mostly independently from home. At its heart an issue tracking tool is just a specialised task management system tailored for the needs of software development. The base consists of separate <em>issues</em>. Each issue contains a bug description (or feature request, or user story). Ideally it has additional metadata attached like the version it belongs to, the component, the expected fix version and so on. This is the most important part but sadly also the hardest one when it comes to introducing the system. This time the adoption of the issue tracking tool was encountered by much more resistance then the wiki. Trung and I are still not on common ground when it comes to creating issues&#8230;</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/dashboard.jpg" rel="shadowbox[sbpost-1237];player=img;" title="dashboard"><img class="aligncenter size-thumbnail wp-image-1239" title="dashboard" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/dashboard-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/summary.jpg" rel="shadowbox[sbpost-1237];player=img;" title="summary"><img class="aligncenter size-thumbnail wp-image-1241" title="summary" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/summary-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/issue.jpg" rel="shadowbox[sbpost-1237];player=img;" title="issue"><img class="aligncenter size-thumbnail wp-image-1240" title="issue" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/issue-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>There are two main use cases for the issue tracking system. The first one is to gain an overview about the project. This is accomplished through the intricate filtering of issues. After all everything that is presented to you while operating the tool are just filters that display issues in interesting (and hopefully insightful) ways. The second use case is to store issues (and potential feature requests) so they are not forgotten. Again, filters come in handy when choosing the next feature that has to be worked on. Without metadata no proper sorting is possible. This greatly diminishes the advantage of an issue tracking tool.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/issue_overview.jpg" rel="shadowbox[sbpost-1237];player=img;" title="issue_overview"><img class="aligncenter size-thumbnail wp-image-1243" title="issue_overview" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/issue_overview-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/navigator.jpg" rel="shadowbox[sbpost-1237];player=img;" title="navigator"><img class="aligncenter size-thumbnail wp-image-1244" title="navigator" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/navigator-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/new_issue.jpg" rel="shadowbox[sbpost-1237];player=img;" title="new_issue"><img class="aligncenter size-thumbnail wp-image-1245" title="new_issue" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2011/01/new_issue-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>Each new iOS project starts as an issue tracking project. We add the proper components following the MVC pattern as well as useful additions like &#8220;Text&#8221; (for translation related tasks as well as app store texts) and &#8220;Marketing&#8221; for well&#8230; marketing stuff. Versions are defined and we keep them in sync with the real versioning numbers for the app in iTunesConnect. For every bug we find, another issue is created <strong>and</strong> instantly prioritized. Although most entries are optional while creating the new issue &#8211; just their mere existance forces us to think about when and where the issue belongs to.</p>
<h2>Jira</h2>
<p>To be honest, the first time I encountered Jira I wasn&#8217;t very impressed. Even worse &#8211; I didn&#8217;t like it at all. Much has changed since then with both &#8211; Jira and my attitude about issue tracking. Atlassian has put quite some UI love into their (presumably oldest tool) and made it very accessible. Just like with the wiki software Confluence it follows the same usage patterns albeit in the context of issue tracking. This time I didn&#8217;t look for alternatives. I have used Mantis before and through my open source past Bugzilla for sure &#8211; but that&#8217;s all to it. However I am glad that I sticked to Jira &#8211; some gems are only discovered over time:</p>
<h3>Roll your own or hosted</h3>
<p>Just like Confluence, Jira is written in Java and has strong support for Linux. There is a hosted option or you can roll your own. Jira is comercial software and (sorry for saying it over and over again) &#8211; but just like Confluence &#8211; the ten user license is available for 10 bucks (all proceeds go to charity). Again just like&#8230; Atlassian uses it&#8217;s own tool to manage the further development of all other tools. There is also a huge community built around it and feature requests get instant attention (for the better or the worse if it is a duplicate request).</p>
<h3>It&#8217;s like driving a Porsche Cayenne</h3>
<p>Jira got its better looks quite late but for a heavy duty issue tracking tool it is pretty and extremly flexible. Besides basics like email notifications, integration with revision control tools (svn, cvs, perforce&#8230;) &#8211; there is something for everybody. Filters that can visualize just about every mind boggling project state, plugins for the fancy (agile development to mention only one of many), OpenSocial gadgets, fine grained security roles and so on. Workflows that define different states of issues with built-in logic (and sensible defaults) make it possible to customize Jira to fit way more than just the purpose of issue tracking. If you want the full firehose of feature overload:</p>
<ul>
<li><a rel="nofollow" href="http://www.atlassian.com/software/jira/full-features.jsp" target="_blank">http://www.atlassian.com/software/jira/full-features.jsp</a></li>
</ul>
<p>But there is more. Especially on the keyboard shortcuts front. Check out my following very short video showing some Quicksilver-style shortcut jugglings.</p>
<p><a href="http://spielhaus-ftw.com/blog/2011/01/because-youve-got-issues/"><em>Click here to view the embedded video.</em></a></p>
<h3>Conclusion</h3>
<p>There is no way of saying that you <strong>should</strong> use an issue tracking tool because if you don&#8217;t, you are clearly making your life harder than it has to be. I hope that this post outlines why there are many advantages when using a web based tool and especially something like Jira. Creating apps is complex enough and needs time, so every tool that helps to reduce its management overhead is a valuable addition to every iOS development toolbox.<br />
Next week I will pursue the &#8216;holy grail&#8217; of integration when combining Jira and Confluence.</p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/01/because-youve-got-issues/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Use that damn wiki</title>
		<link>http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki/</link>
		<comments>http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 08:01:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone-dev]]></category>

		<guid isPermaLink="false">http://spielhaus-ftw.com/?p=1162</guid>
		<description><![CDATA[First day in 2011 &#8211; the best time to tackle those new year&#8217;s resolutions. If you have been struggling with the overflow of information related to your iOS development, this post is for you. For this iDevBlogADay post I want to illustrate how we at Spielhaus handle this overflow of information, or to put it simple [...]]]></description>
			<content:encoded><![CDATA[<p>First day in 2011 &#8211; the best time to tackle those new year&#8217;s resolutions. If you have been struggling with the overflow of information related to your iOS development, this post is for you.<br />
For this <a title="iDevBlogADay" href="http://idevblogaday.com/" target="_blank">iDevBlogADay</a> post I want to illustrate how we at Spielhaus handle this overflow of information, or to put it simple &#8211; how we manage to stay on top of things with the proper tools.</p>
<h2>The Problem</h2>
<p>While writing code we focus on efficiency and are always on the lookout to improve and optimize stuff. There are however steps in the iOS development chain that need attention too &#8211; but unfortunately don&#8217;t get much love.<br />
There is a wealth of knowledge that every iOS developer accumulates over time. The question is &#8211; where to store it? The brain is not the best storage device since it tends to forget things easily &#8211; especially those that are not needed frequently or are somewhat dull and tedious. I am not talking about basic stuff &#8211; that sticks. I mean those bits and pieces like libraries that one comes accross while searching to solve a problem, snippets of code that are related to a specific task, ideas for new apps but also marketing materials (where to book ads, list of review sites, reviewer assets, app store stats etc.). The problem gets worse since these bits are sometimes not related to each other and can not be categorized easily.</p>
<h3>But what&#8217;s wrong with the status quo?</h3>
<p>This is a valid question since managing information for the development of iOS apps is perfectly doable with low-tech tools. However the time that is saved when poping out another .txt file on the desktop to dump info, is wasted later when the information needs to be retreived. Plus how are we supposed to combine knowledge in an interesting new way if it is scattered all over the place?</p>
<h2>Wiki</h2>
<p>We decided to use a web based software to store all of our knowledge and supporting material. A wiki has the huge advantage that it is really easy to use and always available. This is especially important for a team that consists of more than one person (okay, our team is not that huge either &#8211; it&#8217;s just the two of us Trung and Stefan). Furthermore a wiki is a living thing with built-in memory because every page retains the versions it has gone through.<br />
Apart from Wikipedia where I am just a user, I started to actively use wikis only a few years ago. Kudos to Martin Seibert from <a href="http://confluence.seibert-media.net/" target="_blank">//SEIBERT/MEDIA</a> (my former employer) who then forced us to use the internal wiki on a daily basis. This is how I came to appreciate its value.<br />
At its core a wiki is a &#8216;simple&#8217; system for editing and creating pages that may be structured hierarchically, categorized and linked to each other. Pages may contain text, images or have any number of attachments. There are plugins that extend its functionality to display charts, calenders, forms and so on. However the most important hurdle when using a system like this is its acceptance. It has to be used frequently to become useful. This might have been a source for nightmares for Trung for a long time while I constantly pesterd him to <strong>use</strong> <strong>that damn wiki</strong>. One trick is stop attaching files to emails but instead put them on the wiki and send the link to the wiki page. Over time our Spielhaus wiki has evolved into the central hub of everything we do to create apps.<br />
Here are some screenshots of our Wiki. We use a custom theme called RefinedWiki but the first screenshot shows the default look.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/default_theme.jpg" rel="shadowbox[sbpost-1162];player=img;" title="default_theme"><img class="aligncenter size-thumbnail wp-image-1168" title="default_theme" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/default_theme-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/refinedwiki_theme.jpg" rel="shadowbox[sbpost-1162];player=img;" title="refinedwiki_theme"><img class="aligncenter size-thumbnail wp-image-1169" title="refinedwiki_theme" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/refinedwiki_theme-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/table.jpg" rel="shadowbox[sbpost-1162];player=img;" title="table"><img class="aligncenter size-thumbnail wp-image-1170" title="table" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/table-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>We store there everything that is related to our business. For example every new app idea starts as a sub-page of the &#8220;Apps&#8221; page. From there other sub-pages emerge like &#8211; Concept, Mockups, Roadmap, App Store Descriptions (we keep a version of every App Store description to see if a new version had impact on sales). Later other sub-pages are created like Feature Requests, Reviews, Competitors and so on.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/attach_image.jpg" rel="shadowbox[sbpost-1162];player=img;" title="attach_image"><img class="aligncenter size-thumbnail wp-image-1183" title="attach_image" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/attach_image-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/rich_text_editor.jpg" rel="shadowbox[sbpost-1162];player=img;" title="rich_text_editor"><img class="aligncenter size-thumbnail wp-image-1185" title="rich_text_editor" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/rich_text_editor-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/final_page.jpg" rel="shadowbox[sbpost-1162];player=img;" title="final_page"><img class="aligncenter size-thumbnail wp-image-1184" title="final_page" src="http://spielhaus-ftw.com/wordpress/wp-content/uploads/2010/12/final_page-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>But we don&#8217;t stop there. Financial informations (how much and where we have spent and the income after Apple&#8217;s cut) are stored into an easy to read table. License codes, assets (images and sounds) are attaced to the ever growing &#8220;Assets&#8221; sub-page. Together with quotes for potential clients, market analysis, developer success stories, book summaries, meeting protocols &#8211; the wiki formes a huge conglomerate of valuable knowledge &#8211; much bigger of what Trung and I could ever memorize.</p>
<h2>Confluence</h2>
<p>I have chosen Confluence from Atlassian for a number of reasons. The most important one was its polish and ease of use as well as the flexibility it provides. There are many wiki packages out there &#8211; but to put it in Linux window manager terms &#8211; Confluence is the Gnome Desktop of them. I have chosen this metaphor for a reason. Many many years ago I have spent endless hours on my beloved Linux desktop, tirelessly tweaking every aspect of it. I wasn&#8217;t affraid to extend and recompile parts of (at that time Windowmaker, Fluxbox, Xfce) just to have everything setup perfectly. But while I grew up and free time became more and more scarce and precious, I started to use other window managers where I gave up some flexibility for the sake of simplicity and because much of the basic stuff worked out of the box. It is now the same thing with operating systems, code editors, wikis &#8211; there is always a trade-off between flexibility and maintainability.<br />
With Confluence the tradeoff is very small. It is very flexible and at the same time has a ton of syntactical sugar (in terms of managing knowledge). These are the highlights that finally won me over:</p>
<h3>Roll your own or hosted</h3>
<p>Confluence is written in Java and runs under every major OS. Since I have a bad feeling of running a Windows server online, I was very glad to see strong support for Linux (together with tons of documentation (managed by Confluence of course)). There is also a hosted option if one doesn&#8217;t care where the own data is stored. Confluence is commercial software. It is not free. But at 10$ for the 10 user license it is more than a steal. I guess that&#8217;s what Atlassian thought too since the money for the ten user license goes completely to charity&#8230;</p>
<h3>Made by developers for developers</h3>
<p>Atlassian consists of a bunch of cool guys (and gals) who first created a tool for themselves to manage their internal knowledge. Eating your own dog food is the best way to ensure a great product.</p>
<h3>It&#8217;s like driving a Jaguar</h3>
<p>For a system that targets the dry topic of knowledge management, Confluence packs quite a number of bells and whistles. Keyboard shortcuts that allow mouse free editing, drag &amp; drop attachments, dynamic content through macros, the WYSIWYG editor, a fine grained permission system are just the basics. This wiki was built for collaboration. There is a built-in blog, a twitter like &#8220;what are you doing&#8221; thingie, personal wiki spaces and one can build networks of people inside Confluence. Basically it is a complete intranet solution with a huge depth but a very light apperance. And since most features are optional, one can use whatever fits the purpose. But there is more. Pages can be rearranged via drag &amp; drop, content can be tagged and displayed accordingly, OpenSocial gadgets can be incorporated, inline display of pdf documents and so on. There is so much more really useful stuff about it but I will refrain from praising every feature because I don&#8217;t want to appear like a Atlassian sales person. Besides I am not affiliated with them.<br />
Here is the full feature list:</p>
<ul>
<li><a rel="nofollow" href="http://www.atlassian.com/software/confluence/full-features.jsp" target="_blank">http://www.atlassian.com/software/confluence/full-features.jsp</a></li>
</ul>
<p>Here is a short usage video showing some features (make sure to watch it in full screen):<br />
<p><a href="http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki/"><em>Click here to view the embedded video.</em></a></p></p>
<h3>Conclusion</h3>
<p>I hope I succeeded with my inception. There is a big potential for optimizing the workflow outside of Xcode that finally leads to an tangible advantage. The upfront overhead of setting things up pays big time after a short while. Knowledge is only valuable if you can make something useful out of it. The way knowledge is structured and stored is critical for the process of creatively combining and ultimately creating something new.</p>
<p>This concludes the actual post and I hope it was useful. <a href="http://spielhaus-ftw.com/blog/2011/01/because-youve-got-issues/" target="_self">Next time</a> I will take a look at iOS related issue tracking with Jira.</p>
]]></content:encoded>
			<wfw:commentRss>http://spielhaus-ftw.com/blog/2011/01/use-that-damn-wiki/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

