AppForce1: news and info for iOS app developers

A Kaleidoscope of topics this week

October 12, 2021 Jeroen Leenarts Episode 50
AppForce1: news and info for iOS app developers
A Kaleidoscope of topics this week
AppForce1: news and info for iOS app developers +
Help us continue making great content for listeners everywhere.
Starting at $3/month
Support
Show Notes Transcript

A bit of a reflective episode. Some cringeworthy content even. Lots of people working hard in our community. Stuff about Actors, ifs and becoming profitable.

Links of this week`s contents:

My interviews with Paweł Madej and Daniel Jalkut.

Donny' Monday tweet.

Runway
Put your mobile releases on autopilot and keep the whole team in sync throughout. More info on runway.team

Lead Software Developer 
Learn best practices for being a great lead software developer.

Support the show

Rate me on Apple Podcasts.

Send feedback on SpeakPipe
Or contact me on Mastodon: https://hachyderm.io/@appforce1

Support my podcast with a monthly subscription, it really helps.

My book: Being a Lead Software Developer

Jeroen Leenarts:

Hi, and welcome to the fifth episode of my podcast. My name is no Linus. Now I've been developing iOS apps for over nine years, and I'm running that Cocottes for close to eight years. If you're an iOS app developer, you should listen to my podcast because of a keep you updated on interesting articles and conferences you might not have heard about. In this episode, I'm going to talk about case study building a profitable app in 30 days, should every if statement have an else clause, our sandbox can help in preventing data races, non isolated and isolated keywords, understanding actor isolation, inspecting HTTP traffic with instruments, Kaleidoscope merge tool. And, of course, daanish, Monday morning tweet, it's been a busy week, a lot of transferring of knowledge, talking with colleagues planning for the next quarter really. And yeah, I'm not in the next quarter. So it's a bit awkward to be actually planning things with my soon to be ex colleagues. So I tried to make the best of it. But it's it's very exhausting to just make sure that I stay engaged and keep supporting my peers, even though I know I won't be enjoying the fruits of our labor right now. Just a couple more weeks, and I was already informed that I will be a nice get together in the last week at my current job. So to get a good way to say goodbye to the people that I've been working with for three and a half years. Because every time I think about it, it's kind of strange, because I work with all of these people for three and a half years. But I haven't seen any of them hardly in the last one and a half years due to Corona. And yeah, basically one of the first things that I'll will be doing when seeing all these people again, in person will actually be saying goodbye. So it's a bit it's a bit double how this feels to me, because I'm looking forward to seeing them in person. I'm also in a way, look forward to saying goodbye. But as always, any goodbye is always a bit bittersweet. But as always, I expect to be able to manage that as well. So, yeah, just a few more weeks, and then I'm getting involved into a process that's going to last three months. The new place I will be working at actually has an onboarding process of three months, I was positively surprised by that. Because getting on boarded somewhere. It's always tense period, having some roadmap available before I even started work there is just great. So I really look forward to that. Also, today is October 11. So two days from now, it will be exactly one year that I've published my promo episodes, I will play the back for you right now. Welcome to the new podcast app. First one, news and information for iOS app developers. My name is Hugh lane at iOS software developer based in the Netherlands. Yeah, that was before I learned about filtering and improving the voice quality of my audio. So yeah, just for comparison, here's a clip from this promo untreated. Welcome to my new podcast app. First one, and this is treated. Welcome to my new podcast app. First one ever former first real episode I got a new microphone. Hi, and welcome to my new podcast app Force One. It's amazing what a difference just some audio sweetening and a good microphone actually makes. So just wants to share this with you. It's it's cringe worthy for me to actually listen to this like a year later. But I hope you have a laugh about it as well just as I did when I first heard it again this week. And it also really helps that I'm now way more comfortable in front of a microphone. Next week, I will be releasing an episode. That's sort of like more like a review of the last year. And to just see what benefits I've gained from my podcast and why I started podcasting what I changed along the way in the last year and if I'm still actually enjoying podcasting, but now let's dive into this week's articles. The first article is by Arthur from zicklin Case Study building a profitable app in 30 days, author just built shape a lucid dreaming app for iPhone. It took him 30 days to design the app, build it produced the audio guides and ship it in the app store. And in his article he explains how he did it. It's a nice overview of the process that Arthur went through, and also the lessons that he learned along the ways and a lot of tips in there if you want to do something similar God Brian who's done a talk at swift leads, have a look at it on his Gumroad page and I will put a link to that in the show notes also very worthwhile to have listened to or have a read through once you Read this article by author. The next article is by Sutton should every if statement have an else clause if statements is a basic conditional statement that we use every day, it is so intuitive because it is almost identical to what we think and speak in real life due to its simplicity. Sometimes you don't put much thought into how you actually use it. But it might surprise you or not the bucks that happen around if statements more often than not. And that usually happens when certain uses if without the else clause in this article sort of makes a case for why or whether or not every if statement should have an else clause. And it's it's it's some deep thinking about a fairly fundamental constructs in software development. And I think it's good to just have read through this and see what Sharon's thoughts on this are. And you probably learned a thing or two about logical construction in your code base as well. It's really line level things that we're contemplating here. But the general principle applies to a lot more things within software development. And I think it's very worthwhile to have a little bit of a step back, and some contemplation on basic language constructs because it applies so well in our day to day job. Thanks for that, sir. The next article is by Lee. It's called How sandable can help in preventing data races. In a previous article by Lee, he has taught you about actors and how they can help you and prevent data races by ensuring mutual exclusion to the mutual states. And the statement is true as long as you are accessing the mutable states within the actors. If the mutable states are accessed outside of the actors, a data race can occur in the article by Lee, he explores this kind of data race and how it can happen and how he can use the sendible protocol to help implementing a data race. On top of that, he will also take a look at the future improvements that Apple will bring to sendible in order to tackle such kinds of situations. Really great overview of data races in the context of using actors are actually when using data outside of the actors context. And I think it's really good to be aware of this specific issue when dealing with with actors, it's very logical that it happens. But just having a read through and the nice examples that Lee provides is very helpful in getting good grip on these concepts and how you can actually apply and avoid these issues in your day to day role. So, have a look through his article and let me know what you think. Then the next one is also about actors. And this is by Antoine formulae, non isolated and isolated keywords understanding actor isolation, SC 313, introduced the non isolated and isolated keywords as part of adding actor isolation control. Actors are a new way of providing synchronization for shared mutable states with new concurrency framework. If you are new to access in Swift OnSong occurred issue to read one of his previous articles, obviously, which is a good overview, so have a read through it anyway. And in this article, he will explain how it can control method and parameter isolation when working with actors in Swift in his article on some details, what the default behavior of actors is, and how you can modify this behavior by marking parameters as isolated or non isolated. This is very convenient, because it allows you to influence the way that actors deal with your data and how the accessing of the data is actually performed. This is helpful because again, as we've noticed in a previous article, there are some details involved when working with actors that you have to get right, because otherwise, you're dealing with actors, but you still can get issues along the way. So have a look through this article and learn about isolated and non isolated keywords. And I think it's very helpful to be aware of this additional concept that you need to know about when dealing with actors. The next article is by Keith from usual off.com Xcode 13, added a useful network instrument to record and analyze URL sessions and HTTP traffic. With instruments you can now record a network trace, it's a specific templates in instruments and you should really have a look at it. In the article, you get an overview of what you can do with this new network trace template, and what things you can find and debug by using this template. What's really nice about this is that you can also really pick apart what's happening during a network call. So the DNS querying the TCP negotiation, TLS negotiation, waiting for things and it shows you what's really happening at a low level within your network. There is a caveat though, if you're familiar with for instance, Charles Proxy, you might be a bit disappointed because you cannot modify any of the headers and viewing the headers and body is limited to what you see in the extended Details pane. Charles has way more ways to format the data that you're looking at. A good tip that that Keith provides is that you can provide a session description and the task description on your Euro session and Euro session tasks. It really helps with how it's being displayed in the network trace in instruments. The final link that I'm about to share, it's not really an article. It's just a link to a tool that has updated to a new version and which has been part of my day to day work, I don't know for over eight years already, and the tool is called Kaleidoscope. They just released version three. And I'm just so happy that the tool has received such big new updates that I just wanted to mention it here using a specific merge tool take some getting used to. But Kaleidoscope has such nice integration with Xcode really through the debugging console, you can just debug in Xcode and get the debug output into Kaleidoscope and then do some more debugging and get that input into Kaleidoscope as well and have a comparison with also the comparison features of other formats within Kaleidoscope I just create the price points of Kaleidoscope might seem a little bit hefty. It's like in my timezone. It's 150 euros. But if you can afford this too, I highly recommend that you get a license. I haven't upgraded myself yet I still need to get to that. But knowing how Kaleidoscope has helped me and save me so many hours in the last eight years. I'm definitely going to upgrade to their new products so highly recommended. And just have a look at it Kaleidoscope dot app and the next topic is Danny's Monday morning tweets. When looking at Danny's Monday morning tweet. These are the highlights that I've noticed Stuart Lynch is celebrating his 100 and 50th Swift swift UI video with a video for the first time finsanto has purchased some wall art it seems when he's in front of a camera, it looks like some super advanced Lego set. I think if we look at the picture, and shy has added support for figma to the prism tool that he built. He refracted some codes and ended up really cool and he wished he could have used async await for a lot of the change that he had to do as I'm sharp is working on a brand new course test driven development in iOS using Swift he hopes it will be available before Thanksgiving. And Tinder says good morning to Donnie and he lets us know that he recently released a new video discussing the new swipe action available in Swift UI, which is really easy to configure and customize. So thanks to him for creating a nice video on this topic. Check Nelson's also wishes, Donnie Good morning, and he's recharged after the weekend and he helps everybody else is to he's working on adding a coverflow like interface to his local music app, which he launched last week. And he's trying to learn a bit about Siri intents for the next iteration of his products. His product is called mixtapes, a multi Cue music player with smart mixes. Taka has been fighting a strict UI bug. It has to do with two model sheet sheets, and one accessed fear the complication does not close. But yeah, other one after accessing the normal model sheets in the study, the automotive sheet closes as soon as he opens it. And he doesn't understand why there's an impacts are a link between these two. So hopefully, it's okay can can resolve it. And I wish and best of luck with that. Rafi is stuck on something, and he hopes that someone can help him out with it. It's actually about an article that Antoine has published. And he's running into some issues with Alamo fire. And Donnie actually confesses that if he gets to a code base that's new for him. And as Alamo fire in it. One of the first things that he tends to do is rip out Alamo fire. Well, that's a specific preference. And Maurice is telling us that he learned today that a combined pipeline receives failure completions, it will also finish its work and not listen for any new events anymore. The same if there's a finished completion that's being received, he thought that there would still be events received. So today he is refactoring some existing code. Pawel has something to celebrate. Two years ago, after six months of development and learning swift from zero he had released his first iOS app, family grapes. And it was it was the first step in his career switch from being a pharmacist to an iOS developer. And if you want to learn more about this journey, that poll took a full look in my back catalogue of episodes because I did a nice interview with him. So and the list goes on and on. Obviously Leo is in there as well. He's having to recover a bit from from COVID He seems he's hasn't been hit too hard. And he's doing stuff for the family and he's doing a new podcast episode with gentle gel cuts, which is a great guy as well. And he also has a chat with freak for PC on his new re Wendling book on advanced swift Lucas is mentioning that he published his first app ever completely written in Swift UI for watching the results of Czech elections. It was a long journey for him to learn Swift, but finally he made it and it was the number one app in Czechia in the free category for over three days already, which is awesome workman and Gil is very excited about a new job and it will be the first time that he will work from an office in about one and a half year and Christian symbol Russia is learning some objective C this week. Objective C developers are hard to find these days just trying to get myself apart by being able to work with legacy code besides is helping me understand swift better, especially selectors and using NS application main as to applications, delegates. And yeah, the list goes on and on. There's some nice things in there. And Eric Lippmann actually started the 100 days of Swift UI today, which is a great course to do by Paul Hudson. I'm also I'm also thinking about go through both of his 100 day courses at some point myself, so who knows? And yeah, it's just a lot of updates, and just tons of stuff that are just great to see people working on. It's a really long list of replies on this Monday morning sweets, probably also because I'm a bit later with reviewing the list. So there you have it, people and great episodes. Right before I'm going to celebrate my one year of podcasting. I hope you enjoyed it. Always let me know what you think through Twitter. And if you want to support my podcast, have a look at pod dot fan slash app Force One. I publish my recordings of interviews I do with guests on a podcast so you can get early access to all these great people a little bit earlier, and to really help me support my my podcasting journey. And I really hope that you stick around as a listener to my podcast for a very long time. Thanks for your time, and have a great week.