PodSearch

Under the Radar

What's In Our Toolbox: Code & Design

 

00:00:00   Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment.

00:00:06   And I'm David Smith. Under the Radar is usually not longer than 30 minutes, so let's get started.

00:00:10   So today what we wanted to do is to talk through essentially the tools in our toolbox.

00:00:16   So these are the apps and services and things that we use to do our job of being indie app developers.

00:00:24   And it's a topic that came up just recently. I was just thinking about how I'm very set in my ways with a lot of these tools.

00:00:32   There are a lot of these things that I've been using for the entire 17 years that I've been an app developer.

00:00:38   There are some that are new and changing. And what's interesting about my list is probably, and I'm certainly yours too, Marco,

00:00:44   is it is so many of these tools, there's lots and lots of options. There's lots of things that you could do to accomplish that end.

00:00:52   Like, say you just want, you know, what is your coding plain text editor? There are a hundred of those probably in the world with various benefits, various changes.

00:01:01   And some of those, sometimes it's easy to switch because there's some new thing comes along, you see something that just works a lot better for you,

00:01:08   or replaces something that has fallen into disrepair, or those kinds of things. But often what I find is you just end up in these ruts,

00:01:15   where these are the tools that I use, and these are the tools I use in some ways because they were the first tool that really solved the problem.

00:01:21   And now I have muscle memory, now that I just know how things work, and the reason you stick with something can be really small and subtle.

00:01:27   And so I guess mostly that caveat is just to say I'm not necessarily saying that these are the best tools,

00:01:33   I'm just saying these are the tools that I use, and hopefully you can learn something from that because I find them to be very productive for me,

00:01:40   you know, based on my 17 years of being an iOS developer, but your mileage may vary, I suppose. That's the disclaimer I'm trying to make.

00:01:46   Yeah, and I'm really, honestly, looking at the list that you've made here, there are so many tools here that I have never even heard of,

00:01:54   let alone used myself, so I am going to be doing a lot of learning and note-taking and opening up a whole bunch of browser tabs today,

00:02:01   so let's just get into this.

00:02:03   Yeah, so I think we will do our best to have some links to these things in the show notes, so don't feel like you need to pull over to write them down if you are following along at home.

00:02:12   So coding seems like obviously the first place to start, and obviously the main place that I do coding is in Xcode,

00:02:18   which increasingly weirdly feels like something that is probably worth pointing out.

00:02:22   I think when I was first making this list, I thought, oh, well, that's like a given, not even worth discussing,

00:02:27   but from what I understand, there's a variety of other new source editors that some people use.

00:02:32   Some people use VS Code, there's a thing called Cursor, which is kind of more an AI tool for a lot of this stuff.

00:02:36   For me, Xcode is what it is. I use it, it's great, to the degree it is. Xcode previews are an indispensable part of my workflow now.

00:02:45   Even when I'm doing UI kit work, I'm always wrapping it up in the Swift UI view so that I can use Xcode previews.

00:02:52   Xcode has a lot of issues and frustrations and things that are challenging about it,

00:02:59   but ultimately it's a tool that I know really well and is something that I find slowly gets better,

00:03:06   and every year it seems like there's three improvements added and two problems added.

00:03:12   So you end up eventually, over time, moving forward, but it is certainly not without its problems as a result.

00:03:18   Yeah, it seems like every couple of years there's a new IDE or a new stack that you can use to make iOS apps instead of using Xcode.

00:03:28   I have never been tempted by any of them because I like Xcode.

00:03:32   I like using the first-party IDE with the first-party language and the first-party frameworks and all the first-party tools.

00:03:39   I like all the integrations. A lot of the stuff, you can use certain command-line tools and Xcode build and the command-line and stuff like that

00:03:47   to do different packaging tasks or different compilation phases and stuff.

00:03:52   I typically don't do any of that. I find that I like everything to be in the IDE.

00:03:59   My needs are not so advanced that I need anything that can't be done there, and so I do as much as possible in Xcode, with a few exceptions.

00:04:08   I do not use Xcode for source control. It does have built-in support for source control.

