< How much should be in each app release? | Advice for software developers who want to work from home > |
Recorded – watch the full episode on YouTube.
When we’re writing code we also end up with lots of extra bits and pieces along the way. How can we turn those byproducts into real products by themselves?
James Thomson: That's what happened with a lot of the stuff when I was learning things for the About screen and with SceneKit – I never took anything out. All the little experiments and things. Like how do I build a helicopter? There's a helicopter at the bottom right hand corner of the map. If you go find that, you can fly it around.
Just ship it all. Even if it's silly, even if it is, well, there's a castle and there's a panda wearing a crown at the center of the castle. Just put it in.
Occasionally I get a message from somebody who's been using PCalc for years and who has stumbled, has somehow missed the whole about screen thing, and has stumbled into it. And has spent several hours just falling down this rabbit hole of things.
And they emerge kind of blinking into the light. And that's a wonderful feeling because I did that with about screens a long time ago. And if I can sort of inspire somebody to do something silly or whatever. I wouldn't say paying it forward because it's more like unleashing a curse on future generations.
With the dice stuff it was using that knowledge to come up with a product that might actually be useful to somebody. The about screen is not useful. But the Dice app, people are actually buying it and using it.
A lot of it is learning. With the dice, say Apple introduces a new way of doing lighting or materials. Or like they did reflections which was something that appeared in iOS 13, so you could have two metal dice next to each other that reflect off each other. And it's a great playground for that.
The other thing with Dice and with the about screen, I mean, I started the about screen in 2016. And as you may remember, 2016 wasn't a great year. Unlike 2020, which is going great.
"The amount of work that I spent on Dice is not in proportion to the amount of money it makes. It's more in proportion to how fun it's been. Working on something that can make me a bit happier or take my mind off stuff."
But the point of that was it was an escape. I want to do something fun, I want to do something that is going to occupy my brain, I want to do something that is going to help my mental health. And this will feed back into the whole conversation about working from home and indie life and working for yourself – how do you stay sane doing all this stuff?
Some may argue that I've skirted those boundaries quite a bit. But Dice is that as well. The last month has been pretty difficult for a lot of people, myself included. And it's nice to have some something that I can play with, that I can do stuff with. Dice is a small part of our income stream. It's a nice part. It's not nothing. But it's very small. The amount of work that I spent on Dice is not in proportion to the amount of money it makes. It's more in proportion to how fun it's been.
Working on something that can make me a bit happier or take my mind off stuff. There's different bits of code will work in different ways for me. And one thing that I can do now, which is a silly thing, is I can design a new set of dice. I'd like a nice set of wooden dice with a little sort of metallic silver inlay on them. That'll take me half an hour or an hour or something to do that. But I can sit down, it's a little thing I can do. It's a very small self-contained thing. And then I have a new set of dice that I can put in the app. But it's something that can take my mind off stuff and de-stress me.
There's something about that act of creation and those kind of games, where it's really nice. It's a nice thing to do. And it's a fun escape. And other code doesn't work that same way.
When I'm working on PCalc, at some point PCalc feels like a job. It's a proper job. You sit down, here are the things that I need to do. Here are the things that people are expecting me to do. I have to make these deadlines. I have to do this. There's a bunch of stress involved in that. Especially when I don't manage to do the thing that I want to do in a particular timeframe.
“I try and think of it as recreational coding versus work coding. And coding is also still my hobby as well as my work. So a lot of the Dice stuff, I've been doing in the evenings. So, I'll work on PCalc during the day and I'll work on Dice in the evening.”
Last year, last summer, there was three or four major items that I wanted to get done. And I couldn't get them done in time. So I had to ship what I had. I try and think of it as recreational coding versus work coding. And coding is also still my hobby as well as my work. A lot of the Dice stuff, I've been doing in the evenings. So, I'll work on PCalc during the day and I'll work on Dice in the evening.
It's just a nice way to unwind and it's working on something where there isn't an economic pressure associated with it, or a business pressure, because people are playing D&D with this. It's not life or death. Some of the things people use PCalc for are life and death. Somebody wrote to me telling me how they were using it to calculate anesthesia amounts for children. And you think, “I don't want to get that wrong.”
Paul Hudson: And you still want to consider replacing your maths library one day. That's super brave.
James Thomson: Well, that's partially why it hasn’t happened. I mean there's a lot of stuff that I need to do in terms of adding a lot more unit testing and stuff so that I know if I make a change to the low level stuff, it's all still good or better.
There are things like that where it stops and makes you think, I mean there are people I know who bought PCalc, and this was a while ago at the facility in the United States that constructs and maintains the nuclear arsenal.
So you have two ends of that. There's like nuclear weapons and the health of children, those are pressures can get a little bit disturbing. So Dice is nice and low stakes. Unless I find out that people are using Dice to make serious decisions, but I don't want to know!
This transcript was recorded as part of Swiftly Speaking. You can watch the full original episode on YouTube, or subscribe to the audio version on Apple Podcasts.
SAVE 50% To celebrate Black Friday, all our books and bundles are half price, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.