Development Personal

[self.sourceTree exit];

Four and a half years ago, I decided to write a Mac tool for Git and Mercurial, which I’d eventually name SourceTree (aside: names are hard, and I was quite pleased with this one). I wasn’t happy with the Mac apps that were out there at the time and thought I could write something that fit my needs better, and by extension the needs of other developers who felt like I did. I’d never written a Mac-specific app before, and I thought it would be fun to learn how. I also knew that the Mac was a platform where independent app developers could make a living on ‘premium’ apps, so it made business sense. I could see the beginnings of the trend away from Subversion to git/hg and felt there would be an expanding market for such a tool. So, I took a punt.

With a little apprehension I quit all my contracting gigs, bought a couple of books on Objective-C and Cocoa and got my head down, trying to ignore the dwindling bank balance as the months passed. The words JFDI, Lean Startup, Customer Development all rang in my ears. 6 months later, and almost exactly 4 years ago today, I announced the launch of SourceTree version 1.0 on this blog. It was a slow start, but I was prepared for that, and in many ways it was a boon because it gave me time to refine the product with a small but growing gang of early adopters. I took a little more contracting work on the side for a few months to stabilise my finances while I iterated, but only 5 months after that initial release, SourceTree passed an inflection point and adoption started climbing – it was in profit and growing at a good speed. Around this time Atlassian approached me about an acquisition; at the time I was happy to just have a profitable product that meant I could afford to work on what I wanted, but they were convinced that together we could take this product to a whole other level. I eventually decided to accept, and boy, were they right.

The blur of the following 3 years included: porting SourceTree to Windows; hiring fellow Guernsey developer Kieran Senior whom I mentored with all the subtlety of the Eye of Sauron; morphing into a team spread across Guernsey/Amsterdam/San Francisco/Sydney with a real designer, support and marketing folks, and above all, watching a ton more people start to use SourceTree. More than I could ever have imagined. When I stepped down from Ogre I wondered whether I’d ever build anything that popular again, but it turns out the answer was yes, and then some. It’s been a pleasure, and my thanks to everyone who helped make this possible.

However, as much as I love SourceTree and have enjoyed this amazing journey, it’s time for me to seek a new challenge. Four and a half years is a long time to work on one product, and there are so many other problems I’d like to solve. We hired Mike Minns earlier this year to lead the team, he’s a seasoned lead developer located in Sydney (and ironically an ex-pat – we don’t deliberately recruit everyone from the British Isles, honest!), and together with Kieran will be responsible for all future SourceTree development, while I bow out and take a merely advisory role when needed – which will likely comprise of ‘Steve, what the f*** is this code??’ ;).

I’m starting work on one of the (many) projects I shelved a while ago – unsurprisingly it’s one of those problem areas that bugs me personally (what else?) and I’m pretty certain that other people will see the merit in addressing it the way I have in mind too. Hopefully :) I’m still with Atlassian, because they’ve been great about giving me freedom and this particular project very much suits doing within this environment. I’ll talk more about this when the time is right of course. *tease*

I’m posting about this on my blog because a number of people know me personally as the go-to guy for SourceTree, and sometimes short-circuit the official reporting channels for feature requests and bugs on Twitter and email. This was fine, I always like to connect personally with people using my products, but obviously in the future this won’t work any more. Thanks for all the feedback and support over the over the last 4 years, I’m so lucky to have managed to make another tool that developers really connected with. SourceTree will continue without me and I’m sure we’ll see great things from the team in future. Now I’m off to see if I can do something else useful :)

Local Personal Political

Why fibre, and why now?

This is part of a series of arguments I’m making for Guernsey to take the plunge and invest in all-island fibre broadband. I’m currently working with JT on their market test of small extensions to their existing fibre network to evaluate the viability of connecting some people to fibre with only private sector funds, but ultimately I’d like to see our government following examples elsewhere and investing in public/private fibre infrastructure across the whole island. My previous articles on this can be found here: Guernsey broadband should aim to lead, Guernsey’s digital strategy update: my viewDiscussing fibre to the home with JT.

In this article I’m going to discuss why we should be looking at fibre at all, and why we should be doing it sooner rather than later.

Why Fibre?

It costs a lot of money to install a new landline to everyone’s homes, and causes a fair amount of disruption while you’re doing it. There are options that can sometimes reduce this such as micro trenching and using existing pipes (shared ducting, sewers, even water pipes), but it’s never going to be cheap or easy. So why would you do it?

Firstly, in 10 years we’re going to need considerably faster internet speeds available to the general public than we have today. This is simply basic math – broadband was introduced in Guernsey around 2001, at which point we had download speeds of 512Kb/s. Shortly before that we were operating on 56Kb/s dial-up. Today, 5Mb/s – what I’m currently getting at Cobo – is considered a pretty crappy internet speed (it’ll just about work for Netflix but it’s not fun). So in not much more than 10 years, expected Internet speeds have increased by at least 100x. There is little reason to believe that that trend will not continue as devices get ever more powerful and expectations climb ever higher. So what technology can deliver a 100x improvement in speed in the next 10-15 years? There is only one – fibre.

Why not ‘fast’ copper?

What about VDSL and future technology that makes better use of the existing copper network? Truth is that the faster these get, the worse the degradation due to distance, meaning you have to install more and more cabinets to be within the required distance of a property. Each of these cabinets needs equipment in it to convert from the fibre backbone to copper. If this was an easy fix, in a tiny island like Guernsey we’d all have good VDSL access by now, but we don’t. South St Peter Port is a black spot, as is a large chunk of the west coast – I’m sure there are more, but these are the 2 I’ve had personal experience of. And even if the cabinet rollout had reached everyone, the average practical 20-25Mbs download / 5Mbps upload you can expect from it is only adequate today. It’s not going to  cut it in 5 years, never mind 10-15. Those copper lines are just not good enough.

Why not wireless (4G+)?