00:04:13   You can use it instead of a Git app. We'll get to that later. We'll use it for those.

00:04:19   I don't use all of Xcode's features, but I do almost all of my actual programming in Xcode.

00:04:27   I think something that's really interesting about Xcode, I've noticed, and this mostly would come up at WWDC or situations like that

00:04:34   when you're with a bunch of other developers who are all working, have their code out or looking at code examples or things like that.

00:04:40   Everyone's use of Xcode, I think, is somewhat unique to them.

00:04:43   There are some areas, tabs, features, views even, of your code that I just never go into.

00:04:51   There's one that's... I don't even know what it's called, but there's a way you can view the code rather than by source file, but by entity type or by hierarchy.

00:04:59   There's things like this that I've never used. For me, my left panel is always just files on disk, and that's all I use there.

00:05:08   Some of the other companions and things and canvases, there's all these other features and things that you can get into. Never use it.

00:05:15   I find a version that works for me, and I've customized a bunch of keyboard shortcuts for things that work well for me.

00:05:23   Command-P in my Xcode doesn't print because I've never wanted once to print my source code.

00:05:29   Instead, it reloads the currently active preview, which is a thing that I do hundreds of times a day.

00:05:35   Things like that are just... I wouldn't be able to use someone else's Xcode nearly as productive as I am with my own.

00:05:42   Yeah, it's an incredibly deep app, and there's all these different panels and navigators and inspectors and different modes you can be in.

00:05:51   Not only do I not use most of those, I actually find a lot of the interface to get to those so confusing that I often need to do web searches to figure out,

00:06:02   "How do I get to this feature?" or "How do I close this thing I accidentally opened?"

00:06:07   There is so much functionality in Xcode that a lot of times the way you get to something is through some really obscure menu item,

00:06:17   or the way you close something or move something is some tiny little button somewhere in the interface that you would never have thought that's what that button did.

00:06:25   So, it's a very deep app, and I use probably 5% of it, but that still is all of my coding work.

00:06:33   And then for non-Apple platform coding, obviously I'm not going to be writing websites in Xcode.

00:06:41   I'm sure there are ways that you could, but it is not really optimized for that.

00:06:46   So for all of my code writing for things like the PHP and Go backend code for my web servers, and pretty much any other code that is not writing stuff for Swift or Objective-C,

00:07:01   all that stuff for me is still TextMate 2, the app that just won't die.

00:07:07   Me too.

00:07:09   Yeah, it's a good app. There are all these new code editors now that have come out in the last, in the more recent 20 years.

00:07:18   In the last 20 years.

00:07:19   Yeah, right. So there's all sorts of code editors now that everyone uses, and they all sound really good.

00:07:24   I've seen some of them here and there, and if TextMate finally stopped working, I would have no problem finding other good text editors out there.

00:07:34   A lot of people, I know people love VS code, people love, I mean, god, we miss the whole generation of all the JavaScript-based ones.

00:07:42   There's all the, obviously, BB Edit from back in the day is still going and is still being developed actively, and people love BB Edit as well.

00:07:52   There's a whole generation of modern editors.

00:07:56   So I feel like in the industry we have this embarrassment of riches of great programming text editors now.

00:08:02   So there's really no shortage there, but yes, I still use TextMate for mine.

00:08:07   Well, and I think with TextMate, the thing that it strikes me as, and it just is a reminder of the power of plain text, maybe.

00:08:13   Like, in a sense that, you know, there are some parts of what we do where plain text is the right answer.

00:08:20   You know, and like treating it like plain text, that I don't need, you know, sometimes you want an IDE.

00:08:25   Like Xcode is doing a lot of work to make Swift development and Swift UI development in particular very productive and straightforward.

00:08:32   But often what I want is just a plain text editor, and what I enjoy about TextMate, in addition to the tremendous amount of muscle memory and experience that I have with it,

00:08:41   that I just know exactly how it works, you know, I don't have to think when I use it.

00:08:45   It just, you know, I can take my thoughts and put them into the code as quickly as possible.

