· 31:57
A rational decision would have been to try something else instead of sort of keep going. But I had this Yeah.
Jack Bridger:You had a vision.
Anders Borum:Patience. I don't know what the correct word is. Stubbornness is is a little more Hi,
Jack 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.
Jack Bridger:Thank you so much, Anders, for joining.
Anders Borum:Thank you for inviting me, in full suit.
Jack 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 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 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.
Jack Bridger: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.
Jack Bridger: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 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 Bridger:What would be like a typical use case? Yeah. So so
Anders 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.
Anders Borum: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 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 Borum:Yeah. Yeah. So so I think they just want a lightweight sort of look at your repositories.
Jack Bridger:Yeah. And how did you get started?
Anders 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.
Anders Borum: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.
Anders Borum: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?
Anders Borum: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 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 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.
Anders Borum:It was wrong.
Jack 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.
Jack Bridger: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 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 Bridger:You had a vision.
Anders 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.
Anders Borum:But slowly, I I I I could see it growing, of course. So so that, that made it worthwhile. But
Jack 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 Borum:Yeah. Yeah.
Jack 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 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.
Anders Borum: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 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 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.
Anders Borum:It is something that they like, and it appeals to a lot of them.
Jack 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 Borum:Yeah. Yeah.
Jack Bridger:That's really cool. And how about, like, monetization and stuff in the App Store?
Anders 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.
Anders Borum: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.
Anders Borum: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.
Anders Borum:How how
Jack Bridger:much do they pay?
Anders 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.
Anders Borum: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.
Anders Borum: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 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 Borum:Exactly. So my competition isn't other apps. My competition is
Jack Bridger:Come online.
Anders Borum:Exactly. Or get clients on your regular computer.
Jack Bridger:Do you do a kind of Mac app of working copy as well? Or
Anders 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 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 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.
Anders Borum: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 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 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 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 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 Bridger:And Yeah. Some are making, like, millions. Right? Like It's it's it's
Anders Borum:it's Yeah. Yeah. Yeah.
Jack Bridger:Yeah. It's like 1 person developer.
Anders 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 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 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 Bridger:A calculator.
Anders 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.
Anders Borum: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 Bridger:Interesting. It
Anders Borum:is different worlds, even though we are both making apps for sort of mobile devices.
Jack Bridger:So is it just kind of constant uncharted territory or just trying stuff?
Anders 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 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 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.
Anders Borum:But, of course, it gets usage then. It'll be improved and expanded.
Jack Bridger:Yeah. That makes sense.
Anders 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 Bridger:How do you know if something was good?
Anders Borum:I know from I get sort of direct user feedback on, and just emails.
Jack Bridger:So you have a community?
Anders Borum:Yeah. So yeah. So a little small community. Nice. But also I saw a a measure.
Anders Borum: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 Bridger:What's, like, the best change you ever made?
Anders 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.
Anders Borum: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 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 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.
Anders Borum:Sort of document folder in the app. But changing that, that made a huge difference.
Jack 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 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.
Anders Borum: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 Bridger:Yeah. So maybe it should have been like an a separate app or something.
Anders 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 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 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 Bridger:Okay. That's really cool. So you kinda got, like, a brand. Like, people associate you with making apps that they like.
Anders 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 Bridger:Yeah. But I
Anders 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 Bridger:Yeah.
Anders 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 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.
Jack Bridger: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 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.
Anders Borum:Versus Code? Yeah. Bb edit is a Mac editor. I really like him.
Jack Bridger:Bb edit.
Anders 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 Bridger:Do you use any of, like, like, revenue card or anything like that?
Anders Borum:I I don't. I did it looks super useful, but somehow I saw
Jack Bridger:already solved it all.
Anders 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 Bridger:Yeah. And how about, like, deployments, like CICD stuff? Do you use any of those tools? There's a few.
Anders 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 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 Borum:Yeah. That is true.
Jack 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 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.
Anders Borum: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.
Anders Borum: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 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 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 Bridger:Yeah. Okay. The the the advice is maybe don't.
Anders Borum:No. That's what they have. Maybe. So so but
Jack 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 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 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.
Listen to Scaling DevTools using one of many popular podcasting apps or directories.