Welcome to Going Indie with Antoine van der Lee, the podcast that dives deep into the world of independent creators and developers. Join Antoine as he chats with indie creators from around the globe, sharing their stories, insights, and the challenges they’ve overcome. From turning side projects into successful businesses to breaking free from the 9-to-5 grind, each episode uncovers the habits, strategies, and tools that help these creators thrive on their own terms. Whether you’re dreaming ...
…
continue reading
NSScreencast features weekly bite-sized videso on iOS development. This free feed is just a sample of what is available for members. Subscribe today at https://nsscreencast.com.
…
continue reading
Mobile DevOps is a thing! by Bitrise is a podcast for — and about — mobile developers and their unique app development processes.
…
continue reading
Exploring the Indie Journey: From Designer to Successful App Developer In this episode of Going Indie Podcast, we sit down with Hidde van der Ploeg, an indie developer and designer. Hidde shares his journey from being a designer to teaching himself to code and building successful apps like Gola, NowPlaying, and Helm. He talks about starting with Ob…
…
continue reading
1
Shipping side projects in 2-2-2 Easy Steps - Jordi Bruin
1:11:32
1:11:32
Play later
Play later
Lists
Like
Liked
1:11:32
In the premiere episode of the Going Indie Podcast, host Antoine dives deep with seasoned indie developer Jordi Bruin. They explore the intricacies of managing and updating multiple apps, fast-paced development strategies, and transitioning from industry analyst to indie developer. The conversation highlights leveraging new APIs for inspiration and…
…
continue reading
In this episode we tackle showing a list of posts, which requires us to convert the network models into models more fit for the UI, parsing HTML in order to display as an AttributedString, and displaying the author information.
…
continue reading
1
Optimizing release frequency and building a release train with Sudeep Sidhu
1:07:56
1:07:56
Play later
Play later
Lists
Like
Liked
1:07:56
We welcomed Sudeep Sidhu from Neo Financial and talked about optimizing release strategy and how they evolved from pushing ad-hoc feature releases to having a stable, bi-weekly release train. Sudeep is the Lead Mobile Developer at Neo Financial, a Canadian financial technology company that reimagines the way people spend, save, and earn rewards — a…
…
continue reading
1
Behind the scenes of building high-rated apps with Antoine van der Lee
55:08
55:08
Play later
Play later
Lists
Like
Liked
55:08
In this episode, we welcomed Antoine van der Lee as our special guest. This time, our focus was on app quality: how to follow up with user feedback, make sure the app constantly evolves, and other tips and tricks to create a top-notch user experience. In the episode Antoine is an iOS Developer at WeTransfer and the author of SwiftLee, a weekly blog…
…
continue reading
Sometimes we run into issues where SwiftUI doesn't quite do what we need. In some cases, SwiftUI views are powered by UIKit under the hood. Wouldn't it be great (and devious) to dig into the underlying UIKit views to customize things when vanilla SwiftUI just won't cut it? In this episode we'll look at a technique for discovering the UIKit undernea…
…
continue reading
One of the most impactful things you can do to improve productivity is to improve turnaround time when iterating on features. Playgrounds and Xcode Live Previews are great, but both have their limitations. In this episode we will explore how to utilize hot module reloading to have the simulator automatically reflect your changes when you save. It's…
…
continue reading
1
Building a mobile app for a leading bank with Adam Law from NatWest
49:56
49:56
Play later
Play later
Lists
Like
Liked
49:56
In this episode of Mobile DevOps is a thing! we’re focusing on the challenges of building mobile apps in the finance and banking industry with Adam Law from NatWest Group. Adam is the Principal Engineer for the Bankline Mobile Team, within Commercial Banking at NatWest Group, one of the UK’s (and the world’s) largest banking groups. With his team, …
…
continue reading
1
All about test automation: tools and best practices with Angie Jones
46:30
46:30
Play later
Play later
Lists
Like
Liked
46:30
In this podcast episode, we talked to Applitools’ Angie Jones about all things related to test automation: tools, best practices, how to reach a higher level of DevTestOps, what role AI will play in software testing, and a lot more. About Angie Angie Jones works as Head of Developer Relations at Applitools and is the founder and Executive Director …
…
continue reading
1
The roadmap to mobile success with Peter-John Welcome
1:01:55
1:01:55
Play later
Play later
Lists
Like
Liked
1:01:55
In this podcast episode, we talked to Google Developer Expert Peter-John Welcome about his experience in Android DevOps, the roadmap to mobile success and the steps developers need to take to get there. PJ is a Google Developer Expert for Firebase from Johannesburg, South Africa. He’s a vocal advocate for Mobile DevOps with over 10 years of experie…
…
continue reading
One way of achieving modularization is to build frameworks using nested Xcode projects. This has the benefit of having everything in one place and can easily build the entire thing. You can also zero-in on a single project and just work from there if you want. Each sub-project can have its own tests, sample application, etc.…
…
continue reading
In this episode we will talk about the overview and motivation for a modular project architecture. Why split things up? I'll talk about the problems we face, what benefits we may achieve, and how can we approach the problem.
…
continue reading
1
Mastering continuous deployment with Keegan Rush
55:09
55:09
Play later
Play later
Lists
Like
Liked
55:09
About Keegan Keegan is the Lead iOS/macOS Developer at Shotflow and along with Pietro Rea, he has co-authored the recently published book, iOS App Distribution & Best Practices. The book is a how-to guide for everyone who wants to deploy apps, whether they are becoming Mobile DevOps practitioners or release managers in their team. You can follow Ke…
…
continue reading
One of my favorite new features of Xcode 13 is support for Vim key bindings. In this episode we will see how to enable this and I'll give a quick tour of how to get around using Vim.
…
continue reading
1
Build secure mobile applications with Anastasiia Voitova
1:16:37
1:16:37
Play later
Play later
Lists
Like
Liked
1:16:37
In this episode, we talked to cybersecurity expert Anastasiia Voitova about all things related to mobile app security: from the first and most important steps teams should take to prevent potential attacks to reaching a high level of DevSecOps maturity. Besides working at Cossack Labs as Head of Customer Solutions, where she builds data security to…
…
continue reading
In the next few episodes we will explore the concept of Protocol Witnesses. This is an advanced topic that can be somewhat hard to approach, but in learning about Protocol Witnesses you will see how we can leverage the Swift language and functional programming to do some really cool things.
…
continue reading
Context menus are a great affordance for performing related actions to a UI element. Users can tap and hold to view the context menu, and the gesture is consistent across the OS so users will likely already be familiar with it. In this episode we'll show how to set up a basic context menu with a custom preview with normal and destructive actions.…
…
continue reading
This is a discussion and code overview of another implementation of mapping models using key paths with a special guest, Antoine van der Lee! In this episode we talk about his initial goals and constraints, and some of the design tradeoffs he made while designing a solution that would give him a bidirectional mapping between Core Data entities and …
…
continue reading
1
Building mobile infrastructure with Russell Stephens
1:04:19
1:04:19
Play later
Play later
Lists
Like
Liked
1:04:19
In this episode, we talked to Russell about his team’s CI journey, from the struggles of hosting an on-premise Jenkins solution to building a cutting-edge case of mobile infrastructure on Bitrise. We explored how their responsibilities have shifted from the team to the platform: whether it’s a beta build or delivering to the app stores, the team no…
…
continue reading
1
App Performance Monitoring with Rasmus Larsson
59:25
59:25
Play later
Play later
Lists
Like
Liked
59:25
In this episode, we talked to Rasmus Larsson about new technologies from App Performance Monitoring to building engaging apps for sports fans, and integrating Augmented Reality or App Clips into iOS apps. Rasmus is the Product Strategy Director at Pulselive, a Sony company that has been crafting digital experiences to connect teams, leagues, and sp…
…
continue reading
1
Fintech, Flutter, and tech leadership with GDE Mariano Zorrilla
1:13:40
1:13:40
Play later
Play later
Lists
Like
Liked
1:13:40
In this episode of Mobile DevOps is a thing!, we talked to Mariano Zorrilla about fintech, building apps in Flutter, and his journey from a small town in Argentina to Silicon Valley. In this episode Mariano is a Tech Lead at Venmo, where he manages a team of mobile and backend server-side engineers. He is a passionate member of the Flutter communit…
…
continue reading
1
Optimizing iOS workflows with Marcos Griselli
44:29
44:29
Play later
Play later
Lists
Like
Liked
44:29
In the fourth episode of Mobile DevOps is a thing! we talked to Marcos Griselli about all things iOS: the community, how he’s optimizing his workflows, and his best practices for releasing great apps. In this episode Marcos is an iOS developer and open-source contributor from Argentina. As an active member of the Swift community in Buenos Aires, he…
…
continue reading
First introduced in iOS 13, UICollectionViewCompositionalLayout is an amazing and powerful addition that gives you lots of flexibility when describing layouts. There are a few new types to get used to (namely sections, groups, and items) but they all work together allowing you to keep layout separate from your views and your data.…
…
continue reading
With UITableView no longer being encouraged for use, we need to replace this behavior with UICollectionView. This is where UICollectionViewListLayout comes into play. Using this layout we can get the familiar table view appearance in plain and grouped styles (as well as additional styles to support sidebars on iPad and macOS). This includes support…
…
continue reading
In this episode we review the basic example app and start setting up our collection view in code. We start with the basic flow layout which is most common. Later we'll refactor this to use the newer style, but this episode introduces the series and sets up the foundation we'll build upon.
…
continue reading
In this episode we migrate our collection view to use the new cell registration API. Using this API we no longer need to cast dequeued cell types to our custom types. Instead, we set up the registration object with the cell type and the data we'll be passing to each cell. This further reduces the code we have to write in our datasource implementati…
…
continue reading
I've been working on rendering waveforms using mathematical functions and have found the experience to be both fun and enlightening. In this episode we will develop a method to render arbitrary functions using a Shape, then explore some mathematical concepts that can help us render a nice looking waveform that could be use to indicate activity in s…
…
continue reading
1
How to level up your team’s skill set with John Sundell
1:15:08
1:15:08
Play later
Play later
Lists
Like
Liked
1:15:08
In the third episode of our podcast, Mobile DevOps is a thing!, we talk to John Sundell. Join us as we discuss how mobile teams can level up their skills and benefit from test automation and continuous delivery. John Sundell is a well-known authority on Swift development. He's the author of the popular swiftbysundell.com website, hosts his own podc…
…
continue reading
With the introduction of LazyVGrid and LazyHGrid In iOS 14 we now have access to much more powerful grid-based layouts in SwiftUI. In this episode We will examine the different types of layouts we can accomplish with flexible, fixed, and adaptive sizing for our rows and columns. We'll look at how animations work between different layouts, and how t…
…
continue reading
A few episodes back we covered how to wrap a UIActivityIndicatorView to show loading progress in SwiftUI. Now in iOS 14 this is built in. In this episode we'll cover the various styles, how to hook it up to a Progress instance, and how to create your own custom progress visualizations.
…
continue reading
iOS 14 Beta is now available and one of the new features is Lazy stacks. With a normal stack, all the layout happened at once, which meant poor performance for large lists of content, grids, etc. With Lazy stacks the views are only created when they first come on screen, greatly increasing the usefulness of stacks for large or infinite collections …
…
continue reading
1
Remote work & Mobile DevOps with Joe Birch
49:03
49:03
Play later
Play later
Lists
Like
Liked
49:03
This episode features special guest Joe Birch and focuses on different aspects of remote work, Mobile DevOps, and how to remain productive from home. Joe is the Android Lead at Buffer, a Google Developer Expert, and the creator of ChordAssist, the accessible smart guitar for the blind, deaf, and mute. His experience in working from home at Buffer —…
…
continue reading
1
Does mobile need its own DevOps? with Vladimir Ivanov
56:23
56:23
Play later
Play later
Lists
Like
Liked
56:23
In this episode, we're discussing the main differences between mobile and web development, the unique challenges of developing mobile apps, the main ideas behind Mobile DevOps, and the tools, processes, and technologies that can help teams adopt this new culture. Today's guest: Vladimir Ivanov, Solutions Architect at EPAM Systems from Saint Petersb…
…
continue reading
Before Swift 5 we used to write our own Result type to contain a value or an error (but never both). A lot of 3rd party libraries brought along their own as well. Then Swift 5 came and brought us Result. Not only is it slightly different than the ones we might be familiar with, Swift's Result type also has some useful functionality up its sleeve.…
…
continue reading
Sometimes we need to create variants of our icons. This can be done by using template images and using a UIImageView with a tintColor change, however sometimes this isn't feasible. We can use our icons along with a mask to create new images of whatever color we want. In this episode we'll use UIGraphicsImageRenderer to quickly draw a new dimmed ima…
…
continue reading
Attaching gestures works quite a bit differently in SwiftUI than in UIKit. In this episode we will look at the @DragGesture property wrapper and how we can use gestures to update custom state that we can then use to transform our UI.
…
continue reading
SwiftUI's declarative nature makes building UIs incredibly easy. In this episode we will build a wallet UI with cards. We will create a CardView so we can reuse it in multiple places. Then we will use transforms to alter it's size and position. Finally we will see how declarative animations work as we expand the cards apart.…
…
continue reading
Now that we've seen a taste of SwiftUI, let's dive into a real example and build an app. We'll have a first look at @State variables we can use to creating a binding between our state and our UI, and we'll run into a few puzzling errors and see how we can coax Xcode into giving us the right error message.…
…
continue reading
Back from WWDC 19 and blown away by the announcements. There's a lot to cover, but we'll start by digging into the most exciting announcement: SwiftUI. This is going to change everything...
…
continue reading
Working with dates is a task that is universally applicable to Swift developers. Particularly when dealing with an API, dates can arrive in all shapes and sizes. We‘ll examine some of the common ones such as ISO 8601, show how to parse these formats into Date instances, and how to use DateFormatter to display them back again as a string. We‘ll also…
…
continue reading
In this episode we configure our iOS app to receive push notifications, adding the OneSignal SDK to our project, configuring the Notification Service extension, and testing it out on a real device.
…
continue reading
In this episode we look at how to generate a certification for adding push notification support for your app, using OneSignal as our push notification provider
…
continue reading
In this episode we will setup iTerm2, profiles, custom color schemes, and fonts.
…
continue reading
In this episode we look at some of the basic system preferences on macOS High Sierra. We set up the Dock, Keyboard shortcuts, and show how to customize key repeat timing outside of the preferences window.
…
continue reading
UITableView can support scrolling through many rows of data, however fetching large amounts of remote data can slow down your app, use up too much memory, and bog down your web server. This is all wasteful if users aren‘t ever going to scroll down that far. In this episode you‘ll learn how to perform automatic UITableView pagination using an easy t…
…
continue reading
In order to use CloudKit to read or write private data (or to write in the public database) the user will have to be signed in to iCloud on their device. If they are not, they'll not have a great experience, and things won't work. In this episode we'll check the account status before trying to save a record in CloudKit. We'll also respond to the no…
…
continue reading
The first episode in a new series on CloudKit, here we see how to setup our project to use CloudKit as well as how to create and save our first record.
…
continue reading
In this episode I am joined by Soroush Khanlou. Together we pair up to implement the Poker Hands Kata. We start off by parsing the raw string input into structured types, complete with tests.
…
continue reading
In this free episode, we take a look at a core Swift 2 feature: Optionals. Unlike Objective-C, where nil is considered a no-op, in Swift nil is specifically recognized by the compiler, which forces you to handle cases where nil might be present in a variable.
…
continue reading
In this free episode, Ben explores Swift 2 functions, how argument labels work, returning tuples, the guard clause, as well as extending behavior on core types.
…
continue reading