00:08:50   But it's not trying to do something super fancy and complicated.

00:08:54   And you know, when I tend, every now and then I'll have the itch, I'll be like, "Oh, maybe I should try the new, whatever the new hotness plain text editor is."

00:09:01   And usually I bounce off because it's trying to do something that's clever, and trying to, you know, tie you into a different way of structuring your files.

00:09:09   Or a different, you know, there's some aspect of it that isn't just a boring old folder with some plain text in it that I'm editing.

00:09:15   And, you know, for that purpose, TextMate has been, you know, I've been using it for 20 years.

00:09:20   It is the app that I bought my first Mac to be able to use because I was a Ruby on Rails developer.

00:09:25   And at the time, the best IDE for Ruby on Rails was TextMate on a Mac.

00:09:29   And so I had to buy a Mac in order to use TextMate.

00:09:33   So that is, you know, as far back as my experience goes with it.

00:09:35   And it's just, it's always open, it's always in my dock.

00:09:38   And inevitably I end up using it too, you know, not just for the actual coding part itself,

00:09:43   but the number of times in a day that you just, like, right now, the list I'm reading for this episode of, like, ideas of, you know, tools that I use,

00:09:51   I wrote it in TextMate because it's a temporary transient thing.

00:09:55   I'll, you know, I'll write it in there and I'll save it.

00:09:58   And then that's that.

00:09:59   And it's a very simple get out of the way, does a good job tool.

00:10:03   And so I continue to use it.

00:10:04   And if ever one day it went away, I would be sad.

00:10:07   I would not be, you know, I'm sure I could find something that was similar to it,

00:10:10   but it's been a great run and I have continued to be very satisfied.

00:10:13   I think one of the things I would miss the most about it, honestly, is I have had that purple flower icon in my Mac dock.

00:10:20   I only used the Mac for about two years before fully switching over to TextMate.

00:10:28   So I've had that there for almost the entire time I've been a Mac user.

00:10:33   So I love a little flower.

00:10:35   All right, anyway, so moving on.

00:10:37   What else do we use during coding?

00:10:39   Now, I mean, this is so broad.

00:10:41   This is part of why I feel like coding is still so much better done on a Mac or Windows PC instead of, say, an iPad.

00:10:51   Because iPad, the iPad app model, you know, you have Swift Playgrounds on the iPad that is like an all-in-one IDE that can make apps.

00:11:01   But I feel like the practice of software development almost always involves integrating the work of a whole bunch of apps together.

00:11:12   And some of those are full-blown, like, you know, GUI apps.

00:11:15   Some of those are command line tools.

00:11:17   Some of them are different, you know, server-based things, workflow-based things.

00:11:21   You're working with a whole bunch of different files in, you know, directory trees.

00:11:25   And, like, these are all things that, like, the large app model of iPad computing really doesn't deal well with.

00:11:32   Or either it can't do it or it makes it difficult.

00:11:35   And so when you see, like, what somebody uses for software development overall, it's this huge sprawling galaxy of all these different tools.

00:11:46   So one thing for me that is always open if I am working is solver.

00:11:53   I see you use solver as well.

00:11:55   Yup, put it on my list.

00:11:56   Yup.

00:11:57   Solver is, again, I've been using this for, I bought it from one of those old Mac Zot software sales a thousand years ago.

00:12:05   Sure.

00:12:06   And I've been, you know, upgrading it ever since.

00:12:08   And whenever they have any kind of paid update, I buy it every time because this app is so good.

00:12:12   Solver is basically a notepad for numbers.

00:12:17   It is like a little text editor-like window, but every row that you type, on the right side there's a pane that gives you the mathematical answer to whatever you typed.

00:12:30   So if you type in a number on the right side, you get that number.

00:12:33   If you type in an equation, you get the answer to that equation.

00:12:36   You can reference other lines in a future line.

00:12:40   So you can say, you know, what's line one times two?

00:12:43   And then you can edit line one and they both update like a spreadsheet.

00:12:46   You can name variables.

00:12:47   You can say price equals ten.

