Making mobile apps for developers, with Anders Borum - creator of the most popular git client, Working Copy - podcast episode cover

Making mobile apps for developers, with Anders Borum - creator of the most popular git client, Working Copy

Apr 04, 202432 minEp. 74
--:--
--:--
Listen in podcast apps:
Metacast
Spotify
Youtube
RSS

Episode description

Anders Borum shares how he created the number 1 git app in the app store - Working Copy.

What we talk about:

  • The origins of Working Copy
  • Word of mouth vs App Store Optimisation
  • One time vs recurring subscription


Links:

This episode is sponsored by WorkOS. If you're thinking about selling to enterprise customers, WorkOS can help you add enterprise features like Single Sign On and audit logs.

Transcript

Anders BorumAnders Borum

A rational decision would have been to try something else instead of sort of keep going. But I had this Yeah.

Jack BridgerJack Bridger

You had a vision.

Anders BorumAnders Borum

Patience. I don't know what the correct word is. Stubbornness is is a little more Hi,

Jack BridgerJack Bridger

everyone. You're listening to scaling DevTools. I'm joined today by Anders Borom, who is the creator of the working copy app. And this is our first episode with a developer tool that's a mobile app. So I'm super excited. Thank you so much, Anders, for joining.

Anders BorumAnders Borum

Thank you for inviting me, in full suit.

Jack BridgerJack Bridger

Thanks. And, shout out to Rauno, my app development guru friend who was like, you have to talk to Anders, about developer tools on on the Apple Store. So, Anders, could you tell us a bit about working copy?

Anders BorumAnders Borum

Yes. So so working copy is a Git client for iPhone and iPad, and Git being this version controls tool that so many developers use. So it just brings this to your mobile device, really.

Jack BridgerJack Bridger

This episode is brought to you by Work OS. At some point, you're gonna land a big customer and they're gonna ask you for enterprise features. That's where Work OS comes in because they give you these features out of the box. Features like skin provisioning, SAML authentication, and audit logs. They have an easy to use API and they're trusted by big dev tools like Vercel as well as smaller fast growing dev tools like Nock.

So if you're looking to cross the enterprise chasm and make yourself enterprise ready, check out WorkOS. OS. We've also done an episode with Michael, the founder of Work OS, where he shares a lot of tips around crossing the enterprise chasm, landing your first enterprise deals and making sure that you're ready for them. Thanks, Workhorse, for sponsoring the podcast, and back to the show. That's awesome.

And I I already have my feelings on this, but I'm gonna ask you anyway. So what is the difference versus, like, say, the GitHub app?

Anders BorumAnders Borum

Yeah. So, the GitHub app is sort of mostly for the communication aspects, and working copy is for working with the files, sort of with the the content of repository itself.

Jack BridgerJack Bridger

What would be like a typical use case? Yeah. So so

Anders BorumAnders Borum

very few people are doing full scale development on their phone. So they do work and copy tool. Look at things in the repository when they're sort of away from their regular desktop computer, or to make small changes. Then so other people are using it for non development person purposes or using it for blocking and and stuff like that. And and it it can fulfill that, but so so it get kinda it's sort of it's one piece in a tool chain, and a lot of the other pieces are not they're not on the iPhone.

They're not on the iPad. So so it's not so this is a compliment to people that use Git on their regular computer as well.

Jack BridgerJack Bridger

That makes sense. And even like small stuff I've noticed you can't really do in the GitHub app. I'm not sure if you can do this, but even just adding someone to a repo, it's very GitHub app seems to be very like you're consuming information. You're not really doing anything.

Anders BorumAnders Borum

Yeah. Yeah. So so I think they just want a lightweight sort of look at your repositories.

Jack BridgerJack Bridger

Yeah. And how did you get started?

Anders BorumAnders Borum