Why not just use modern wireless tech like 4G and beyond and forget the physical network? Mostly because wireless just can’t keep up with a fibre connection. As impressive as 4G is compared to 3G, practical speeds are usually about 1/3rd of the maximum advertised because of interference and distance, and contention is an issue because ultimately you’re sharing a tower with lots of people. If you started to connect people to 4G in their homes as well as their mobiles, it would work well for a while, but eventually it’s just not going to be able to keep up with the demand – there are a finite number of towers (and planning / people are against building more of them in general) and while the network can cope with fast access to mobile phones, can it really cope at 8pm on a Saturday evening when a ton of people are streaming HD movies to their homes all at once? I don’t think so. Each wireless generation gets better, but they’re all limited by this issue – I think if you double-down on mobile as your primary network you’re just going to find yourself back in the same position again a few years down the track, with people complaining that their connections  just can’t keep up with expectations (as even sleepy Cornwall has 95% fibre coverage).

What’s so great about fibre?

Scalability. Once it’s in the road, it’s going to serve you for at least 20 years, and probably far longer. Even with today’s technology it’s capable of a symmetric 1Gb/s (upload and download) – the only thing limiting that right now is data costs, not the tech itself. But more than that, we haven’t even hit the limits of what you can do by shining lasers down glass fibre yet; as tech changes you can put different equipment on either end of those connections and get more out of it. You might not think we need that, but then many people didn’t think they needed broadband over dial-up until they had it, and history is littered with people making predictions about future tech requirements being modest and getting it spectacularly wrong. Fibre is truly an investment in the future: it’s better than anything else can offer right now, and doesn’t hit the same brick walls in the future that the alternatives do. Everything else is a short-term band aid, IMHO.

Why do it now and not later?

So assuming we accept that fibre is better than the alternatives, why should we do it now? Couldn’t we just use the cheaper alternatives for a few more years instead, since they’re likely to be at least adequate for a little while?

Sure, the alternatives (VDSL if actually finished, 4G) will be adequate for a little while, max 5 years realistically. You could put off fibre investment for that time and, although we wouldn’t be competitive with other places – even a similar island only a few miles away – we’d manage. Nothing to write home about, but OK I guess.

But what have you actually saved by kicking the can down the road? Maybe you think fibre will get cheaper in the future? Unlikely – the majority of the cost of fibre installation is in the cost of installing it in the roads, not the equipment. It’ll maybe get very slightly cheaper because of that equipment change but it’s a minority of the cost and the labour costs will increase with inflation so honestly, you’re unlikely to tell much difference. Or maybe you think wireless tech will keep getting better so you’ll never have to bother? It will, but you’ll never eliminate the physical interference & tower contention constraints of wireless so you’ll always be second-best compared to jurisdictions that invested properly in their infrastructure. And forget copper improvements – copper is done.

Realistically all that delaying fibre upgrades does is save the current government from having to be the one to decide to make the investment. It’s going to have to be made some time, if you intend Guernsey not to eventually become a digital backwater, the only question is when. The cost & inconvenience is likely to be roughly the same whether it’s now or later, the only question is how far you let others get ahead and how many short-term fixes you try before you eventually admit you have to do it properly.

Personally, I think delay has more downsides than upsides, but I’m not a politician.

Internet Local Personal

Discussing fibre to the home with JT

95341973_internet-630pxx0Those of you who follow my blog know that I have a keen interest in the provision of high speed broadband in Guernsey, including to homes. If not, you can catch up with my reasoning in this post a year ago, and this one a few days ago.

The main issue right now for home broadband in Guernsey is that Sure controls the main fixed line network, and they are currently committed to a strategy of VDSL (fibre to the cabinet, copper to the home), which can provide a pretty decent, if not particularly future proof, service except for the fact that the rollout of new cabinets has been slow enough that there are still quite a few gaps where line distances make VDSL impractical; including both of the addresses I’ve lived in 2014. Sure doesn’t provide a map (as far as I know) of where the upgraded cabinets are, or where new ones are planned; all I’ve been able to determine is that friends in rural St Peters are doing a lot better than people in many areas of our main town, St Peter Port, perversely.

You may already be aware that in Jersey, they have a strategy to install fibre to all homes and businesses, and a number of people I know have been connected now. Not without issues, certainly, but they’re gradually being resolved and the direction of travel is clear. JT is doing this, and is able to do so because of a combination of government funding for the plan, and some long-term investment of their own. We simply have nothing of that kind here yet in Guernsey, and as far as public information goes, we don’t know if we ever will.

JT is rolling out fibre in Guernsey, but it’s been as part of a contract to supply States buildings and schools; they’ve published a rough map where you can see it’s focussed around the east coast with ‘fingers’ into specific locations elsewhere. I knew about this, because one of these cables runs up the road beyond the bottom of my garden, but I didn’t think there was any prospect of gaining access to it for the home. However, after Charles Parkinson suggested there might be a possibility on Twitter, I fired an email off to a generic JT email, asking about the possibility in future, because I’m renovating my house right now and could put some ducting in while I was at it. It felt like a moon shot, I really didn’t expect anything more back than a vague ‘Yeah, we hope to do this in the future if the stars align’, but I figured it couldn’t hurt to try.

Imagine my surprise when, not only did I get a fast response indicating that they’d like to talk to me about it in more detail, but that it was from a former boss of mine, Nick Marquis, who is now the Programme Manager for JT’s fibre rollout. I worked for Nick well over 10 years ago now, and I have huge respect for his technical abilities, general tenacity and no-bullshit attitude. I knew he worked for JT now but I didn’t know in what capacity and we hadn’t spoken in a while, so this came as a complete surprise. I remember grinning widely, getting a little over-excited and phoning him immediately even though he’d already said it was his day off, and to his credit he didn’t yell at me ;) But I was suddenly a lot more optimistic.

So today I met for coffee with Nick and his colleague Caleb Zunino, who has been through the whole engineering, network support and now product management / business dev path at GT and Cable & Wireless before JT. I already knew where I stood with Nick, and I was glad to find that I got on with Caleb well too and we had a lot of compatible views.