00:12:49   And then in future lines you can say what's price times two or whatever.

00:12:52   And you can, of course, edit the variables and they all update.

00:12:55   So it's kind of like a combination between notepad and a spreadsheet.

00:13:00   And I find that incredibly useful.

00:13:03   Pretty much, I mean, it's almost always open.

00:13:06   And what I like about the recent versions of Solver, it takes a data model similar to Apple Notes,

00:13:13   where instead of there being individual, like, dot Solver documents like there used to be in the olden days,

00:13:18   now it's like one of those shoebox apps where they just have, like, a sidebar that syncs optionally via iCloud

00:13:25   that is all of your Solver documents, just like Apple Notes.

00:13:28   So you can have, like, these persistent documents that are just everywhere on all your devices,

00:13:32   ready all the time for you to jump in and edit and refer back to.

00:13:36   So you can kind of have these, like, persistent calculations that you easily, repeatably use.

00:13:41   It's just an incredibly useful app. So I have, like, my Solver sidebar has, like, a hundred of these.

00:13:47   Like, you know, some of them temporary, some of them I use regularly.

00:13:50   If I am working, Solver is probably open.

00:13:54   Yeah, and I think I use it for very similar reasons.

00:13:56   And I think the thing that really makes it indispensable to me is the sense of, like,

00:14:01   it's kind of like a notebook that you write in over time and you don't, you know,

00:14:07   some people throw away notebooks and people hold on to them.

00:14:09   And I feel like Solver is a place that I hold on to. It's like a notebook that I hold on to.

00:14:12   And it gives you this sense of history to calculations and references that you can go back to.

00:14:18   And it isn't like, you know, in some ways it's just a calculator.

00:14:20   But the challenging thing with a calculator is, you know, you don't see the steps you took to get to the final result at the end.

00:14:26   It's not, you know, the result is usually not the interesting part.

00:14:31   It is I'm working through a process to get to a result.

00:14:35   And so having this sort of dynamic history that I can be going back and looking at,

00:14:39   or if I want to try a different approach to something, I can just sort of, you know, copy paste into a new document and try again and change it and keep the old document there.

00:14:47   And it's, you know, it's a bit more accessible than a spreadsheet.

00:14:50   You know, you could do a lot of this in a spreadsheet for the use of it.

00:14:53   But a spreadsheet is doing so much more than just basic calculation.

00:14:57   And Solver just is so helpful for this.

00:14:59   Like the number of times I'm just in there playing around with, you know, the magic numbers you end up inevitably using in a design or a layout or trying to work something out, you know, how much padding you should have and what formula you should use to calculate your padding.

00:15:13   Or those kinds of things are just places that Solver is indispensable for me.

00:15:17   Or you're doing calculations even around on the business side.

00:15:20   You're trying to sense, get a sense of, well, you know, if this was my, you know, my trial rate and this was my trial conversion rate,

00:15:27   what would I expect my ultimate user base to be and things.

00:15:31   Like you can do a lot of those calculations in a very friendly way that has a lot of history.

00:15:35   And so absolutely, Solver is indispensable.

00:15:38   And it's sort of like, there is like Solver, it's like the three things in the leftmost part of my doc.

00:15:43   It's like Xcode, TextMate, and Solver.

00:15:46   And it's like when I come in in the morning, I'm just going to launch those three apps, essentially.

00:15:51   Yeah, like if you are working, those are probably open.

00:15:54   Yes.

00:15:55   We are brought to you this episode by Sentry.

00:15:58   Ever wonder what your user experience looks like leading up to a crash?

00:16:02   With Sentry's Session Replay for mobile, now you don't have to guess.

00:16:06   You'll see exactly what happened.

00:16:08   Network calls, battery life, connectivity, OS version, and maybe, you know, their attempt to open your app with 1% battery, spotty Wi-Fi, and six background apps running.

00:16:18   So, you know, spoiler alert, your app crashes in that context.

00:16:20   Well, that's good to know.

00:16:21   Session Replay gives you a visual play-by-play of your logs and breadcrumbs so you can see the issue as it happened with Sentry.

