<?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>SteveStreeting.com &#187; Business</title>
	<atom:link href="http://www.stevestreeting.com/category/business/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stevestreeting.com</link>
	<description>Man bites Ogre</description>
	<lastBuildDate>Sat, 24 Dec 2011 13:08:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>On being acquired</title>
		<link>http://www.stevestreeting.com/2011/10/09/on-being-acquired/</link>
		<comments>http://www.stevestreeting.com/2011/10/09/on-being-acquired/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 12:44:53 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=3038</guid>
		<description><![CDATA[A lot of you will already know, but SourceTree, a Mac client for Git and Mercurial I created over the last 18 months, has just been acquired by Atlassian. There&#8217;s a press release, articles on TechCrunch and VentureBeat, and an official FAQ on the SourceTree site. But this is my personal blog, and I&#8217;ve had a few requests [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-3046" title="sourcetree_logo_black_small" src="http://www.stevestreeting.com/wp-content/uploads/2011/10/sourcetree_logo_black_small.png" alt="" width="300" height="84" />A lot of you will already know, but <a href="http://sourcetreeapp.com" target="_blank">SourceTree</a>, a Mac client for Git and Mercurial I created over the last 18 months, has just been acquired by <a href="http://www.atlassian.com" target="_blank">Atlassian</a>. There&#8217;s a <a href="http://blogs.atlassian.com/news/2011/10/atlassian-acquires-sourcetree-dvcs-client.html" target="_blank">press release</a>, articles on <a href="http://techcrunch.com/2011/10/06/atlassian-buys-mac-client-for-git-and-mercurial-sourcetree/" target="_blank">TechCrunch</a> and <a href="http://venturebeat.com/2011/10/06/sourcetree-acquisition/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+Venturebeat+(VentureBeat)">VentureBeat</a>, and an official <a href="http://www.sourcetreeapp.com/acquisition-faq/" target="_blank">FAQ on the SourceTree site</a>. But this is my personal blog, and I&#8217;ve had a few requests for a personal angle on this, so here you go.</p>
<p>I said in a <a href="http://www.stevestreeting.com/2011/08/17/the-folly-of-crystal-balls/" target="_blank">previous post</a> that in my experience, the best opportunities often come along when you&#8217;re not looking for them, and that was certainly the case here. I wasn&#8217;t even thinking about looking for acquisition opportunities for SourceTree &#8211; sure, the idea had crossed my mind as something I might want to consider eventually, but it certainly wasn&#8217;t an active line of thought this early in the product lifecycle. SourceTree had grown to become a viable business for me, and I was very much enjoying the process of just creating a software product that I used every day myself too.</p>
<p>So, when the Atlassian opportunity came up, I wasn&#8217;t at all prepared for it, and I had to make some decisions. I was enjoying being master of my own destiny, and was managing just fine &#8211; so my initial knee-jerk reaction was to be very cautious. However, the more I thought about it, and the more I learned about Atlassian, the more I realised what a huge opportunity I&#8217;d be turning down, both personally and for SourceTree, if I said no.</p>
<p>Any acquisition kicks off with a financial offer (don&#8217;t expect details, they won&#8217;t be forthcoming <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), but that&#8217;s far from the whole story. In my case I didn&#8217;t have any pressing need to sell, and I&#8217;ve learned from experience that being happy about what you do is extremely important. I also have a strong attachment to the products I create &#8211; that&#8217;s why I stayed with Ogre for 10 years and it was/is still a wrench to leave &#8211; and that&#8217;s the case with SourceTree too; not to mention that I&#8217;m a daily user of it myself. So if I was going to sell, it had to be to the right company who would look after it just as well, or better, than I did.</p>
<p>Luckily for me, I discovered that Atlassian was about as perfect a fit for SourceTree as I could have asked for. Atlassian lives and breathes developer tools &#8211; that&#8217;s their entire product focus, which in itself is a good start. They&#8217;re investing heavily in DVCS tools &#8211; hence the 2010 <a href="http://bitbucket.org">Bitbucket</a> acquisition and its <a href="http://blog.bitbucket.org/2011/10/03/bitbucket-now-rocks-git/">recent enhancement to handle Git as well as Mercurial</a> (which of course SourceTree does too) &#8211; again spot-on on the compatibility chart. I learned, particularly when I visited their HQ in Sydney, that everyone at Atlassian really &#8216;gets&#8217; developers (well, most of them <em>are</em> developers after all), and care a lot about giving them good products. Development tools permeate the entire company &#8211; the CEO is a regular user of SourceTree, and people in marketing understand when you talk about version control. Even though they&#8217;re quite a big company now, it retains a startup feel. Then there&#8217;s their <a href="http://www.atlassian.com/about/values.jsp">corporate values</a>, which are very much in evidence when you talk to people there &#8211; things like &#8220;no bullshit&#8221; and &#8220;don&#8217;t f**k the customer&#8221;. And it&#8217;s not just on the wall, it&#8217;s really how people in the company make decisions. These are the kind of people I can relate to, and definitely the kind of people who can add a lot to the future of SourceTree.</p>
<p>Another thing I found reassuring is that at no time was there any question that Atlassian would want to railroad developers into their own tools at the expense of others. Clearly Atlassian already owns Bitbucket, and SourceTree supports Bitbucket, GitHub and Kiln already. It was made abundantly clear to me that no-one at Atlassian took the view that restricting developer choice to favour Atlassian tools was a good idea. Their ideology is to make developer&#8217;s lives better by giving them choice, and of course they&#8217;re going to want to offer good Atlassian options in there, but if a developer wants to use an alternative, no-one is going to stop them.  The view I got from everyone was that giving developers a positive experience that reflects well on Atlassian, including giving them their own choice of integration, is far more valuable than artificially chaining them in. Obviously, I concur.</p>
<p>My final reason was that while I really, really enjoyed creating and supporting SourceTree myself, the workload is quite high, and was increasing. It&#8217;s not a continuous death-march, but the availability requirements are very high &#8211; since I was developer, webmaster, sales, customer support and everything else all rolled into one, taking a day off was basically impossible. Making sure the website was still up, and making sure customers got a quick response to support calls, was a 24/7 responsibility. After a while, that gets tiring, even just checking on things all the time means you never have &#8216;proper&#8217; downtime. A big advantage of joining Atlassian is that I get some extra backup. That&#8217;s good for my health &amp; mental wellbeing, and I&#8217;m sure that will be good for SourceTree too long-term. I really didn&#8217;t want to start resenting SourceTree for preventing me having a proper holiday occasionally <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>So based on all these factors, I decided that the future for both myself and SourceTree would be better within Atlassian than continuing alone. I learned a lot along the way to this acquisition &#8211; dotting all the i&#8217;s and crossing all the t&#8217;s turned out to be more time consuming and stressful than I expected, so I wouldn&#8217;t say it&#8217;s a process for the faint hearted, but if you&#8217;re as lucky as I was to be approached by the right company, it can lead to a really great outcome.</p>
<p>I&#8217;m still fully committed to developing SourceTree, like I was before, but now it has a more robust support structure around it. Taking things to the next level, both in terms of user base and features, is so much more practical now within Atlassian. I&#8217;m very confident that they&#8217;re the right company to take SourceTree forward &#8211; our thinking is very similar, I respect their values a great deal, and the people are great. My decision was a lot easier than it might have otherwise been because of this!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2011/10/09/on-being-acquired/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Why &#8216;software engineering&#8217; is a misnomer</title>
		<link>http://www.stevestreeting.com/2011/06/16/why-software-engineering-is-a-misnomer/</link>
		<comments>http://www.stevestreeting.com/2011/06/16/why-software-engineering-is-a-misnomer/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 18:07:36 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2970</guid>
		<description><![CDATA[These days I&#8217;m a free agent, and I&#8217;m lucky enough to be able to choose what projects I work on, but in a past life, I was what I suppose is properly referred to as an &#8216;enterprise software developer&#8217;. Yes, I once functioned in an environment where terms like &#8216;mission-critical&#8217;, &#8216;project life-cycle&#8217;, &#8216;stakeholders&#8217; and &#8216;change [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-3000" title="bridge" src="http://www.stevestreeting.com/wp-content/uploads/2011/06/bridge.jpg" alt="" width="150" height="113" align="right" />These days I&#8217;m a free agent, and I&#8217;m lucky enough to be able to choose what projects I work on, but in a past life, I was what I suppose is properly referred to as an &#8216;enterprise software developer&#8217;. Yes, I once functioned in an environment where terms like &#8216;mission-critical&#8217;, &#8216;project life-cycle&#8217;, &#8216;stakeholders&#8217; and &#8216;change management&#8217; came up quite a lot. I&#8217;m grateful for the experience I gained over 12 years of doing that, but I&#8217;m also very glad to be free of it now.</p>
<p>One term which was bandied around a lot in this environment was &#8216;<strong>software engineering</strong>&#8216;. The implication of this term, and the expectation of many people using it, is that designing and creating software is very much like physical engineering disciplines, such as erecting a bridge or building a block of flats. When a software project starts to go off the rails, and fingers are starting to be pointed, a common question is why large physical engineering projects can come in on time an budget, when most software projects beyond a certain size don&#8217;t? Surely if the people who create software claim to be &#8216;engineers&#8217;, they should be able to adhere to the same standards of other engineering professions?</p>
<p>At face value it sounds like a fair argument, and I&#8217;ll be the first one to admit that software engineers are very often not as rigorous as others bearing the title. But there&#8217;s a good reason &#8211; the belief that software projects are akin to building bridges is completely misplaced, and it is a belief which too often leads people to think that software projects should be run using techniques such as fixed prices, up-front design, and waterfall life-cycles. This is despite decades of case studies indicating that such techniques rarely work, and are more often a collective delusion adopted because the reality &#8211; that you&#8217;re never going to be able to predict a large software project accurately up-front &#8211; is too terrifying to be contemplated. The term &#8216;software engineering&#8217;, while indicating some of the responsibilities of such a person, is an incomplete definition of what building software actually entails, and just reinforces these misconceptions.</p>
<p>So, why is making software so different to building a bridge?</p>
<ol>
<li><strong>Software is intangible</strong>.<br />
You can see and touch a bridge, it has a physical presence you can measure and its purpose is absolutely obvious to any observer, as are its success and failure conditions (getting people across a gap without falling down). Even though there are parts of the bridge the user will never see, their purpose can be easily unambiguously defined &#8211; carrying utility cables/pipes, providing maintenance access, etc. Software is intangible, and even the part that is seen by those defining its purpose is often hard to evaluate until it can be seen and used directly, never mind the internal working processes. Evaluating and defining software ahead of time is like trying to describe a dream seen through a keyhole &#8211; incomplete and everyone has a slightly different impression, and regardless of how much you try to write it down, you can&#8217;t capture or communicate its essence completely to others, or guarantee that they interpreted it the same way.<br />
People are just naturally very bad at defining and evaluating intangible things. There&#8217;s no point pretending they can with 300-page requirements documents, you&#8217;re just wasting everyone&#8217;s time &#8211; accept that people won&#8217;t know what they like until they can play with it &#8211; iterate!</li>
<li><strong>Interaction complexity</strong><br />
There&#8217;s only a small number of ways to use a bridge, and they&#8217;re each quite straight forward. Yes, there&#8217;s much complexity to the structure of the bridge itself, but that really doesn&#8217;t matter to a person driving or walking across it &#8211; that doesn&#8217;t need input or feedback from people except for whether they like the look of it.<br />
Software is basically defined by complex interaction, which is often context- and data-sensitive. The number of variations mean that even if every one is bug free (yeah, right), there&#8217;s the question of whether it&#8217;s solving the correct problem, which is a function of people and their interpretation / opinion. While building projects can be complex, those complexities are most often a function of the engineering challenge, whilst most complexity in a software project is a function of the involvement of people, which are far more difficult to pin down.</li>
<li><strong>Change is a constant factor<br />
</strong>Change happens everywhere of course &#8211; maybe the bridge builder discovers that the ground isn&#8217;t as firm as they thought, or suddenly someone wants to make an extra deck available for trains. Big disruption, and an effect on time and budget &#8211; all understandable. The problem when it comes to software is that the perception of change is very different. If suddenly you have to sink massive extra foundations or double the amount of steel you need to use, people understand the magnitude of that intuitively and accept the effect on the schedule. Changes in a software project tend to be perceived as &#8216;just a little tweak&#8217; by those requesting it, which tends to mean tolerance for schedule impact is lower, and indeed the potential for interaction between changes in unexpected ways is often overlooked. Now, I&#8217;m not for a second advocating that change should not be allowed, but often the mechanisms that have been established for managing a project &#8211; up-front estimation, fixed feature sets and so on &#8211; prevent the efficient integration of change, or at least obscure its impact to a point where things become critical. It&#8217;s important to appreciate that change is more common and expected in software projects, by nature of the issues raised in the previous points, and therefore setting your expectations based on a discipline where change is less common is not a smart move.</li>
<li><strong>Lack of hard limits<br />
</strong>Building  a bridge involves respecting some hard, unchallengeable limits. As a wise man once said &#8220;You canna change the laws of physics, Cap&#8217;n!&#8221;. When you&#8217;re building software, however, there are very rarely any unbreakable limits, and even the soft limits that there are tend to be invalidated very regularly as new technology comes on stream. No-one can realistically stand up and say &#8216;this is impossible&#8217; when faced with a request, because almost nothing is impossible. Hard limits in physical projects make all stakeholders &#8216;get real&#8217; &#8211; you can&#8217;t use more land than you have, you can&#8217;t build a skyscraper out of paper, there are non-negotiable rules for safe load-bearing and so on. Barring some really crazy and ground-breaking structures (which BTW, rarely come in on time &amp; budget), these limits ground everyone involved in the project to realistic expectations. In a software project, reining in those feature requests, or those ideas that the implementors have for a new tech they could use, is much more abstract affair, and everything is up for debate.</li>
</ol>
<p>All these things put together mean that if you think you can use the same kinds of techniques to run a software project as you would use for a building project, you&#8217;re kidding yourself. They&#8217;re so very different in fundamental ways, it&#8217;s like trying to catch a shark with a shrimping net (because it&#8217;s just a fish, right?).</p>
<p>So please, stop with these delusions:</p>
<ol>
<li>that estimating the cost of any non-trivial software project (that isn&#8217;t just a carbon copy of something else) is any more sophisticated than mildly informed guesswork.</li>
<li>that it&#8217;s reasonable to think that a fixed-price can be realistic for any software project longer than a couple of weeks</li>
<li>that &#8216;change control&#8217; is the about exceptions, rather than the norm</li>
</ol>
<p>Of course, agile approaches attack these particular delusions rather well. But try to get those adopted in very large organisations where the &#8216;software is like a bridge&#8217; mentality still thrives <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2011/06/16/why-software-engineering-is-a-misnomer/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Sales work &#8211; who knew?</title>
		<link>http://www.stevestreeting.com/2011/05/26/sales-work-who-knew/</link>
		<comments>http://www.stevestreeting.com/2011/05/26/sales-work-who-knew/#comments</comments>
		<pubDate>Thu, 26 May 2011 17:00:10 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[sourcetree]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2987</guid>
		<description><![CDATA[The SourceTree 1.2 launch sale is now over, and I thought I&#8217;d post some indicative results. I went for a fairly large discount of 40% over a full week, and some people I know commented to me along the lines of &#8216;what about all that money you&#8217;ll be losing on each sale?&#8217;. I decided on [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-2988 alignright" style="margin-left: 5px; margin-right: 5px; border: 1px solid black;" title="SourceTreeSaleInfographic" src="http://www.stevestreeting.com/wp-content/uploads/2011/05/SourceTreeSaleInfographic.png" alt="" width="205" height="573" align="right" /></p>
<p>The <a href="http://www.sourcetreeapp.com" target="_blank">SourceTree</a> 1.2 launch sale is now over, and I thought I&#8217;d post some indicative results. I went for a fairly large discount of 40% over a full week, and some people I know commented to me along the lines of &#8216;what about all that money you&#8217;ll be losing on each sale?&#8217;.</p>
<p>I decided on a large discount because SourceTree 1.2 was a major update that I was actually quite proud of, so I wanted to get it in front of as many people as I could. I was also aware that there might be people who tried SourceTree before, but who decided it wasn&#8217;t for them, and I wanted to encourage these people to try it again, since I&#8217;d made pretty big strides in this version on the overall appearance of the app and the smoothness of the workflow, in addition to all the normal new features. The way to do this of course is to make it worth their while to do so, by offering a discount that really grabs their attention. A 20% discount probably wasn&#8217;t going to do that effectively, but 40%? That&#8217;s almost half price! It&#8217;s this sort of gut reaction I was looking to promote.</p>
<p>The other thing I was acutely aware of is that you have to be careful not to have too many sales. If you go on sale too often, people are going to start assuming that there&#8217;s a sale coming almost any time of year, so will avoid buying unless there&#8217;s a sale on. In my opinion, sales need to be infrequent, but big and attention-grabbing when they do happen.</p>
<p>So actually my goal for the sale wasn&#8217;t necessarily to make more money than usual, but to get more eyeballs on the new version, and more active users, which I hoped would then translate to more awareness and more sales further down the line, because satisfied customers are the best marketing resources you can ever have. Solid reasoning, but as it turned out, things went <em>much</em> better than I could have hoped, so in the end I actually achieved both at once. <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So for those people who were wondering whether having a sale is worth it, my results are on the right, in fashionable infographic form <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>As I said above, what I was really looking for was to reach more people, and I certainly did that &#8211; with a 793% increase in units sold in the sale week, that&#8217;s about 2 months&#8217; worth of new users in one week. And as you can see, in value terms it also ended up a considerable net positive even with the 40% discount &#8211; now of course I&#8217;m expecting sales to be more sluggish immediately following since the sale will have caused people to bring forward their purchase, but I&#8217;m pretty confident it&#8217;ll remain positive even with that compensating effect.</p>
<p>So why am I writing about this? Am I doing it to strut around flashing my &#8216;wad&#8217; at people? No, and if I&#8217;d included the actual $ values you wouldn&#8217;t think that anyway &#8211; they&#8217;re fantastic news to me but they&#8217;re in the &#8216;I can keep doing this sort of thing for a living!&#8217; range rather than the &#8216;I can buy a Ferrari tomorrow!&#8217; range <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;m writing it to hopefully provide a data point to other developers who, like me, are still learning about selling their wares online, and are wondering about what kind of affect a sale might have. I don&#8217;t know whether it will be exactly the same for you, and there are no doubt a number of variables involved, but this was my experience, and I&#8217;ve been very happy with it. Maybe it will help someone else pondering a similar decision&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2011/05/26/sales-work-who-knew/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SourceTree, your Mac Git &amp; Mercurial GUI, is 40% off this week</title>
		<link>http://www.stevestreeting.com/2011/05/19/sourcetree-your-mac-git-mercurial-gui-is-40-off-this-week/</link>
		<comments>http://www.stevestreeting.com/2011/05/19/sourcetree-your-mac-git-mercurial-gui-is-40-off-this-week/#comments</comments>
		<pubDate>Thu, 19 May 2011 17:13:40 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[1.2]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[sourcetree]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2982</guid>
		<description><![CDATA[Since I&#8217;m trying to spread this news as far and wide as I can, I might as well say it here too Since the approval light just went green on the Mac App Store, I&#8217;m happy to announce the launch of SourceTree 1.2! In celebration, I&#8217;m having a crazy-bonkers 40% off sale just for one week, so [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-2846" title="SourceTree icon" src="http://www.stevestreeting.com/wp-content/uploads/2010/10/icon.png" alt="" width="154" height="154" /></p>
<p>Since I&#8217;m trying to spread this news as far and wide as I can, I might as well say it here too <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Since the approval light just went green on the Mac App Store, I&#8217;m happy to announce the launch of <a href="http://www.sourcetreeapp.com" target="_blank">SourceTree</a> 1.2! In celebration, I&#8217;m having a crazy-bonkers <strong>40% off sale</strong> just for one week, so get it while it&#8217;s hot!</p>
<p>There&#8217;s <em>loads</em> of things that are new or improved in this release, but here are the headlines:</p>
<ul>
<li><strong>Support for GitHub, Bitbucket and Kiln APIs</strong>, so you can see your hosted projects inside SourceTree, clone from them, link them as remotes, and even create new projects if you want.</li>
<li><strong>Streamlined and polished user interface</strong> &#8211; I specifically dedicated a lot of extra time in this release on making SourceTree easier on the eyes, and to streamline the layout and workflows better.</li>
<li><strong>Performance -</strong> I thought SourceTree was already pretty fast, but I managed to find quite a few more places to trim the fat, and also parallelised more activities to make things feel more responsive. Everything feels snappier, and complex repositories benefit especially.</li>
<li><strong>New Sidebar </strong>- I had previously resisted the need to emulate iTunes here, but once I had implemented it, I had to admit that I was wrong, and in fact this worked great. Provides lots of shortcuts to navigating and operating on branches, tags and remotes.</li>
<li><strong>Stashing and Shelving </strong>- oft requested, now delivered <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>Customise Git and Mercurial</strong> &#8211; you can now use your system Git / Mercurial instead of SourceTree&#8217;s standard versions (which have been updated), and enable additional Mercurial extensions (at your own risk).</li>
<li><strong>French and Japanese translations</strong> &#8211; local versions for our friends in far away (and not so far away) places, likely to be more to come in future. Big thanks to tuan_kuranes and mzch for their help with these two!</li>
<li><strong>And the rest</strong> &#8211; just lots of little refinements too numerous to list. Examples: copying text from the diff panel, &#8216;git commit &#8211;amend&#8217; support, close branches in Mercurial, switch tracking branches in Git</li>
</ul>
<p>It&#8217;s quite a big update &#8211; one user remarked to me that they&#8217;d normally expect developers to charge an upgrade fee for something like this, but like all other SourceTree updates this is free to existing customers. I have no plans for any paid upgrades for some time yet, I just want to keep making SourceTree better, and hope that more people come onboard. Maybe it&#8217;s my open source background, but I like to keep iterating and continually improving things, based on what I want to do (I&#8217;m a daily SourceTree user myself), and on what people tell me they&#8217;d like to see. SourceTree 1.2 certainly won&#8217;t be the last update by far <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>When I look back 6 months at SourceTree 1.0, it&#8217;s incredible how much better it is as a product now, both visually and functionally. I&#8217;ve learned a ton of things while I&#8217;ve been developing it, and I continue to learn more all the time, and I can&#8217;t think of anything I&#8217;d rather be doing right now. Also, my wife Marie re-designed many of the icons for 1.2 (and I think you&#8217;ll agree they&#8217;re a lot nicer) &#8211; that was fun to do as a joint project, even if I am a picky &#8216;customer&#8217; <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I hope you enjoy the new release!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2011/05/19/sourcetree-your-mac-git-mercurial-gui-is-40-off-this-week/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to make decisions</title>
		<link>http://www.stevestreeting.com/2011/04/21/how-to-make-decisions/</link>
		<comments>http://www.stevestreeting.com/2011/04/21/how-to-make-decisions/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 17:19:53 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2954</guid>
		<description><![CDATA[Decisions are hard. Well ok, not all decisions are hard &#8211; given the choice of whether or not to receive a swift kick to the gentleman&#8217;s area, most of us would politely decline without having to give it much thought. So let&#8217;s rephrase &#8211; making an important decision for which there is no clear optimal [...]]]></description>
			<content:encoded><![CDATA[<p>Decisions are hard. Well ok, not all decisions are hard &#8211; given the choice of whether or not to receive a swift kick to the gentleman&#8217;s area, most of us would politely decline without having to give it much thought. So let&#8217;s rephrase &#8211; making an important decision for which there is no clear optimal answer is hard. And yet, making these kinds of decisions, in a theoretically unbounded possibility space with uncertain and/or unknown variables, is the one thing we humans still do considerably better than machines, and it forms the basis of pretty much every important event in our lives &#8211; who your partner is, what you do for a living, what projects you work on, what your hobbies are, where you live, and so on.</p>
<p>The thing is, in the developed world in particular, our options are almost limitless &#8211; in practice we have very few real constraints on what we choose to to, barring a few fairly sensible laws. Barring a small number of hard factors, such as poverty, discrimination, and oppression (which should be fought wherever they are found), the only limits to most people&#8217;s decision making are those which they impose on themselves, resulting in a large number of options. This is a good thing, but it does make decision making complicated. How on earth do you sift through all those alternatives?</p>
<p><strong>Opportunity Cost</strong></p>
<p>Understanding the concept of opportunity cost is vital to any decision making process. It&#8217;s just as important to consider what you <em>won&#8217;t</em> be doing as a result of a choice, as what you will be doing. Picking contract project A might mean you don&#8217;t have time for personal project B, taking that corporate job might mean you can&#8217;t dedicate time to developing that business idea you have, and so on. For a while, I tried to defy the reality of opportunity cost by &#8216;cheating&#8217; &#8211; I would do multiple things at once, and just put in very long hours. I worked on projects in my spare time while being employed, I would multi-task between many projects (contract, open-source and personal). That works to a degree, but it&#8217;s important to realise two things:</p>
<ol>
<li><strong>There&#8217;s a limit on how long you can burn the candle at both ends.</strong><br />
I speak from experience here, burn-out and work/stress related health problems are very real, whatever you might think as a young, healthy, workaholic programmer. You can work 12-16 hour days for a while, but eventually you&#8217;re going to have to stop, or something will <em>make</em> you stop. If you need to do it to bootstrap, fine, but always remember the clock is ticking &#8211; plan for that.</li>
<li><strong>The more you divide your time, the less efficient / productive you will become.</strong><br />
If you spend 10 hours a week on each of 4 projects, in 4 weeks you will have done a weeks worth of work on each, right? Wrong. In fact, you&#8217;d probably be lucky to get half that. The more you divide yourself, the less you&#8217;re going to get done on each thing, just because of a lack of focus and a need to keep context-switching.</li>
</ol>
<p>So, my message here is that you can&#8217;t cheat opportunity cost &#8211; things conflict, and it&#8217;s best to not to pretend that they don&#8217;t. This should not only inform your decision process, but it should also bring it into sharper focus &#8211; accepting that you can&#8217;t have your cake and eat it means you&#8217;re less likely to let yourself wiggle out of making an actual either/or decision when really it&#8217;s there.</p>
<p><strong>Evaluating the options</strong></p>
<p>The logical person&#8217;s approach to evaluating their options tends be be analytical, gathering as much information about each option in front of them, and quantifying each of the pros and cons, risks and opportunities, and so on. This is fine, as a starting point, and teases out a lot of fundamental &#8216;hard&#8217; information that you need to have available. But in my experience the best you can hope for from this kind of process is that you will eliminate the outliers; those cases which will never work, or which you definitely don&#8217;t want to do (although it&#8217;s of course worth making sure you understand your own assumptions and biases here), leaving you with a pool of &#8216;maybe&#8217; options. It  won&#8217;t, in any non-trivial decision space, provide you with an absolute dead-cert answer; or if it does, you probably haven&#8217;t considered enough alternatives <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The simple reason for this is that for any significant decision there are bound to be many factors and variables which are unknown, poorly quantifiable, subjective, or incomparable with each other. There won&#8217;t be some magical formula which you can plug all the variables into and come out with a single best answer, nor will the factors usually be clear enough even for you to rank them in any sort of objective order &#8211; or if you can establish a discrete ranking, it probably just means you&#8217;ve identified some more to discard, or you&#8217;re kidding yourself.</p>
<p><strong>Making the decision</strong></p>
<p>OK, so assuming you&#8217;re now left with a bunch of &#8216;maybe&#8217; options, all of which have many uncertainties and incomparable pros and cons. How do you make that decision? You&#8217;re probably going to think this is a cop-out, but here&#8217;s my personal answer; sleep on it, and then <em>follow your gut</em>. Seriously, forget the analysis, and turn off your brain; it&#8217;s already contributed as much as it&#8217;s capable of doing in the previous step. Hard as it may be, particularly if you&#8217;re a naturally logical, analytical person, there are some things that simply cannot be analysed and quantified. Probably any of the remaining options in your list are good (or if this a case of choosing the lesser of N evils, equally bad) &#8211; so going with the one that you have an emotional attachment with is usually the right one, because that&#8217;s the one you&#8217;ll fight hardest for when things get tough. Which they probably will at some point, right? Never underestimate the power of emotional attachment and enthusiasm to the success of any endeavour when things get difficult. You can&#8217;t engineer this kind of affinity, and your gut will tell you when it&#8217;s there, more reliably than any checklist can ever hope to do.</p>
<p><strong>Living with it</strong></p>
<p>While it&#8217;s important to be nimble in many respects (in business, you can&#8217;t sit still and periodic course corrections are essential), you do need to give any decision a fighting chance to develop before you change tack. Try not to second-guess yourself too much in the early stages &#8211; it&#8217;s hard, and this is something I struggle with all the time, but it&#8217;s ultimately counter-productive in the shorter term. By all means it&#8217;s important to reflect periodically and learn from what worked and what didn&#8217;t, using that experience to influence your future decisions, but equally for your own sanity you have to be able to drive a metaphorical stake into the ground representing a decision you make, and only look forward from that point, for long enough to see what happens, for better or worse. Glancing over your shoulder from the outset wondering if you made the right decision is never helpful and is likely to undermine what you&#8217;re doing.</p>
<p><strong>Conclusion</strong></p>
<p>So, that&#8217;s my 2 cents on the decision making process. Thanks to <a href="http://twitter.com/#!/GeekAndDad" target="_blank">@GeekAndDad</a> for triggering me to finish the half-written post I had on this subject <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2011/04/21/how-to-make-decisions/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Mac user base by country: my figures so far</title>
		<link>http://www.stevestreeting.com/2011/04/07/mac-user-base-by-country-my-figures-so-far/</link>
		<comments>http://www.stevestreeting.com/2011/04/07/mac-user-base-by-country-my-figures-so-far/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 12:09:29 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[sourcetree]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2935</guid>
		<description><![CDATA[As many of you probably know, almost a year ago now I decided to take the plunge and move my primary development activities to the Mac. I taught myself Objective-C, got properly to grips with Cocoa at last, and started a new Mac OS X-specific project which would eventually become SourceTree, learning a ton along [...]]]></description>
			<content:encoded><![CDATA[<p>As many of you probably know, <a href="http://www.stevestreeting.com/2010/05/16/takinga-bite-of-the-apple/">almost a year ago now</a> I decided to take the plunge and move my primary development activities to the Mac. I taught myself Objective-C, got properly to grips with Cocoa at last, and started a new Mac OS X-specific project which would eventually become <a href="http://www.sourcetreeapp.com" target="_blank">SourceTree</a>, learning a ton along the way (a process which is by no means complete!).</p>
<p>Happily, things have turned out very well &#8211; SourceTree continues to sell, reassuring me that there&#8217;s enough interest out there for me to keep expanding and improving it (I&#8217;m looking forward to getting the next major release in people&#8217;s hands soon), and I&#8217;ve also been getting some Mac/<a href="http://www.ogre3d.org" target="_blank">Ogre</a>-based contract work which I&#8217;ve enjoyed a great deal. In short, my Macbook Pro and I are now pretty inseparable, Windows 7 is powered off 99% of the time, and I saved hundreds of pounds by not upgrading to Visual Studio 2010 <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Out of interest, I thought I&#8217;d share some of my <a href="http://www.sourcetreeapp.com" target="_blank">SourceTree</a> sales information, in terms of the country distribution. Mac use is typically associated primarily with the USA, and while that&#8217;s certainly reflected in my absolute numbers, there&#8217;s some quite interesting figures revealed when you take into account population size. SourceTree is aimed at developers of course, so all numbers reflect this audience alone (and of course those that chose to buy it) but in practice I suspect that the proportions of developers to non-developers is fairly uniform in most developed countries.</p>
<p>So, firstly the absolute distribution:</p>
<p><img class="alignnone size-full wp-image-2938" title="SourceTree_Country_Absolute" src="http://www.stevestreeting.com/wp-content/uploads/2011/04/SourceTree_Country_Absolute.png" alt="" width="611" height="400" /></p>
<p>No surprises there, the USA is the single largest source, followed by Germany and the UK (who are constantly scrapping over second place!). To me though, Switzerland stuck out as the most interesting, because it&#8217;s up there in 4th place yet has a relatively small population (under 8m). So I wondered &#8211; what would the chart look like if I scaled it by the population size? Here&#8217;s the result:</p>
<p><img class="alignnone size-full wp-image-2941" title="SourceTree_Country_PerCapita2" src="http://www.stevestreeting.com/wp-content/uploads/2011/04/SourceTree_Country_PerCapita2.png" alt="" width="611" height="400" /></p>
<p>And there you go &#8211; as expected Switzerland jumps right to the top, and to my surprise Luxembourg and Denmark are up there too, beating the UK which I expected to come in second. Quite a lot of European countries are punching above their weight in per-capita Mac development, if SourceTree sales are any indication. In fact, on a per-capita basis, the USA is only just sneaking into the top 10, despite it being by far my best overall customer in sheer sales volume.</p>
<p>I&#8217;m aware that scaling by population isn&#8217;t all that scientific, since it is sensitive to the proportion of non-developers (and even non-computer users), but as I say, I think in developed countries at least, the comparisons are reasonably valid.</p>
<p>So the perception that Mac development is more popular in the USA than elsewhere may be inaccurate, based on my numbers at least (which of course are not massive in the grand scheme of things, but still a statistically relevant sample I think). Sure, simply because of the sheer population size of the USA it&#8217;s bound to dominate anyone&#8217;s sales numbers, but if you asked the question &#8216;of 1000 randomly selected developers in a country, what percentage are using a Mac?&#8217;, the result may not be skewed in the way you might expect. It was surprising to me, anyway.</p>
<p>I wonder if anyone else who has been doing this for longer has had similar results?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2011/04/07/mac-user-base-by-country-my-figures-so-far/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Introducing: SourceTree</title>
		<link>http://www.stevestreeting.com/2010/10/26/introducing-sourcetree/</link>
		<comments>http://www.stevestreeting.com/2010/10/26/introducing-sourcetree/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 16:24:20 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[DVCS]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[sourcetree]]></category>
		<category><![CDATA[vcs]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2845</guid>
		<description><![CDATA[I&#8217;m pleased to announce that I&#8217;m finally ready to make my first fully-fledged commercial Mac OS X application available to the world! SourceTree is a user-friendly Mac OS X front-end for Mercurial and Git, the two most popular distributed version control systems used today. The goal was to create a single tool which could deal [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sourcetreeapp.com" target="_blank"><img class="alignright size-thumbnail wp-image-2846" title="icon" src="http://www.stevestreeting.com/wp-content/uploads/2010/10/icon-150x150.png" alt="" width="150" height="150" align="right" /></a>I&#8217;m pleased to announce that I&#8217;m finally ready to make my first fully-fledged commercial Mac OS X application available to the world!</p>
<p><strong><a href="http://www.sourcetreeapp.com" target="_blank">SourceTree</a></strong> is a user-friendly Mac OS X front-end for <a href="http://mercurial.selenic.com/" target="_blank">Mercurial</a> and <a href="http://git-scm.com/" target="_blank">Git</a>, the two most popular distributed version control systems used today. The goal was to create a single tool which could deal with both systems efficiently, and to give a developer quick and intuitive access to the things (s)he needs to just get on with building software.</p>
<p>I thought I&#8217;d answer a few background questions on this that I get asked on occasion:</p>
<p><strong>Why Mercurial AND Git?</strong></p>
<p>Other apps tend to concentrate on just one version control system, so why am I supporting two? Well, as a developer I&#8217;m regularly coming across projects from both sides of the fence, and in practice I find I need to use both fairly regularly. I personally chose Mercurial for my own projects (and discussed why <a href="http://www.stevestreeting.com/2009/11/06/dvcs-score-card/">here</a>), but I still use Git when dealing with other projects, and spend a fair amount of time hopping between the two. It struck me that even though they have their differences, they are both based on the same <a href="http://en.wikipedia.org/wiki/Distributed_Version_Control_System" target="_blank">distributed principles</a>, so having to use two separate tools was just unnecessary. I wanted a single tool which provided a common interface where that made sense, while still exposing the things they do differently where that was useful too. <a href="http://www.sourcetreeapp.com" target="_blank">SourceTree 1.0</a> is my first attempt at that.</p>
<p><strong>Why only Mac OS X?</strong></p>
<p>There were actually multiple reasons for this choice:</p>
<ol>
<li>I wanted to learn Objective-C and Cocoa on a real project</li>
<li>I know from experience that designing for multiple platforms can be a distraction, with more time spent on compatibility issues, and less on functionality &#8211; and that&#8217;s before you even consider the compromises  you have to make, particularly on UI conventions which are far from uniform across platforms. I&#8217;ve been a multi-platform developer for more than 10 years, and for a change I just wanted to focus on the end user results and nothing else. I&#8217;m aware that schedules slip very easily when you overcomplicate, and I&#8217;m already supporting multiple DVCS systems (something I consider to be an important feature point), so I deliberately chose to keep this element simple.</li>
<li>Mac OS X has become my own platform of choice for most things now. The combination of stability, user-friendliness, Unix underpinnings and well designed hardware match my current needs perfectly. I&#8217;m done with the &#8216;some assembly required&#8217; PCs that I loved tinkering with over the past 15 years</li>
</ol>
<p><strong>What about Subversion?</strong></p>
<p>A few people have asked me if I plan to add Subversion support too. I actually did intend to originally, until I realised how much time it was going to take to just do a decent job on Mercurial and Git. Within the time constraints, I focussed on the subject areas that I felt I could contribute most to &#8211; there are already quite a few Subversion tools out there for Mac OS X, but Mercurial and Git are much less well served, so that&#8217;s where I focussed my efforts.</p>
<p>I still have Subversion support tentatively on my work plan, but it&#8217;s not top of the list. I think it&#8217;s better to do your most important features well before diversifying. Plus, there are problems with Subversion &#8211; it&#8217;s very, very slow compared to Mercurial and Git, so to match the performance in SourceTree of things like the interactive searches and dynamic refreshing / log population I&#8217;d probably have to do a ton of extra caching just so the user wasn&#8217;t sat tapping their fingers.</p>
<p><strong>Edit:</strong> I made my decision on this: I don&#8217;t plan to support local Subversion, but to support operating with Subversion servers with Mercurial and Git locally via hgsvn and git-svn.</p>
<p><strong>Why didn&#8217;t you make it open source?</strong></p>
<p>Sorry folks, while I love contributing to open source (I&#8217;ve done a bit on SourceTree too, sending a patch back to BWToolkit), making it work as a business is very hard indeed. I half-killed myself trying to combine being an open source project leader and doing other commercial activities at the same time, so now I&#8217;m trying a more traditional approach. One thing I learned in the last few years is that there are some sectors &amp; application types where being an open source maintainer is very compatible with also running a business based on that project, and there are others where you can really only do one or the other simultaneously without flaming out. Sucks, but there it is <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>What&#8217;s Next?</strong></p>
<p>I have a <a href="http://www.sourcetreeapp.com/roadmap/" target="_blank">public, official roadmap</a> for SourceTree and encourage users to suggest things they think should be on there, via the <a href="http://www.sourcetreeapp.com/support/" target="_blank">support system</a>. I learned from running an open source project for 10 years that being open about your plans can be a big benefit &#8211; users like to know where things are likely to be going, and often have better ideas than the developer on what could do with a bit more spit and polish. They can also tell you what&#8217;s important to them, which is crucial for prioritising &#8211; as developers we tend to get carried away with things we want to work on, but in the end, it&#8217;s scratching the customer&#8217;s itch that matters most.</p>
<p>And while I&#8217;m really quite proud of SourceTree 1.0, there are plenty of features I&#8217;d like to continue to add, and definitely more room for some totally unnecessary beautification which I didn&#8217;t have time for in the first release. Hey, this <em>is</em> OS X <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>SourceTree is available now on a 21-day trial license. <a href="http://www.sourcetreeapp.com" target="_blank">Go get it already</a> <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2010/10/26/introducing-sourcetree/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>&#8220;Maturing&#8221; download games market starts to show retail-like characteristics</title>
		<link>http://www.stevestreeting.com/2010/01/25/maturing-download-games-market-starts-to-show-retail-like-characteristics/</link>
		<comments>http://www.stevestreeting.com/2010/01/25/maturing-download-games-market-starts-to-show-retail-like-characteristics/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 13:15:49 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[psn]]></category>
		<category><![CDATA[retail]]></category>
		<category><![CDATA[XBLA]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2530</guid>
		<description><![CDATA[Watching the ebbs and flows of the game industry is simultaneously inspiring and outright depressing. As is usual for this stage in a console generation, we&#8217;re at the &#8216;consolidation point&#8217; (pun unintentional)  - where the tech is pretty well understood, even if it is starting to look a bit dated compared to even a modest [...]]]></description>
			<content:encoded><![CDATA[<p>Watching the ebbs and flows of the game industry is simultaneously inspiring and outright depressing. As is usual for this stage in a console generation, we&#8217;re at the &#8216;consolidation point&#8217; (pun unintentional)  - where the tech is pretty well understood, even if it is starting to look a bit dated compared to even a modest PC (how much hassle AA is on this console generation is a case in point), but that at least developers can crank out content in a more efficient fashion. This has led to some darned good games.</p>
<p>What&#8217;s depressing is what&#8217;s happening to the &#8216;official&#8217; download channels &#8211; which were a bastion of independent content a year or two ago, and now are turning more and more into just another channel for the same mainstream developers &amp; publishers we see at retail. XBLA has been the trend maker here, it was first to really embrace and promote downloadable games to a &#8216;core&#8217; market, and has done extremely well. Now, however, we have a limit of 2 games per week, and all too often those 2 slots are being assigned to either major developers (<a href="http://www.xbox.com/games/s/shadowcomplexxbla/" target="_blank">Shadow Complex</a>, <a href="http://www.xbox.com/games/a/alienbreedevoxbla/" target="_blank">Alien Breed Evo</a>) or shovelware ports with brand recognition but little quality or innovation (I&#8217;m looking at<a href="http://www.taito.com/" target="_blank"> Taito </a>in particular: Bubble Bobble and Qix remakes were <em>incredibly</em> lazy, uninspiring affairs). It&#8217;s very clear that the team behind choosing which developers are published in XBLA has changed in recent years, and not for the better from my perspective. That&#8217;s not to say there&#8217;s anything wrong with Shadow Complex and Alien Breed Evo, but if they&#8217;re using up the slots it means that publishing route is rapidly being cut off for small developers who are big on ideas and talent, but short on funds and established brands. Alien Breed Evo&#8217;s budget was supposedly around $2.5m for goodness sakes &#8211; although it&#8217;s looking like that&#8217;s going to backfire anyway since sales have been poor. Trials HD, &#8216;Splosion Man and Peggle are pretty much the only games from small studios with modest budgets that I can think of that made a splash on XBLA in 2009 &#8211; the rest just read like a whos who of regular retail channels. Indeed many developers who have had games published on XBLA are no longer welcome there, such as <a href="http://pompomgames.com/" target="_blank">PomPom</a> (<a href="http://www.eurogamer.net/articles/pompom-games-michael-michael-interview?page=2" target="_blank">interview</a>) and <a href="http://www.llamasoft.co.uk/frontpage.php" target="_blank">Llamasoft</a>. Clearly the message is &#8216;win big, or get your coat&#8217;. This isn&#8217;t the right environment for an indie scene to flourish, where experimentation and mistakes are part of the process.</p>
<p>Yes, I know there&#8217;s XBL &#8216;Indie Games&#8217; but that&#8217;s the absolute opposite end of the spectrum, hobbled with a niche development environment that&#8217;s incompatible with the most established dev libraries and every other platform a developer might want to deploy on (barring PC), and so far almost totally lacking any way for a decent game to effectively &#8216;rise above the noise&#8217;, except via external review sites like <a href="http://www.xnplay.co.uk/" target="_parent">XNPlay</a>, which doesn&#8217;t work at all for targetting the majority of game players with information.  It&#8217;s just not a very good target for those I would call &#8216;serious indies&#8217; and actually acts as a false argument for not opening primary download channels more; there&#8217;s nothing wrong with the concept, it&#8217;s just implemented completely wrong.</p>
<p>PSN got started later so has been earlier in the curve of promoting independent content, but they&#8217;re going that way too. I guess they&#8217;re all just &#8216;following the money&#8217;, and the games industry remains obsessed with hits because of its current top-heavy model. I&#8217;d hoped that the downloadable content channels would promote an equivalent to low-budget and art-house cinema, where content can survive and make a profit for the creators, without necessarily having to be the Biggest Thing Ever(tm), encouraging experimentation. But, the giant flaw in this plan is that independent cinema is able to be published and consumed anywhere &#8211; while most games consumers remain shackled to console platform holders, who just want to publish a limited number of the very biggest hits, everything else not being worth their time or risking &#8216;distracting&#8217; the customer with choice. If you&#8217;ve read my blog before, you know my opinion of the effectiveness of closed platforms in the long term when it comes to broadening and deepening a medium, but I&#8217;ll say it again &#8211; closed platforms are bad for the industry in the grand scheme of things. Games will never be as big as film until this changes, they might compete on the blockbuster level, but that&#8217;s far, far from the whole story. But, until we&#8217;re further along the lifecycle of games when hardware and delivery becomes mostly invisible,  the vested interests aren&#8217;t going to allow that to change for a little while yet.</p>
<p>You really need to go to the iPhone/iPod Touch for more prolific indie content these days. But, how long will that last?</p>
<p>I honestly don&#8217;t know why platform holders find it so hard to manage an open publishing strategy. All you need is systems that:</p>
<ul>
<li>Allow users to rank content; and nominate &#8216;trusted reviewers&#8217; such as those from major game review sites</li>
<li>Allow wide marketing opportunities &#8211; both in-system and cross-site (such as to xbox.com, where you can buy in-browser too)</li>
<li>Robust searching, on keywords, categories, user ratings, friends recommendations etc</li>
<li>Cross-promotion, aka the &#8216;You might also like&#8230;&#8217; lists</li>
</ul>
<p>Hell, if <a href="http://www.amazon.com" target="_blank">Amazon</a> can create a compelling buying experience with millions of products across a diverse range of departments, why on earth do platform holders think a console user can&#8217;t handle more than 2 game choices a week? It&#8217;s hugely patronising, and says more about the inadequacy of the platform to manage larger amounts of content effectively than about any limit on what consumers are willing to peruse. Saying &#8220;we can&#8217;t sell as effectively if we have more product available&#8221; actually means &#8220;we suck at organisation&#8221;. This argument stacks up at retail, where there&#8217;s a limited amount of shelf space, and customers don&#8217;t want to wander around a massive warehouse or to squint at shelves of tightly packed boxes looking for something, but not when you have unlimited shelf space and a cloud full of computers to index it in the blink of an eye for you (and make suggestions), and where a marketing campaign or friend recommendation can bring a customer instantly to the point of sale with the use of a simple link.</p>
<p>For Christ&#8217;s sakes platform holders, wake up to the opportunities of the channel. Stop being blinded by what works at physical retail, it&#8217;s really not the same. There are people out there already doing it leagues better than you (see pretty much any of the e-commerce leaders), and putting your fingers in your ears and saying it can&#8217;t possibly work  is both ignorant and doing a massive disservice to both customers and content creators.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2010/01/25/maturing-download-games-market-starts-to-show-retail-like-characteristics/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Refocussing</title>
		<link>http://www.stevestreeting.com/2010/01/20/refocussing/</link>
		<comments>http://www.stevestreeting.com/2010/01/20/refocussing/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 12:19:30 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[OGRE]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[ogre]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2507</guid>
		<description><![CDATA[So, I&#8217;ve been a little quieter than usual since the new year, and that&#8217;s because I&#8217;ve been in  a rather reflective mood as I plan out how I&#8217;m going to spend my time in 2010. That&#8217;s right &#8211; planning! Talk about the final frontier Basically, as you may have gleaned from my previous post, I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-2524" title="lens" src="http://www.stevestreeting.com/wp-content/uploads/2010/01/lens.jpg" alt="lens" width="150" height="142" />So, I&#8217;ve been a little quieter than usual since the new year, and that&#8217;s because I&#8217;ve been in  a rather reflective mood as I plan out how I&#8217;m going to spend my time in 2010. That&#8217;s right &#8211; planning! Talk about the final frontier <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Basically, as you may have gleaned from my previous post, I&#8217;ve been looking to make some significant changes to the way I do things in 2010. I spent 2009 reeling from a back injury and trying to figure out how to deal with that given that I&#8217;m self-employed (ie I don&#8217;t get paid when I&#8217;m not working, regardless of the reason), and a leader of an open source project (with the inherent time requirements that comes with). This meant working out on the fly how to stay afloat financially, and still keeping my own interests and open-source plates spinning, without slipping back into the &#8216;permanent voluntary crunch mode&#8217; style which triggered my back problems. I can&#8217;t stress enough how difficult that transition has been for me &#8211; it&#8217;s not like anyone was forcing me to work/live that way, I did it because I wanted to, but then it suddenly had to stop. When you invest so much of your time and perceived identity in something, backing away from it is very, very hard.</p>
<p>Of course the economic climate wasn&#8217;t great either, meaning I spent a lot of time jumping around between many small projects, leading to more overhead dealing with admin &amp; business relations. I ended up just going almost month-to-month on-demand, not  planning very much and just being grateful to be able to work a decent amount at all &#8211; which given how unwell I was at the start of the year was definitely something to be glad about. But, now I&#8217;m back on my feet and pretty confident of my future health again (within reason &#8211; I&#8217;m not going to be bungee jumping any time soon!), I&#8217;m ready to start being more pro-active again and to map out some plans.</p>
<p>One thing is for sure, there&#8217;s no going back to how I used to do things. My days of saying &#8216;yes&#8217; to almost everything and being at the keyboard until past midnight most days, and most of the weekend, are gone forever. I don&#8217;t regret doing it, despite the pain it ended up causing me, because <a href="http://www.ogre3d.org/" target="_blank">OGRE</a> wouldn&#8217;t be here otherwise and I learned a vast amount and had a ton of fun &#8211; <em>but</em> I&#8217;ll leave that to the under-35s in future; have fun guys <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  From now on, I&#8217;m being ruthless and somewhat selfish about what I work on, and concentrating on things that maximise my personal <a href="http://jackcheng.com/maxing-out-your-triangle" target="_blank">love-growth-cash triangle</a>. It means I&#8217;m passing on a lot more projects, and concentrating far more on things that are strategically significant to <em>me</em>, rather than anyone else.</p>
<p>I&#8217;m still planning to lead OGRE, so long as the community is happy for me to do so, but by necessity I&#8217;m stepping back a bit to let other people take more responsibility where they want to, and to refocus my time on mentoring and advisory roles rather than trying to be everywhere at once. We have some <a href="http://www.ogre3d.org/about/team" target="_blank">great people in the team</a> and in the <a href="http://www.ogre3d.org/forums" target="_blank">wider community</a>, and I hope our MIT license will foster even more in future. Both I and the community have gotten used to perceiving me as the &#8216;go to guy&#8217; in the first instance, with responsibility for pretty much everything, but in practice for some time now it&#8217;s been very much a team &amp; community effort, just one that I happen to lead (and financially support where needed). In fact one of the things I&#8217;m quite proud of is the way so many others have picked up on the way I do things, and taken things forward themselves in a way that I wholly approve of. That&#8217;s open source in action, and I&#8217;m glad to be part of it, even if I can no longer have my fingers in absolutely every pie with an OGRE symbol on it <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here&#8217;s to 2010 anyway. It&#8217;s going to be different, but change is good.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2010/01/20/refocussing/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>&#8220;Commercial Source&#8221; licensing</title>
		<link>http://www.stevestreeting.com/2009/12/14/commercial-source-licensing/</link>
		<comments>http://www.stevestreeting.com/2009/12/14/commercial-source-licensing/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 18:33:14 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.stevestreeting.com/?p=2468</guid>
		<description><![CDATA[Making a living from open source is hard. Correction &#8211; making a living from writing open source software is hard &#8211; it&#8217;s incredibly easy to make a living from someone else&#8217;s open source software of course, which is why that&#8217;s what most people do At one time the popular opinion was that pure-play open source [...]]]></description>
			<content:encoded><![CDATA[<p>Making a living from open source is hard. Correction &#8211; making a living from <em>writing open source software </em>is hard &#8211; it&#8217;s incredibly easy to make a living from someone else&#8217;s open source software of course, which is why that&#8217;s what most people do <img src='http://www.stevestreeting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  At one time the popular opinion was that pure-play open source companies could make a living from support services, which works to a degree but I know from both my own experience and from that of others that it doesn&#8217;t work <em>that</em> well. Again, the best chances of it working are if you&#8217;re providing support services for software that someone else writes, because you&#8217;re only able to monetise the service, not the development. This actually discourages people from investing in development, and instead merely in deployment and ancilliary services which isn&#8217;t actually a good thing for core product development.</p>
<p>The best cases of companies funding open source are where they&#8217;re using it to deliver some other product or service which is directly monetised, therefore the open source development comes under their general R&amp;D budget. Google, IBM and others fall firmly under this category, and you can bet that the largest open source software projects are funded this way &#8211; Apache, Eclipse, Firefox all pay their core developers like this. But, it requires a fairly significant level of scale to be able to do that, hence why it&#8217;s usually the giant corporations that do it rather than smaller companies.</p>
<p>The next favourite option is dual-licensing; the general set-up if you come at this with a commercial hat on, is that you pick a license that a lot of commercial entities will have a problem with extending from (ie GPL), then you sell them an alternative license; the idea being that you get the adoption via the open source license and make money from the commercial license. But, it can be controversial, as most recently discussed <a href="http://prng.blogspot.com/2009/12/how-to-screw-your-open-source-software.html" target="_blank">by Greg Stein in the Oracle / MySQL case</a>.  The argument is that if your commercial license is just a proprietary license, and can be revoked and otherwise monkeyed with by the issuing company (or perhaps more importantly, its acquirers), you have actually been lured into a honey trap &#8211; the lure being that open source comes with certain protections, but that if you rely on the availability of the commercial license you actually have none of those and might as well have bought from a proprietary software vendor.</p>
<p>So, what to do? If you&#8217;re a small development company, open sourcing your product will definitely bring more people in, but if you&#8217;re not in the hosting / cloud business and don&#8217;t want to rely on services to earn your keep (who can blame you), what can you do to earn your keep except abandon open source for your main products (maybe splitting your time between proprietary and open source), or dual-license and face accusations that you&#8217;re fibbing about the true nature of your product for your commercial users?</p>
<p>Well, I&#8217;ve been wondering whether the problem is that dual-licensing typically falls back on traditional licensing concepts, ie that your commercial license looks very much like a normal proprietary license, which has all the problems of &#8216;what if my vendor changes the license conditions&#8217; etc &#8211; when in fact it <em>really</em> needs to be more like a permissive open source license, with a payment condition. One of the great powers of open source is that it is &#8216;detached&#8217; from the producer and compeltely predictable and immutable &#8211; once the software is out there, it can&#8217;t be taken away from the receiver and is always &#8216;whole&#8217; in terms of the source code so no-one is tied in. There are also cast-iron source &amp; binary redistribution clauses that are known up-front, and are again immutable, which mean everyone knows where they stand, forever. Why can&#8217;t the commercial side of a dual-license continue to do this, while at the same time generating a revennue stream for the company?</p>
<p>Maybe I&#8217;m being naive. But what about this sort of dual-license set-up for a library or toolset:</p>
<ul>
<li>Default is GPL (and obviously free)</li>
<li>Commercial alternative license available, giving very permissive rights, but with these important rules:
<ul>
<li>The license is irrevocable once issued</li>
<li>The right to redistribute unlimited copies of derivative binary works is included with Apache-style conditions</li>
<li>The right to redistribute unlimited copies of derivative source to anyone under the GPL (for free) is included</li>
<li>The right to redistribute unlimited copies of derivative source under the permissive commercial license conditions is also included, <em>provided</em> the same original license fee is paid per receiver. Critically, the price and conditions surrounding redistribution may not be altered unilaterally by the licensor at any time after the license is issued (so once you&#8217;ve bought it once, the conditions and price for non-GPL redistribution are set in stone and cannot be altered unless both parties agree &#8211; say if the price is reduced later)</li>
<li>All software reverts to the Apache license if the company folds without selling the rights to someone else</li>
</ul>
</li>
</ul>
<p>This would mean that those choosing to opt for the commercial license would have the same kind of cast-iron guarantee an open source user has that once software is out in the wild and being used under some conditions, that the originator cannot possibly change that, ie take it away or change their right to modify and redistribute under conditions they agreed to at the start. To me, this seems to give the same kind of certainty over not being screwed over in the future as open source does, thus blunting the accusations of proprietary lock-in by the back door, but while generating some revenue for the developer too. It is, in effect, the same as a permissive open source license with the one addition that redistribution of the source to a new party requires either payment to the originator, or reverting to the GPL.</p>
<p>Now, of course there is still potential uncertainty around new versions of the software, but this is no different from open source, where your only guarantee is over what is published right now, not what might happen in future versions.</p>
<p>Does anyone know companies that use this model? My experience is that commercial dual licenses tend to be as restrictive as proprietary licenses, which then can justifiably lead to accusations that the open source license has been used as a shill to get people into a lock-in scenario. Is there really a &#8216;third way&#8217; or am I missing the point?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevestreeting.com/2009/12/14/commercial-source-licensing/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