It turns out that JT have already been thinking about how they can start to offer fibre packages to businesses and homes, and they’re in the process of identifying locations to test this idea out. Because there isn’t the kind of blanket investment available as in Jersey (and they’re also not the incumbent with lots of existing infrastructure), this would be limited to areas that are already near to the fibre network they’ve laid for States buildings and schools, and the main issue, as always, is how to cover the cost of extending that to premises. They have a bunch of ideas on that, and will be testing some of them – one of those is the No. 1 St Julians Avenue building for example, but they also want to test situations like a clos (a private estate for non-Guerns).

To my surprise they’d already costed up 3 illustrations for my own house; the cheapest & easiest being to come directly over my back garden to my house. As great as that might be for me, and as much as it bypasses most of the trickier hurdles, we all felt that was too selfish and above all it just wasn’t ambitious enough. They also had costings for extending the network to various parts of my area, which would obviously require that I convinced enough of my neighbours to sign up for it to have any chance of being viable. To be honest, the numbers weren’t as high as I thought they might be and there are definitely benefits of scale. It’s important to realise this is all very theoretical at this point – many things remain to be ironed out such as what kind of packages would be required to justify it commercially, how many people would sign up, what kind of bandwidth charging would be needed, whether permission to dig up the roads would be forthcoming, and so on. It could all fall apart and not work. But I got the real sense that JT wants to experiment with this, which I found quite refreshing. They’re willing to try, even if it falls on its face, and I respect that a lot – it’s how I work after all :)

Now of course, my preference (indeed everyone around the table’s preference) would be for the whole island to have fibre access, just as is planned in Jersey. To that end I’ll keep lobbying government about funding for infrastructure in the hope that eventually something will happen. But I find it encouraging that JT isn’t just waiting around for the next strategy update, but is willing to try some things out proactively in the mean time. Perhaps if we can prove the concept that fibre broadband to the home is viable and a useful addition to people’s lives, then it will help provide the impetus to move as much of Guernsey into something resembling the future as possible.

So over the next few months I’ll be having more detailed discussions with JT about this and working with them on their ideas. They’ve asked me to give them honest feedback about the proposals and ideas they have, and have said up front that they’re totally happy for me to blog & tweet about it, both the good and the bad. They know I’m not the kind of guy who likes secret arrangements, nor am I someone who would toe some agreed marketing line in public, so that wasn’t even on the table. We’re talking about an open, honest discussion about what may or may not fly, and seeing where it takes us. It helps a great deal that I’ve worked with Nick before and trust his judgement & integrity, and I get the feeling I’m going to get on well with Caleb too.

Who knows what might happen in the next 12 months on infrastructure – no-one really knows where Commerce & Employment will end up going with that element of the digital strategy – but after so long of just being told to wait while secret discussions happen, and zero news from Sure about where even new MSANs might appear in the next couple of years (while being depressingly aware that even full VDSL coverage will leave us behind others in a fairly short amount of time), it’ll be refreshing to be involved in something tangible, open, and a little more forward-thinking. But remember, this is only currently about proving the concept on a small scale, and may not work at all; don’t rush out and ask JT when your fibre will be available, OK? Baby steps. But maybe, just maybe, this could be the start of something interesting.

Internet Local Personal Political

Guernsey’s digital strategy update: my view

Aside: I’ve decided in future to share my thoughts on local issues primarily through my blog rather than doing media interviews, for a number of reasons. I’m better at writing than I am at speaking, and I’m not as comfortable with the reactive, off-the-cuff and time-limited style that I’m forced to adopt when doing interviews. Sharing here on my blog I get to say what I want to say, at my own speed and in the way I intended, without someone else driving the direction of the discussion or editing my responses. This is how I’m going to do things in future; it’s not because I think the media has misrepresented me (they haven’t) or that I don’t want to deal with them (I do, they’re nice people), but because I think the limitations of air time and column inches don’t suit what I want to say most of the time.

In last week’s episode…

Last week I was invited to do a radio interview on BBC Radio Guernsey to discuss my view that Guernsey is falling behind Jersey when it comes to progress on digital strategies. My points were basically these:

  1. We all appreciate the efforts of Deputy Kevin Stewart, Minister of Commerce and Employment. He genuinely seems to understand where we need to go in future and we’re glad he’s promoting that in government.
  2. Jersey have had a long road to where they are now too, and it certainly hasn’t all been plain sailing, nor is everything perfect (connection issues and disappointing upload rates being issues I hear about a lot).
  3. Having said all that, over the last year Jersey has managed to get more people connected to fibre in their homes & businesses, and has opened the Digital Jersey Hub. These represent tangible progress which although not the end point is very encouraging for our sister isle.
  4. In contrast, here in Guernsey we’re still mostly just talking strategy, and we don’t hear a lot publicly about what sort of timescales we’re expecting to get started on action. Again, I tried to make clear in the interview that I don’t want to bash people like Kevin Stewart’s efforts because I appreciate them, just that time is ticking along and we’re all eager to find out when we can expect concrete actions to start kicking in.

The twist

Now, as it turned out the day after I did that interview, Commerce & Employment released a 6-month update to the Economic Development Framework, which included the digital ‘work streams’. Had I known this was going to appear the day after I probably would have turned down the radio interview request until I’d seen it, but there we are. Kevin Stewart went on radio the day after me and said there was ‘no evidence’ that Guernsey was behind Jersey, although I would point to the above as being fairly obviously evidence. After all, which jurisdiction can I walk into a startup hub tomorrow, or get fibre to my house in at least some areas? He also said that 3 years ago an Oxford Economics report rated us either equal or slightly ahead of Jersey, but 3 years is a long time and Jersey is already started on the implementation phases in the mean time, so I think that view is outdated. Still, again I don’t want to bash Kevin here – I really do appreciate that there’s a ton of work to do and I’m glad he’s doing it – but I do think there’s a danger of trying to spin this too much such that it becomes an outright denial of reality.

So now that I’ve read the update that finally appeared on the gov.gg website, what do I think?

Well, there’s clearly good news and bad news here. To avoid further accusations of negativity, let’s do the good news first.