Yeah. So I think it was I was maybe I think I I started by misreading the market back in in in 2000 The best way. Yeah. I had made regular consumer apps for a few years, and there were sort of new capabilities, on iOS where it felt like the platform was sort of maturing, becoming a full scale computing platform. Apps control, speak to each other, share files, and stuff like that.

So I imagined that it was a matter of a few years, and and people would be using their especially that I've had for so, full scale computing and developer tools could be there, and everything would be there. And a gift card was, of course, needed. So I started working on that. So wanting to be early, it didn't really it didn't pan out that early. It's it's, there were, sort of policy limitations where there were opportunities were not allowed to can't do with the detail, but you would you couldn't build a compiler, for example.

You couldn't publish it. There's a lab store, and you weren't allowed to, run binary code that wasn't proved. So it's weird limitations. It didn't hit me directly, but, of course, it hit me indirectly, because all the other pieces of of of the toolchain were blocked. So there's no category?

Yes. Not at this point. And it it was, I know that that was around the same time, there was some Python IDs, and people tried to make make cool stuff, but just fighting with fighting with Apple, fighting to get approved. So it it sort of it dampened the the whole category.

Jack BridgerJack Bridger

Yeah. So and then once you kind of got it out, did people start using it in it, like, immediately, or was it like a

Anders BorumAnders Borum

I I did get some that there were a few issues, but it it was it was a little slow. But I had this hope, of course, that that this was I was ahead of the curve, and and, as other developer tools appeared, the need for a good plan would sort of increase. And it did in some way, but not nearly as much as I had hoped. But now, Cindy has stated, so I I I think I do have sufficient users, and the app is a success. But my sort of my strategy back in 2014, it would be yeah. It was wrong.

Jack BridgerJack Bridger

Yeah. Yeah. So but but you so, like, in your strategy, maybe you would be GitHub right now, but, like, you're still you're still built, like, a great a great business, a great app. I know Raul knows, like, Anders is Anders is doing really well. So, like, I know I I know it's panned out well. How do you think, like what do you think are, like, the biggest contributors to, like, you getting to the point you're at now?

Anders BorumAnders Borum

Yes. I think, patience, thought of, or or maybe not sure what the correct word is. The sort of or or stubbornness is is maybe more. But I I I think Yeah.

Jack BridgerJack Bridger

You had a vision.

Anders BorumAnders Borum

Yes. Yes. And I think looking at at the early novels, so a rational decision would have been to try something else instead of sort of keep going. But I could I I made a living from consulting. So I it didn't need to sort of bring in a lot of money, the first few years. But slowly, I I I I could see it growing, of course. So so that, that made it worthwhile. But

Jack BridgerJack Bridger

My my I think my favorite meme of all time is, like, we do this not because it is easy, but because we thought it would be easy.

Anders BorumAnders Borum

Yeah. Yeah.

Jack BridgerJack Bridger

And yeah. It's it's really cool. So most people listening probably are like me and that we don't really know very much about, like, app store marketing. How do you get users in the app store?

Anders BorumAnders Borum

This is sort of one of my internal struggles. So the App Store is great for mass market products, and a good client for your public computer is not a mass market product. So I think it ends up being word-of-mouth and not so much the app store itself. It it's yeah. The developers talking to each other than me sort of shouting from every social media, stuff like that.

But I think the app store itself, even though I I can sort of if you search for Git, might have a peers, but many potential users would never think to search for git in the App Store because they they don't think that they need this. It's a patch, though, but perhaps they do, but they would never even try to search for it.

Jack BridgerJack Bridger

So Yeah. So do you, like, do you have like kind of like a typical journey of like when they do, like, it's it's like their friend says to them, you have to have working copy.

Anders BorumAnders Borum

Yeah. So so so I love that, Heather. And I I think that does happen a lot. So it just it slowly spreads, and and I think the app is I think we put in a lot of work and solve the projects we work on are so dear to us. So I also think that working copy, just having for a developer to be able to carry out around their work with them and have a look at it, even if they don't do it all that often, is sort of it is a value to them. It is something that they like, and it appeals to a lot of them.