00:16:29   There's no more endless back and forth debugging, just quick fixes.

00:16:33   And, you know, if you have a boss, they're going to think you're a genius.

00:16:36   So, yeah, you might also be thinking like, what about privacy?

00:16:38   Sentry has you covered there too.

00:16:40   They're built-in controls, automatically redact sensitive data so you can focus on the bugs, not people's personal info that you don't want.

00:16:47   Setup is so easy for Sentry, it's practically magic.

00:16:51   You just update the SDK, tweak a few settings, and voila, mobile replays start showing up in your issues stream.

00:16:58   Want to see it in action? Head to sentry.io and start debugging smarter today.

00:17:04   You can get six months of the team plan for free with code radar.

00:17:09   That's sentry.io or click the link in the show notes and use the code radar.

00:17:14   Our thanks to Sentry for their support of this show and all of Relay.

00:17:19   So another coding tool that I find myself using very often, and this is coding in kind of a slightly tangential way,

00:17:25   but it's an app called Base, which is a SQLite Mac editor, client, viewer, I don't know what you call it.

00:17:32   The thing that opens a SQLite database and lets you explore it, change it, query it.

00:17:36   Because increasingly in the way that I build my apps, I'm using a lot of SQLite as the backend.

00:17:43   I've moved in a lot of my apps to these kind of model where I even have multiple SQLite databases inside of the app

00:17:49   that are using, rather than having this big monolithic core data thing, which I used to do,

00:17:53   now I'm getting up in a place where I have these sort of individual isolated SQLite databases that lets me do a lot of things.

00:18:00   I think we've talked about this previously on the show, but it works really well.

00:18:03   But one of the consequences of that kind of work is that you need a way to very easily open up and look at and inspect SQLite databases.

00:18:11   I've tried a bunch of tools. For me, Base is the one that works really well and kind of lets me just use,

00:18:18   I can use SQLite inside of my development workflow and be able to evaluate, make sure the right data is getting in,

00:18:25   look at the schema, making sure what the schema I'm creating in the app is the schema I expect to create,

00:18:29   all of those kinds of things. So for me, SQLite is now an essential part of my workflow

00:18:34   and Base is the best way that I've found to be able to interact with it during my coding sessions.

00:18:39   Hm, this is really, I'm looking at this now, I had not heard of this, but it looks really nice.

00:18:43   I've never used a database app, I've always just used the command line tools of that database,

00:18:48   but that is very limiting and very difficult and very hostile in certain ways.

00:18:54   So I think I should probably look at something like this. Thank you for this.

00:18:58   Sure, no, absolutely. And I think it is one of those things too.

00:19:02   I've often encountered, kind of the place where a tool like Base, it isn't essential.

00:19:07   Like you could get around this, you absolutely just open the database at the command line.

00:19:12   But there are some things that are easier or quicker or more repeatable,

00:19:16   or you'll catch different problems if you see something displayed visually rather than in code,

00:19:20   which is, you know, if the context switching of that is sometimes a useful tool as well.

00:19:25   So how about our design work? And this is probably going to be the last category we have time for this episode,

00:19:32   because our podcast is not long. Design work, you know, I think it's interesting that you and I,

00:19:38   as we've discussed previously, are not designers really. We're certainly not graphic designers.

00:19:44   No, no.

00:19:45   And so I think our design tools are going to be very different than what you typically might hear about

00:19:50   when people say what tools you use for software design or UI design.

00:19:55   For me, I have been using, as you mentioned, Silver is one of my best design tools.

00:20:03   Absolutely.

00:20:04   Designed by math, that's us.

00:20:06   But also, you know, ever since I've been switching over to Swift UI, and I did my whole V-Wright in Swift UI,

00:20:13   I've actually found very little need for external design tools.

00:20:17   You know, I used to, as previously discussed, use an app called Paint Code, which I still do use sometimes.

00:20:22   Paint Code is basically a programmer's vector graphics editor.

00:20:27   You can use something like Adobe Illustrator, or there's other vector graphics illustration tools,