The Good News

  1. Digital Innovation Centre. Not just a startup hub & co-working space, but a training centre. This sounds good if it’s done well – it has a 2015 target and will apparently be before the States in more detail in the next month. I look forward to seeing the details and this could be a very good thing indeed. I look forward to getting involved, perhaps as a mentor in due course.
  2. Broadband sampling. Not in this report but apparently a third party who did research for Ofcom has been surveying local broadband with a view to making recommendations. I heard later that it covers only 20 properties though, so I hope that’s enough to get a reasonable view. Broadband in Guernsey varies wildly for such a small area, from full VDSL2 if you’re lucky to be close to an MSAN (and bizarrely my friends out in St Peters seem to be the best off here), to a poor ADSL2 service if you’re not (like South St Peter Port or Cobo, the 2 places I’ve lived this year). Nevertheless, I consider it a positive that real statistical data is being collected and it’s by an independent party from the telcos.
  3. It’s honest. It doesn’t deny that in terms of the infrastructure component of the digital work streams, things are behind and almost everyone is disappointed & frustrated with that. This might sound like a bad thing – well, the situation itself is but the admission of it I take as a positive. I get concerned sometimes that at least in the public domain there’s a spin from both government and the telecom’s companies that “Everything’s fine, we’re doing great!”, and I treat that as hugely damaging. In some ways I don’t mind if we’re behind in infrastructure, so long as we admit it and therefore realise the necessity of getting our arses in gear. I hear the marketing blurb far too often from Sure et al of all the great stuff they’re doing, and yet what I actually see on the ground is a pretty terrible broadband service for 2014 in both places I’ve lived this year (both populous areas not the sticks), and when asking Sure’s planning department they tell me that no new MSANs are due for installation in either region within the next 18 months. That’s just depressing. Sorry, that became a little negative there and that’s not allowed in the Good News section. ;) What I’m saying is that admission that we need to do better on infrastructure is good news compared to the outright denial that anything’s wrong that I see far too often. So, +1 points for that even on a lagging item.

The Bad News

  1. We’re still just talking strategy. Whilst I accept this is absolutely necessary, especially since public funds will be involved, other jurisdictions are already moving, including the one only a few miles to our south east. Everyone realises that it seems, but it doesn’t change the fact that none of us will be happy until we’re actually acting & hitting some tangible milestones. What I’d like is for people not to take this comment as negativity, but of encouragement that we’re behind getting on with this thing.
  2. Infrastructure is lagging. As I think most of us already realised, CICRA hasn’t delivered on the broadband review yet and in general this work stream is lagging & frustrating most of us. As mentioned above though, at least the update admits that & knows it’s not good enough. To be where we are and not have the data we need to even form the strategy, never mind pin dates on it and get started, is not great.
  3. Some people still don’t get it. What’s arguably more worrying is some of the reaction afterwards, for example Deputy Matt Fallaize, who commented in relation to home broadband speeds in the Guernsey Press that “I would not like to spend public money so people can play games”. I’m guessing his view is that all we have to do is get good connectivity to offices and schools and that everyone at home is just wasting time on Call Of Duty and watching Netflix so that has no value to justify spending public money. In this way, he completely misses the point of a digital economy. [edit] I’ve since had an extended email discussion with Matt, and the Press really didn’t do him justice with this soundbite. His views are considerably more nuanced than this, he’s been receptive to the points I’ve made, and while he has concerns over the spending of public money, he is willing to listen.[/edit]

What’s the big deal about infrastructure?

I still hear from some people that investing in domestic internet infrastructure is a waste of time & money, and that all we have to do is connect the main businesses, tech hubs and the schools, and people’s homes should be an afterthought.

But here’s the thing. If you’re investing in digital, the assumption is that you want to promote its use for the good of the economy. That means a number of things:

  1. Existing businesses should be able to utilise good connectivity to keep up with the evolving business landscape, which is to say increasing reliance and exploitation of technology. Not to do this is to be left behind regardless of what industry you’re in.
  2. Schools should be able to consume and publish information quickly and efficiently in order to keep up with 21st-century demands.
  3. New startup businesses should be encouraged, and a lot of those will either be in the digital sphere or rely heavily on it to disrupt less agile incumbents. Digital allows a far easier route to exporting than before where geographical constraints on a small jurisdiction put it at a disadvantage.
  4. Flexible working practices enabled by technology should allow the workforce in general to be more efficient, to work across borders, but also allow people previously excluded from being economically active due to things like care of children/family, disability etc to fit work around their lives.

The idea that only business hubs and schools need good connections only deals with half the points on this list. Startups don’t usually start in big glass office buildings, and very few of them get their beginnings even in a startup hub (although that can help them scale). The majority of startups begin in home offices, or a few people over coffee playing with some ideas and they collaborating from various locations including their homes. Apple started in a garage. Facebook started in a dorm room. My entire startup journey began at a desk in my house; I ran it from there when I had 10 users, and I still run it from there now I have hundreds of thousands. And this is how new things happen in the 21st century folks; not in board rooms or cubicle farms, but in your house.

EDIT: Diversification is often talked about. That will come about one of two ways; from existing local people switching to new industries, perhaps starting as freelancers (as I did in the 3D industry) and growing organically, or from larger external investments where people come in from outside to jump-start something. The former generally starts at home just like startups, and may even continue from there indefinitely. Projects in the digital economy increasingly collect together people from wherever they are in the world and build a functioning team from that; my own team is spread across Guernsey, San Francisco, Sydney and Portland. This is not unusual today, and we rely on our home connections to work. As for diversifying through external investment, do you really think people in digital businesses will want to come & work in Guernsey if they know their home connection is going to suck? When they can look at other jurisdictions where fibre is almost universal?

And what about kids? Sure they learn a lot at school and they need good connectivity there, but where are the hobbies and passions that end up becoming their vocation later cultivated? Partly at school, but equally if not more so at home. Kids teaching themselves programming, 3D modelling, digital art or music sequencing – they’ll be doing most of that from home. They’ll want to watch videos, experiment, collaborate with others, and develop their skills from home. These are the future geniuses that industries are built on, and you’re telling me they don’t need good internet connectivity in their house to do that? Rubbish.