Jack BridgerJack Bridger

Yeah. It's it's for that totally makes sense. Like, it's like you haven't got to take your laptop with you on a trip because you know that, like, if something really hits the fan, you could use working copy on your phone to make a small change or something.

Anders BorumAnders Borum

Yeah. Yeah.

Jack BridgerJack Bridger

That's really cool. And how about, like, monetization and stuff in the App Store?

Anders BorumAnders Borum

Because we can copy it. It is a complimentary tool. It's very few online users have sort of this is not their one Git client. This is sort of their other Git client. So I can't be I need to be super careful about, charging users.

So, I think most are most professional tools on iOS, are subscription based. The pricing model that that users really that they like, I can't force them. If if I charge too much money or, a recurring subscription or something they don't like, they'll just they'll just choose their laptop. It's I think my tool is sort of it's something they have to like it because they don't need it as such. So I have that the users pay for the app.

And after a year, as of new new features appear, they can pay again, but they can also sort of not pay again and not get the new feature. So the app is, it's sort of sitting between 2 chairs. It's not, it's not a subscription because they're not forced to sort of subscribe. But they do have to pay for that, and they do have to pay for the features, but they have this sort of they can pay and then stop paying, and they adjust sort of stops improving. Mhmm. How how

Jack BridgerJack Bridger

much do they pay?

Anders BorumAnders Borum

I think it's $30, around maybe 32. And and and if they after this year, if they want the new features, then it's half half that sort of upgrade. Mhmm. So it's sort of yeah. I'm I'm looking at it feature wise when are the features added and so so it's it's it's this weird mix.

You could call it a it's been the closest is is kind of sketch did it in the early days where you could you could you purchased there, and you got a a year's worth of updates. Yeah. And after this year, you could keep using the last update. So this is what I'm aiming for. Yeah. But I think most more professional iOS apps, they charge a subscription, and it would be great for me if I could do that by now because this is the it it's the 2nd Git plan for most of our users. It's it's too risky.

Jack BridgerJack Bridger

And just to be clear, when you say 2nd Git client, you mean, like, primary is like that they're just doing it from their computer?

Anders BorumAnders Borum

Exactly. So my competition isn't other apps. My competition is

Jack BridgerJack Bridger

Come online.

Anders BorumAnders Borum

Exactly. Or get clients on your regular computer.

Jack BridgerJack Bridger

Do you do a kind of Mac app of working copy as well? Or

Anders BorumAnders Borum

So I I have one running in sort of a development build spot. It's not nice enough to publish, but it it's something I'm working towards because that has sort of increased utility, and, I could do very different pricing, I think, on a Mac client.

Jack BridgerJack Bridger

Yeah. Who who who pays actually for is it like a is it a business expense for most people or is it like a

Anders BorumAnders Borum

I think it's a personal expense for most people. I I think, it's a little bit difficult to get businesses to purchase apps for their employees. It's more difficult than it should be, really. Yeah. And this plays into the same job. So this is also why the users need to want to pay because they are it's very much for voluntary and out of their own pocket.

Jack BridgerJack Bridger

Yeah. It's kinda hard, I guess, with, like, the app store as well. I imagine, like, is is a person is, like, a consumer, I wouldn't even know, okay, how would I, yeah, how would I go about that? Like, I'd have to get my boss to, like, buy a subscription somewhere and send me a code or, like, it's I guess it's hard to know how that would work, or I just have to do an expense report.

Anders BorumAnders Borum

There are sort of there are special ways to do it, but Yeah. I think either you need to to reach enterprise customers and sell through the whole fee of the biases for some company. And that would be great, of course, but requires sales muscle that I don't have at all. Or it it it becomes also you have to sort of get a refund on the purchaser. It's it's yeah.