00:20:32   but Paint Code is, its original gimmick was it would allow you to export whatever you drew as code.

00:20:40   So you could export like, you know, Objective-C or Swift or whatever.

00:20:44   And it has since grown well beyond that into lots of other features, and of course you can export like

00:20:49   SVGs and images and stuff like that.

00:20:52   And I actually don't use the code functions of it anymore.

00:20:56   I do, however, like Paint Code is my vector image editor of choice, because that's the one that I, you know,

00:21:02   quote, grew up on. That's the one I learned on.

00:21:04   So I still use Paint Code whenever I have to draw something custom.

00:21:07   And I just export it into, you know, SVGs or PDFs so I can import those into Xcode easily with vector scaling.

00:21:14   But, you know, so anytime I'm working like with app icons, in-app icons, the app icon itself,

00:21:20   anytime I have to work on that kind of stuff, I'm doing it in Paint Code usually.

00:21:24   However, and exporting to, you know, just to the asset catalog stuff.

00:21:28   However, my new app, I've been using SF symbols for almost everything.

00:21:35   And so I actually hardly ever make my own icons anymore.

00:21:39   I'm really only using it for like the app icon itself. And almost nothing in Overcast is actually being drawn by hand anymore.

00:21:48   Yeah, I think I'm in a very similar place. Like my design tool is essentially whatever the designer I'm working with is using.

00:21:57   Smart.

00:21:58   Which there are two designers I work with, yeah, like there are two designers I work with right now and they both use Sketch.

00:22:02   So Sketch is my design tool. And by that I mean it's the thing that I open up when they send me something and then export graphics from.

00:22:08   I don't know how to do anything in there particularly, like sometimes other than, like I can, I mean I know Sketch enough to, when, you know, if a designer gives me something,

00:22:17   sometimes there's the edit that you want to go back and forth with them on and sometimes you're just like, huh, I wonder if I just tweak this color.

00:22:24   And so I know how to use Sketch enough to like play with the color sliders or shift things around slightly.

00:22:29   But it's not a design tool for me. And ultimately, like I used previously, my designers would use Photoshop.

00:22:35   And so I used Photoshop whenever they needed me something. Like I'm sure if at some point my designer was a Figma person, then I would become a Figma person or whatever the new thing is.

00:22:44   But for me so far, it's like right now it's Sketch is where I get things out and will export assets from.

00:22:50   But yes, I'm very much similar to you. Use SF Symbols for a lot of things that previously you would have to do in a custom designed scenario and that does a great job.

00:23:01   And related to that is probably worth mentioning, there's a tool, one of these very single purpose tools called Custom Symbols, which is a tool whose sole purpose in life is to take an SVG glyph and turn it into an SF Symbol format so that you can use a custom symbol inside your app.

00:23:20   It's indispensable this summer because the control center widgets can only work with SF Symbol based images. And so I use that all the time because there's a way to do it in Sketch or any of these other tools like to generate that file that you need to import into Xcode yourself.

00:23:39   All this tool does is take one thing, turn it into another, and you can adjust some of the metrics of it. And so that was one of those tools that I was struggling for a few days and trying to do it my own way, found the app, immediately bought it, and it has been paid for itself in terms of time savings time and time again.

00:23:56   SF Symbols are now the way that I do development. And as soon as you do any amount of dynamic type work or issues with other parts of the modern Swift UI, some sort of semantic UI things, you need to be symbol based.

00:24:12   And so having a tool to make your custom symbols or the Apple SF Symbols browser app are the two things that I find myself using time and time again for that purpose.

00:24:21   Oh, this is, yeah, so this is like, I gotta say, I knew that you could make custom symbols, but Apple's described process for doing it is pretty labor intensive and you have to have these special formats and these special files that you have to make with your professional image drawing app that I don't use.

00:24:40   And so I really admittedly have never done it because I just thought that just sounds like too much work and I'd rather just use what's there and figure it out. But this is, I will take a look at custom symbols too.