The fact is neither you nor I know where the next innovations will come from. It could be from that house across the street, or it could be from your kids bedroom upstairs. You don’t know, and neither does the government. What I do know is that by not providing good connectivity to everyone, you’re lessening the chance that something like that will crop up, or you’ll at least slow it down. This is why I make such a big deal about universal access to good broadband in Guernsey; because I want anyone out there to be able to succeed, and poor broadband holds people back.

Sure, I want good broadband too, so there’s some self-interest here, but arguably I’ve already made it. I’m middle-aged, I’ve already made a bit of a name on the Internet, have had enough success to live okay, and have done it through a time where the range of poor to good broadband was more of an irritation than anything. But things are accelerating, expectations are rising and to be left behind in the next 20 years as the world economy becomes increasingly virtual will be a lot more serious than it was in the last 20. We have to keep up.

The Mindset

Complacency is a terrible thing. Guernsey has had it pretty easy over the last 30 years and people could be forgiven for thinking that things will just sort themselves out in time, and maybe for patting themselves on the back for a job well done in the past. But that’s not going to help at all in the future; the moment you think you’re ahead and you can relax is the time you get lazy & get beaned by the guy racing up from the rear. Now for whatever reason I’m the kind of guy who is never satisfied – with myself, with my work or anything else. I’m always hyper-aware that there are a ton of things I could be doing better, and I’m always trying to improve. I’m not really put off by failure, because I consider it an inevitable stepping stone to figuring out what works; I’m also not put off by criticism, because that’s information you can use to improve (even if it’s to learn which opinions to ignore ;)).

For a long time I assumed that everyone thought like this, but recently I’ve realised that this is a specific mindset, some people refer to it as a ‘growth mindset’. I beat myself up a lot about stuff that could be better, and I’m equally critical about other things I think could be better. That sometimes rubs people up the wrong way, and I realise now that it’s because not everyone is happy with that mindset, that they’d rather be talking about past successes and enjoying that positivity, rather than being pushed forward and getting down to the brass tacks of being honest about what sucks and what we do about it. I try to be a little more tactful these days, but under the hood I’m still that crotchety bastard who just wants everything to be better. It’s for the best of reasons, honest, even if I piss you off. ;)

Summary

So, I’m going to keep talking about this until it’s sorted. I know I’ll probably annoy well-intentioned people in government who are trying their best to progress things but are meeting resistance – whether from telcos, penny-pichers with no vision and from procedural requirements in general – and I’m genuinely sorry if that’s the case, but it won’t stop me talking about it, because it’s important. My hope is that my commentary on this can be taken as strong support for those pushing through these barriers, and not accepting excuses.

Business Personal

I believe in the cumulative power of small steps

I’m now sometimes referred to as an ‘entrepreneur’, and occasionally I spend a little of my time trying to figure out what that actually means. I realise that a lot of the time, how other people perceive it is quite different to how I see myself. Much of the talk around entrepreneurship is about blue-sky thinking, of aiming for the moon shot, of being the big-talking guy who is always selling his next grand vision of the future. I have opinions, sure, and I don’t mind sharing them and sometimes they get me into trouble. But that big talker with grand visions is not me.

I’m like a snowball, or a stalagtite. I’m like that underground stream that’s been carved out slowly out of sight underground. Little by little, without anyone really noticing for a long time, I’ve built things in small steps, one after the other. One day that suddenly got noticed by a few more people than I was used to. I owe everything I have now to a series of tiny steps over the last 20 plus years, just by deciding to keep walking the path. The thing is, you don’t even have to know exactly where you’re going, just so long as you keep walking. A wise man once said: “There’s a difference between knowing the path, and walking the path”, and he knew what he was talking about ;). Tiny steps are inherently powerful once accumulated.

This concept permeates everything that I do. I build software, and that’s naturally built up patiently in small incremental steps. When I build stuff I do it not by imagining a grand sprawling vision that will dwarf all others; I start with a small, manageable picture in my head of something that solves a genuine problem – usually one that’s annoying me – and  I put one block on top of another until I have something that I like the look of.  Then I show other people, take bits off, put them back, add new bits where they make sense. And I keep doing this, over and over and over until what I end up with is something far bigger than I originally envisaged, but which was shaped by my evolving understanding of the problem, and the feedback from people who encountered it. And sometimes, just sometimes, it becomes a big deal during that process – but if it doesn’t, you keep walking the path anyway to the next way station.

A lot of people don’t see how this can work. We’re sometimes sold on an impression that to be an entrepreneur or to evoke change in any way at all you need to have a grand vision & strategy, usually with large amounts of money sloshing around to fund it. But being big and beholden to people who’ve funded you comes with a whole host of its own problems, and there’s a lot to be said for being a scrappy, hungry startup with little money, just finding a way through via inventive thinking and experimentation. Worse is when I see people look at small incremental actions and think “that’s not making a difference”, “that’s not good enough, only the big steps make a dent”, as if giant leaps from A to B are all that’s worthy of spending time on. Sometimes this leads to people seeking money from others to accelerate things when that’s really just going to make them miserable. In reality the vast majority of things that are perceived as giant leaps were actually a very long sequence of small hops; that’s just skimmed over in the marketing brochure.

My message is this: value the small steps, embrace the journey. If progress looks small by day, trust me that when you zoom out you’ll be surprised at how far you came – but that only works if you keep on walking. Don’t devalue apparently mundane, everyday progress because that’s what giant leaps are actually made of, if you look a little closer. You don’t need a special rocket ship, all you need is the passion and determination to keep putting one foot in front of the other and to keep your wits about you. It might sound too simple to be true, but it works for a surprising number of people.

There was a great quote I saw on Twitter recently:

It doesn’t matter how slowly you go, so long as you do not stop.

Personal

Imagination is an asset

Remember when you were a kid and pretty much everything was a spaceship? A cardboard box, an egg carton, a bottle of washing up liquid. There were spaceships everywhere in those days, you couldn’t go from the kitchen to your bedroom without tripping over three of the blighters. And to think NASA were paying top dollar for theirs, when the damn things were just lying around.

Then you grew up and the skill of being able to turn anything into a spaceship with a single thought suddenly lost a great deal of its currency as a marketable skill. In its place, perceived value was shifted to the skills of holding down a job you don’t like, saying ‘yes’ to idiot managers, and being able to borrow eye-watering amounts of money without having a nervous breakdown and running naked through the street with nothing but a Post-It to cover your modesty. But  you know what? That spaceship-making skill was always better.

Really, we should be proud of and fully indulge the human ability to make crazy sh*t up all the time, because we’re naturally great at it. Let’s be honest, all those traditional middle-class jobs where you sit pushing paper around in formulaic ways all day are going the way of the Dodo, replaced by machines who frankly are much more suited to that job than you ever were anyway. You’re inconsistent, have fleshy needs like eating and going to the bathroom, and despite years of training in the corporate machine you will still accidentally daydream about spaceships when you’re supposed to be doing something else instead. No, instead the future of the middle class is creativity – dreaming things up out of nowhere, making them happen, improvising – all those things that machines are terrible at. This is your trump card, people – creativity is the one thing that ‘they’ are unlikely to be able to source from a battery farm or make armies of electronic slaves do in the foreseeable future. Why wouldn’t you want to get in on that? Believe me, letting your imagination muscle atrophy because your parents told you you should get a safe white-collar job will turn out to be a false economy, and you’ll wish you’d spent more time playing video games and fantasising about whizzing around other planets in a badass jetpack.

Personally I read, play video games, enjoy movies, but one of the most important exercises for my imagination muscle is pen & paper roleplaying – this is where you get together with friends around a dining room table and basically make sh*t up as a group for a few hours. My friends and I are over 40 now, and we’ve been doing this for 25 years, yet it remains a uniquely amazing thing – somehow a bunch of people come together with nothing more than ideas, some dice and pencils, and using that create a rich world which only ever exists in their collective heads, and turn it into a kind of virtual epic serial. Right now, I’m running a campaign set in the modern day where my friends play members of a secret organisation which investigates ‘unusual’ events, kind of like the X-Files or Fringe. They’re currently in an undersea station trying to figure out why the inhabitants disappeared. I pulled the idea for this scenario out of my head one weekend and they’re enjoying figuring it out in our weekly play sessions, experiencing the story structure I created via characters pulled from their own imagination, from washed-up actors to on-the-run translators. Each week we effectively advance the story together – I know the environment and story constructs, but it can all change based on what the others decide to do – we’re all making it up on the fly.

I’ve no doubt some people think this is a weird thing for grownups to be doing in their spare time. And yet most people wouldn’t think twice about going to the cinema to watch the latest Hobbit or superhero movie, or to devour a box set of Fringe or Game of Thrones. There’s been a resurgence of interest in science fiction and fantasy in recent years, which can only be a good thing IMO. Pen & paper roleplaying can be considered much like a weekly TV series, if you imagine that one person is the writer, and the others play characters in the show – except there are no fixed scripts, just a concept, environment and story framework that the writer sets up, and which evolves dynamically based on the actions of everyone in the room. Sometimes, as the ‘writer’, it goes in a completely different direction to what you expected, and you have to pull things out of your ass which both deal with the unpredictable actions of the other players, and that somehow remains consistent with the overall story arc. Challenging though that is, that’s often when it’s most awesome. I strongly believe that this has taught me to improvise, think on my feet and generally be far more imaginative than I would otherwise have been, and I also believe those are very valuable skills today.

In a world that is moving towards automating mundane work, IMO your imagination is a more powerful asset than ever, so you should exercise and indulge it. Screw being a sensible adult, bring on the spaceships and dragons.

Personal Productivity

That’s me in the corner

That’s me in the corner
That’s me in the spotlight  ~ [Losing My Religion, R.E.M.]

I’m a classic introvert. I’m not shy, because introversion has nothing to do with shyness. It also doesn’t mean I have no social skills, no friends or that I can’t deal with personal contact – I’m quite happy getting up on a stage and speaking and have done so at several international conferences (and a local one last week), and I think most people will tell you I’m not afraid to express my opinion at such events. I’ve worked in and run teams with people from all over the world, and I enjoy many regular group activities. But even while I might enjoy group activities, while I’m doing so I’m burning through emotional energy, and eventually I just want to go somewhere quieter, either alone or with one or two people I know well enough that I can sit, think, read and say mostly nothing and it won’t be weird. That’s where I recharge and do the kind of deep thinking and independent creativity that I crave intensely. Some people like the ‘buzz’ of being around others all the time, but I don’t; extended periods of quiet solitude are absolutely essential to me, even if you can’t tell when I’ve got my ‘social hat’ on. When I go to these events I do so because I like occasional social contact, influencing and being influenced by other people, but it doesn’t mean I want to do it all the time. Don’t take it personally, but I need my space.

There are plenty of people who just don’t understand this, and even people who might relate to it but who have been convinced that it’s somehow an “incorrect” preference that they must learn to get over. Sometimes it seems like the modern world is all about 24/7 collaborative working, teams ‘working and playing hard’ together , open plan offices, and that social must be woven into every facet of your day, otherwise it’s somehow a lesser experience. It’s actually nonsense to think that this is a universal truth, and I’m glad that people like Susan Caine have written books and spoken so eloquently to large audiences on why some people are different, but still, it remains much more fashionable to be an extrovert. It certainly doesn’t help that the people who think extroversion is the norm tend to also be the loudest and most attention seeking people in the room, skewing the perception of the average towards that end of the scale.

So I’m very flattered when I get invited to events, programmes and group activities, and I’ll accept some of them. But if you’re expecting a fully engaged community person eager to fill his calendar with group activities, unfortunately you’ve got the wrong guy. Mentally I’d be a dried out husk in short order if I did that, and there’d be nothing left to do what I enjoy most – I’m an independent maker of things at heart, and while I love to meet and converse with people, receive feedback and debate, this isn’t how I actually work. For me it’s the occasional stuff between the ‘real work'; still important to do because it influences and informs the work, but it’s not the core of it like it is for some people.