Jack BridgerJack Bridger

I'm, so I'm kind of fascinated by your you're in the same mastermind with Rauno. Right? You're in Mhmm. So could you talk a bit about this mastermind that you're in?

Anders BorumAnders Borum

Yeah. So so we're just a bunch of people with a with different absence. Ronald has so many, and I have a few and and so all the participants are 1. And we have very different levels also sort of financially, so are doing extremely well.

Jack BridgerJack Bridger

And Yeah. Some are making, like, millions. Right? Like It's it's it's

Anders BorumAnders Borum

it's Yeah. Yeah. Yeah.

Jack BridgerJack Bridger

Yeah. It's like 1 person developer.

Anders BorumAnders Borum

Yeah. Yeah. But but, of course, all our apps do, they do different stuff, so it's hard to sort so so we can help each other so on the these App Store specific things, but becomes a little bit difficult. So, on every app is its own domain and, but we have stuff about Apple and about the App Store and how to try to get noticed, we can help each other out there.

Jack BridgerJack Bridger

Yeah. Have you got any, like, the things that come to mind that you've, like, kind of gone to the group with and then what you kind of took away from it? Be kinda curious.

Anders BorumAnders Borum

So so one thing I'll say is that so the big difference in the App Store is also what kind of user are you targeting. So if you're targeting developers like me, then you're just in a very different situation than if you're doing something. If you're doing a game or

Jack BridgerJack Bridger

A calculator.

Anders BorumAnders Borum

Yeah. Yeah. So if one of us is doing sort of a a weight lifting app, then many of his sort of struggles will be sort of very different from the one Yeah. I'm seeing. So, and his users would be so they have different needs, and and you reach them in a different way, of course. And and so just so there are a few things that sort of where we are, sort of, that we can help each other and and we have the same problems, but maybe 90% of things. So

Jack BridgerJack Bridger

Interesting. It

Anders BorumAnders Borum

is different worlds, even though we are both making apps for sort of mobile devices.

Jack BridgerJack Bridger

So is it just kind of constant uncharted territory or just trying stuff?

Anders BorumAnders Borum

That's yeah. I I think there's some of that. But and so so you look at what other people are doing and what other, I look inside my category and see what is the cool stuff being done by other available tools, what are the good ideas, what don't I like, and, of course, I navigate based on so it it it isn't all it's not totally uncharted. It's but there's a bit of that. Try something, see if the user likes it, and try something else when they don't.

Jack BridgerJack Bridger

Yeah. And when you say, like, try something, see if the user likes it, like, are you talking about kind of, like, new features, or is it, like, just a different way of doing the same thing, or is it, like, just moving stuff around? Or like how It could be superficial stuff like

Anders BorumAnders Borum

changing how the app is presented on their store. Sort of the screenshot shown or whatever. It could also be sort of trying to take the app in a new direction. This new feature, opening something up. And depending on sort of what my analytics show, I might remove it again, really extreme or or just so not do much more. But, of course, it gets usage then. It'll be improved and expanded.

Jack BridgerJack Bridger

Yeah. That makes sense.

Anders BorumAnders Borum

Yeah. Yeah. But I think it's it's important. So, the users even though they're so they're maybe just using the app for sort of a few things, It seems to be important that it that there needs to be meaningful improvements pretty often, or they sort of, do confidence And so I I do need to it it needs to grow sort of feature wise or, what needs to change or or the users will think I've got a cut about it or doing something else. And and and it will reflect on my download number and and then my sales.

Jack BridgerJack Bridger

How do you know if something was good?

Anders BorumAnders Borum

I know from I get sort of direct user feedback on, and just emails.

Jack BridgerJack Bridger

So you have a community?

Anders BorumAnders Borum

Yeah. So yeah. So a little small community. Nice. But also I saw a a measure. So that in broad shows what the users are doing. That will tell me if nobody is doing something, then maybe it's not very good or too hidden or something like that.