00:24:53   This is actually something that I'm like, oh, actually, this could make that process easy enough that I might actually do it, which is always a pretty important threshold.

00:25:03   Sure. And I think it's the kind of thing where I think what I, the reason I was excited when I ran into this tool was it is the kind of thing where I found with SF Symbols are so great, but there and there's whatever the like thousands of them, tens of thousands of them now.

00:25:17   But if there isn't a symbol for the exact thing that you're really needed for in the app, the awkward thing is that I find myself finding like, well, what if instead of it being, you know, the thing that it should be, I just use this thing that's kind of related to that.

00:25:31   And you end up with slightly more confusing interface than you would ideally have versus it just having the actual symbol of something that you really want as a result.

00:25:40   And so that was my, the kind of thing where I started off to just make do with whatever Apple has. Or sometimes I've also ran into similar things where Apple adds a new SF Symbol, which is great, but they don't backport it back to older versions.

00:25:52   And so I need to have my own custom symbol that is a similar thing to something that they may even provide otherwise. So it's a great tool for that.

00:25:59   With the whole rewrite I've been doing and working on since, I've leaned so heavily into SF Symbols. And I strongly recommend anyone out there, like do it.

00:26:08   Have, use the SF Symbol library for as much as you can, use the mechanisms that they offer as much as you can, even, apparently even when doing your own symbol, now you can do that with stuff like custom symbols.

00:26:20   Lean into it as much as you can. It is like, when you are kind of non-designer programmers like us, SF Symbols can make your app look amazing. We did a whole episode on it.

00:26:32   We strongly recommend use SF Symbols. But yeah, you're right, I have been very guilty myself of like, well they don't have the one I actually really need, but I'll just kind of wedge this other one in there that it is not ideal.

00:26:47   So yeah, thank you for this. Any other design tools you use?

00:26:51   Yeah, I think the other tool that I use fairly regularly is an app called Pastel, which is made by the developer Steve Tronton Smith. And it is a tool for managing colors.

00:27:01   The thing that I use it most often for is just kind of, I'm coming up with, this is very often in Widgetsmith, I'm coming up with a color scheme. And it's a way of kind of collecting a palette of colors, and then it's got all the developer tools you need to export those as a Swift UI color, as a Swift UI color, as an Objective-C UI color, which is actually the thing that I used earlier this week, which I was a bit surprised that I needed still, but it's all in there.

00:27:27   And it's just a very useful tool for just managing colors and thinking about them. I find color selection to be something very daunting to me, something that's very challenging, but it's a tool to make that process a little bit less scary, that you can go in there and, if you have a dropper tool, so that if you see a color in some other place on a website somewhere that you're like, "Oh, I like that color," you can use the dropper tool, grab it, and then you add it to a collection that you can then later use.

00:27:55   And so it's just a very indispensable tool. Anything I do with color, it's usually going to go into pastel, and then once I've kind of settled down on exactly what the colors are, it'll then come out and actually go into code.

00:28:07   And so it allows me also to do things like, I can get the color as an RGB and then take it into hue, saturation, and brightness, and change the saturation of it without having to do the math or go to a website, which is inevitably what I was doing before, where I'm going to the weird...

00:28:21   You just search for RGB to HSL converter, and then you're just going to some random website and doing it. It's much better to just do it in a proper tool that's doing it in a dependable way, and I also love just supporting another indie developer as well.

00:28:37   I think that's it for this episode. We got through two categories, coding and design tools. So in future episodes, we'll go through many others that we have. And thank you. I love when you see how someone else works, you always pick up something you didn't know that can help you in your work.

00:28:57   So this is cool, and thank you for doing this, Dave.

00:29:00   Yeah, absolutely. I think that's why I thought it would be a good topic to share because I enjoy learning about tools because tools ultimately make us be slightly more productive. The reason we use these things is because they're able to allow us to better create the things we want to bake.

00:29:13   And so if I can share something that will help someone else make something, then that would be great.

00:29:18   Thanks for listening, everybody, and we'll talk to you in two weeks.

00:29:22   Bye.

00:29:23   [ Silence ]