That’s the best way I can explain how I like to work. I’m fortunate that I’m now in a position to choose to work how I want to, and I’m old enough that I don’t want to burn time working someone else’s way. Beyond that I’m also informed by a decade I spent over-working which caused me health problems and which I never intend to repeat. I sometimes get concerned that it may offend nice people when I stay somewhat at arms length from organised groups when they kindly invite me to take a more active role. Please know that it’s not you, it’s simply my preference and energy conservation system to be merely peripherally associated, but I hope we’ll continue to intersect occasionally & swap notes. :)

Business Games Personal

Free to play will neither destroy nor save the world

Money for nothingSo there’s been a ton of talk lately about the state of the mobile games industry, and specifically the place we’ve reached now in the race to the bottom on pricing,  which has meant people concluding that if you make a mobile game today, it has to be Free To Play to be successful, and that this fact is either ridiculously awesome because it’s leading to vast riches from new audiences, or that it’s an insidious evil which is destroying the game industry forever.

I’ll nail my colours to the mast right now and say that I don’t like free to play games. I think there’s only a very small segment of F2P that doesn’t fundamentally break game design by  relying on behaviour that is anti-enjoyment (such as the horrid timers and difficulty spikes we see so often), and that segment is occupied by a very small number of games, those where you only pay for cosmetic customisation, and those where you pay only once or twice for large chunks of content which are balanced just like a non-F2P game would be. Not many people manage to make this model work, because it’s harder and most studios are too busy chasing the juicier whale-driven bucks. Which is why I don’t even bother with F2P games anymore unless I know for sure they’re in this small segment, because I know they’re just going to be wasting my time. I just want to have an honest transaction with the developer, money for good content, period. If your game is constantly putting the begging bowl in front of me or engineering a kink in the difficulty curve just so I’ll spend money on finite consumable power ups (and for goodness sakes, even the formerly respectable PopCap now commits this crime), I want no part of it. My iOS purchases are limited to rare excellent pay-for titles like The Room and its sequel from Fireproof Studios.

Obviously there are large numbers of people out there that are totally happy with the F2P value exchange, willing to put up with timer gates and even willing to spend vast amounts of money on a ‘free’ game to get an easy ride. I can’t possibly understand it, but then I don’t understand why people watch soap operas either. Vive la différence and all that.

So why all the hand-wringing on this subject? Is the mobile game industry, or the game industry as a whole, doomed to fall into a rut of constant nickel-and-diming and gameplay compromised to fit the needs of a new business model? There seem to be a lot of people panicking about this, and it’s even infected the management at traditional AAA console studios, as the horrible debacle of the Forza 5 launch proves. Basically, some people even in the more traditional game industry have seen the millions that King are making every month and are being driven by the Fear Of Missing Out to shoehorn these models into their own games, even though the idea that  you should hold back launch content from a game you’re asking $60 for should feel absolutely abhorrent to anyone who really loves games. Clearly the tail (business) is wagging the dog (gaming) and it seems surprised when it backfires.

Personally I think it will all blow over. The trouble is that the traditional game industry always experiences instances of plateauing growth, which when coupled with ever-increasing budgets has a chilling effect on those holding the purse strings. We’ve had a couple of cases where a new audience has suddenly entered the fray, boosting the revenue of those that discovered it, and making all the suits in the other companies panic and rush to jump on the bandwagon. It happened with the Wii, after which suddenly every company needed to have a division targeting the ‘casual audience’, and suddenly everyone is building hardware and software which lets you interact with your games using waves and pelvic thrusts, even if you didn’t feel you needed that.

The mobile gaming industry has also discovered a whole new audience, or at least a whole new revenue stream which doesn’t overlap with the traditional PC and console gaming that much, such that it has delivered real growth again, so everyone feels they need to get a piece of it, and so tries to take what’s working in this new segment for others and crowbar it into their own games, even if it makes no sense whatsoever.

Growth is attractive, particularly to the kind of management bean-counters who have zero emotional commitment to the medium and might as well be organising shipments of corned beef as games. A gold rush always leads to a bulge of bad decision making which eventually corrects itself. People who prefer pay-for games have not gone away in this gold rush, they’re still there – they’re just not a double-digit growth target so they’re suddenly less interesting to these kinds of people who make reactive business decisions. Meanwhile, this segment is still being happily served by many developers, in the console and PC space, and they’re still an incredibly diverse bunch.

And really, it’s the diversity of the game industry that will make this whole F2P flap blow over eventually. Once the F2P profits stabilise in exactly the same way as every new market eventually does, it’ll just be another relatively stable market segment running in parallel with all the others in gaming. It’ll still be extremely good money, and when compared with previous decades it will no doubt have grown the overall revenue in games by capturing different demographic, but it won’t be growing exponentially any more. That doesn’t make it bad, in the same way that right now the other segments aren’t bad either – you can still make a good living today making paid-for political simulators, craft-em ups and luchador-themed platformer/fighter hybrids. When F2P eventually discovers its own inevitable plateau, perhaps some other growth segment will pop up and people will start saying that that is the only way to make profitable games now, and that it will now destroy the rest of the industry. Perhaps at that time you will roll your eyes in the same way I’m doing it now.

Because growth segments don’t destroy existing ones that aren’t directly comparable. You don’t have to make free to play games if you don’t want to, because the game playing public is far more diverse than that. Forget how much money King is making, it really doesn’t matter – OK if you’re fixated on being just a part of the mobile games industry you might find it harder (still not impossible, see Fireproof, Vlambeer and Simogo), but that’s your own choice if you decide to pen yourself in. I still buy the same types of games I did before F2P blew up, and so do millions of others, and there are a ton of indie developers out there making a decent living by ignoring F2P. Just because someone struck a brand new gold seam doesn’t mean all the other seams are now worthless.