Jack BridgerJack Bridger

What's, like, the best change you ever made?

Anders BorumAnders Borum

Yeah. So it it sounds, it it it sounds strange, but so it's just repositories or gift repositories are just directories with all your stuff. And also impactful improvement I made today was just to allow these repositories to sit outside there itself. So inside of that apps. So it could be sort of, maybe they're using something like, obsidian to to manage their notes on.

And they want to they want it to be a repository as well. He able to do that. So it it's That's cool. It is about your cooperating with the other apps the users have on the device.

Jack BridgerJack Bridger

Yeah. That doesn't sound silly at all. I thought you were gonna say the best thing you ever did was, like, I don't know, change 1 change, like, the subject line on on that.

Anders BorumAnders Borum

Yeah. But the silly thing is that that this is sort of a Git client on any other platform would be like this from the Yeah. From the first version. But it's it's just the way iPhone and iPad apps are sort of generally built. Everything's living inside The same little world. Sort of document folder in the app. But changing that, that made a huge difference.

Jack BridgerJack Bridger

I've got to ask the reverse. Like, what was the worst what was the worst change you ever made that you were like, okay. I could change that back.

Anders BorumAnders Borum

Yeah. So so I wasn't actually able to change it back because if I added a feature that sort of allowed working, running the SSH commands. So it's running sort of commands on your server with the files inside the app, and it would it would upload the entire sorry. So run the file on the server and then fetch back everything that changed. And, of course, this was in frustration with the, much of the developer toolchain being missing from from the devices.

Once I added this feature, though, so no way to take it back because people are already using it, but it was just they want more and it sort of so it's and it it wasn't meant to be a core feature of the app. It's that has supposed to be a good plan and Yeah. About committing and pushing and stuff like that. And suddenly, it became about managing your SSH servers and different ways to sync files and

Jack BridgerJack Bridger

Yeah. So maybe it should have been like an a separate app or something.

Anders BorumAnders Borum

And then and I ended up doing that. So I ended up making it up for that. And then every time I get requests on how this should be more flexible or do stuff from different I I can point them to a sort of dedicated tool because it was just yeah. It it it was a small feature that sort of just grew like a Ballooned.

Jack BridgerJack Bridger

Yeah. That's really cool. That's really cool. Do you do you have, like, a kind of a launch strategy or something like that when you're gonna do, like, a new app?

Anders BorumAnders Borum

I tried to it it's it's very basic, really. So I have, I have newsletters for my apps, and I start to start to seize my new products maybe a few months before they're really just when I'm right about the time where sort of beta testing starts. So I collect the list of users that are interested, and then when I'm ready to launch, they get an email. So it it's it's very old school, but I I I think it works. And if the apps are useful, then slowly, the work gets out.

Jack BridgerJack Bridger

Okay. That's really cool. So you kinda got, like, a brand. Like, people associate you with making apps that they like.

Anders BorumAnders Borum

Yes. Yes. Yeah. There's some so when I launch a new app, you can sort of there'll be a few days where I have many more sort of sales than I have people starting a trial, which would be weird, right, because you you want to see if this is even working.

Jack BridgerJack Bridger

Yeah. But I

Anders BorumAnders Borum

think if people just sort of yeah. They just want it. So so that's, of course, that's a privilege. That's very nice.

Jack BridgerJack Bridger

Yeah.

Anders BorumAnders Borum

Yeah. But I think just just sort of making something useful, keeping it up, keeping it updated over many years and taking user feedback seriously, then slowly but surely, people will trust your work. So even the new work

Jack BridgerJack Bridger

Yeah. It must be a great app if people are, like, really, really trusting you. I need to try it myself. I realized I think I've said recently, I've realized limitations of of the GitHub app. It's great, but it's really, yeah, just very simple. One one kind of off b question. We don't, I know we don't have many, like, mobile developers on the show. What, if any, developer tools do you use that you really like?