So in short, yeah F2P is huge money. But we don’t all have to enjoy playing them, and nor do any of us have to feel forced to make them. There’s plenty of room out there for a vast range of content with paying customers waiting for it to be made, just the way they want. Get over yourself, F2P.

Cocoa Development OS X

Auto Layout and tab ordering

Because SourceTree has continued to support versions of Mac OS X back to 10.6 (Snow Leopard), we’ve still been using the ‘springs and struts’ approach to user interface layout up to now; we couldn’t adopt the newer Auto Layout without restricting support to 10.7+. So I’ve only just started experimenting with Auto Layout recently, and I ended up getting stuck for a while on something that seemed like it should be really simple, and yet I couldn’t find any hard information about it on Stack Overflow or via Google: how to specify tab ordering.

Usually, you don’t have to manually specify tab ordering – when you create a window layout in Interface Builder and drag controls on to it, tabbing between controls is just magically organised for you. The problem arises when you either:

  1. Need to customise that tab ordering, or
  2. Need to dynamically switch subviews in code, after which the ‘magical’ tab ordering fails to work any more

Without Auto Layout enabled, this is easily resolved – you just Ctrl-dragged from one control to the other, starting with the parent view if you’re talking about a custom view you’re switching out, and assigned the ‘nextKeyView’ outlet to the next control which should receive the focus on tabbing:

autolayouttab3

When using this with custom NSViews which I dynamically switched, when I embedded the new subview I’d use a simple line of code to automatically give the first control keyboard focus:

[viewContainer addSubview:newView];
[[self window] selectKeyViewFollowingView:newView];

That worked in countless interfaces I’d created in the past. But what I found when enabling Auto Layout is that you can’t Ctrl-drag to assign the nextKeyView outlet any more, because Auto Layout completely takes over the Ctrl-drag behaviour between controls to assign constraints:

autolayouttab4

Where did the outlets go? Why did Apple just completely remove them – these outlets are still useful even if you’re using Auto Layout. How in hell do I set them up now outside of doing it all manually in code?

After a lot of searching and failing to find anything, thinking that maybe I’m the only person to ever have this problem, I eventually discovered this option instead – you can still set the nextKeyView outlets up, but you have to do it backwards, from the next tab receiver to the previous one. And you can’t start it from the Interface Builder canvas. Instead, you do this:

  1. Select the target of the nextKeyView in IB
  2. Switch to the connections inspector (6th tab on the right hand side)
  3. Drag the circle on the ‘New Referencing Outlet’ entry to the previous control (which might be the containing view if this is the first control on the view)
  4. Select nextKeyView, like so:

autolayouttab5

Using that approach, you can still rig your tab order the way you want in IB with Auto Layout enabled, and make sure that switching subviews dynamically in code doesn’t suddenly break tabbing through your dialogs. Maybe I’m the only person to need this, or maybe there’s a more elegant way to do this that I don’t know about, in which case please tell me in the comments. Otherwise, I hope this saves someone else a bit of time.

Business Personal Productivity Random

Pendulums

20131202-165521.jpgI don’t know about you, but I’m a swinger. Not in the dodgy suburban wife-swapping sense, but in the sense that many aspects of my personality – creativity, gregariousness, concentration for detail tasks etc – seem to be in regular flux, swinging back and forth like a pendulum – the frequency (or period, physics pendants) is different for each but there’s definitely a cycle there.

I used to think this was odd, maybe even a sign of a very mild bipolar or something, because no-one in my professional circles really talked about it much. The working environment (at least the ones I’ve experienced) often tends to imply that everyone is expected to maintain a fairly consistent level of all the major personality traits all the time, what you might call your ‘baseline awesome’, otherwise how would you ever plan anything? Over 20-odd years I learned that peaks and troughs of personality traits like productivity and creativity are actually really, really common – maybe even universal – and the best thing you can do is roll with them as they happen. But I’ve also found that usually, the pendulums swing between 2 opposing but equally useful traits, both of which can be useful to indulge as they enter their dominant periods, if you allow it. The typical rigid post-industrial model of employment doesn’t always allow for this kind of flexibility of course, but bear with me.

Having slight or moderate swings in your affinity with certain aspects of work doesn’t mean you have periods of just being useless, at least if you don’t just try to force things (which can lead to disillusionment, apathy, conflict and other negative outcomes). It often means that to be most effective, it helps to be able to adjust your workload to better fit your current state. For example, I find that one of my ‘pendulums’ has exploration and creativity at one end, and nose-to-the-grindstone detail execution at the other. If you’re feeling capricious and explorative it’s great to use that to try new things, whereas other times you might just feel like cranking out implementations of existing ideas or really deep-diving into that gnarly problem you’ve been wanting to tackle for ages. Conversely if you’re trying to focus on detail work but you just keep getting distracted by other things, it can be more effective just to take a break and indulge those rather than force it – get the creative stuff out of your head and onto paper or something, and you’ll probably find yourself much more productive at the other task later.

Another pendulum for me is how social I’m feeling – sometimes I’m feeling gregarious and doing some workshop collaboration and customer support totally pushes my buttons, other times I just want to lock myself away and work on the really hard stuff without being disturbed. If you are a programmer, or live or work with a programmer, you’ll know ‘that look’ which just means ‘my head is full of complex state right now, keep walking’. At other times that person will be super-happy to shoot the breeze with you and knock out some brain storming sessions, it just depends on the day.

None of these states are absolute, nor are they immutable. You can drag your pendulum from one side to the other despite the inertia, it’s just that you put a lot of effort into doing so and will almost certainly not get an optimal outcome (and with a risk of the aforementioned negative outcomes). Sometimes you do have to do this, but whenever you can, indulge those pendulums in your head, work with your current vibe, and don’t feel like that’s a weird thing or somehow incompatible with being a valuable worker. In fact it’s the opposite in my experience – some of the best people I’ve worked with are inconstant, producing their best work when allowed to follow their gut. It’s the people whose pendulums have stopped, stuck right there in the middle at a predictable mediocre that I worry more about. ;)