Anders BorumAnders Borum

Yeah. So, oh, it's iOS developers, they need to use Xcode. That's not really a choice. That that's all the the Apple, ID, but then I use Versus Code. Interesting. Versus Code? Yeah. Bb edit is a Mac editor. I really like him.

Jack BridgerJack Bridger

Bb edit.

Anders BorumAnders Borum

Yeah. And on the Mac, I use, for sort of my own Git purposes, I use either tower, the ticket client, and just the command files.

Jack BridgerJack Bridger

Do you use any of, like, like, revenue card or anything like that?

Anders BorumAnders Borum

I I don't. I did it looks super useful, but somehow I saw

Jack BridgerJack Bridger

already solved it all.

Anders BorumAnders Borum

Yeah. So so so then maybe if they've been there back in 2014, I would definitely have used them, but but I sort of, I solved all the yeah. I I I did the work, and then I think they're sort of they're focused on subscriptions, and and that's a bad fit for working copy.

Jack BridgerJack Bridger

Yeah. And how about, like, deployments, like CICD stuff? Do you use any of those tools? There's a few.

Anders BorumAnders Borum

Nothing. So so I I do I use GitHub actions for sort of for build building some of the libraries I'm using. So I I deliver the apps in a special sign format for Apple.

Jack BridgerJack Bridger

Yeah. Interesting. It sound just it sounds like all the stuff they use is like you you haven't got too many subscriptions yourself, it sounds like.

Anders BorumAnders Borum

Yeah. That is true.

Jack BridgerJack Bridger

It's like your philosophy from, like, working copy is, like, the same as, like, your philosophy in, like, your tool choices, I guess.

Anders BorumAnders Borum

Yeah. Yeah. So I think with regards to subscriptions, I remember, this is many years ago now, but, JetBrains, and they get unsure developed tools. When they switched from the solo, the original sort of paid ones could use it for, you could update for a while. They switched to there was just such the the users got really angry, and I think developers are more opposed to subscriptions for sort of for the tool they run on their machines.

I I think it's if you know there's a a service running somewhere and, crunching numbers or storing data, that's a different situation. But stuff, it's you download your application. It runs on your Mac or it runs on your whatever computer you're using. Many developers will be your post subscription. So you really need you only need to force them to, so I could just see if JetBrains that make huge deep tools that are sort of used all day, all night by some developers, and still they sort of resist it, then I cannot make Yeah.

A much smaller tool that they have an alternative on their laptop. So I yeah. So so that's really one of the reasons I'm avoiding subscriptions.

Jack BridgerJack Bridger

It makes sense. Anders, I think that's all we've got time for. If you had, like, one piece of advice for someone that was, like, thinking of doing, like, a developer tool app, what would it be?

Anders BorumAnders Borum

I like what it I do like making these tools, and I like like the sort of the space I carved out for myself on the App Store. I think perhaps I made it so my life would have been easier, I think, is just focusing on a traditional software as a service. I think the app store is is sold. It's a difficult market, I think. So if you do it, you you should do it because you absolutely want to because it will not be the easiest way to make a living.

Jack BridgerJack Bridger

Yeah. Okay. The the the advice is maybe don't.

Anders BorumAnders Borum

No. That's what they have. Maybe. So so but

Jack BridgerJack Bridger

yeah. Yeah. That's I mean, that's good advice. That's good advice. And if people wanna learn more, about you, where can they learn more?

Anders BorumAnders Borum

I'm Palmin, p a l m I n, on Twitter, and they can do another working copy at working copy. App. Yeah. And they can just they can write me an email or a tweet or something like that, and I'll respond and yeah.

Jack BridgerJack Bridger

Amazing. Maybe one person will be safe from taking their laptop on holiday with them for, discovering working coffee. Yeah. Anders, thank you so much, and thanks everyone for listening. We'll see you again soon.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast