304: Island of Shortcuts

Topics covered
Popular Clips
Questions from this episode
- Asked by 5 people
- Asked by 4 people
- Asked by 4 people
- Asked by 3 people
- Asked by 2 people
- Asked by 1 person
- Asked by 1 person
- Asked by 1 person
- Asked by 1 person
- Asked by 1 person
Episode Highlights
Debugging
faced significant challenges while debugging Overcast, particularly with a bug causing the app to crash during playback. He initially suspected the watch transcode engine but later discovered the issue was related to streaming mode, where the app would enter an infinite loop if a download was interrupted 1. Marco reached out on Twitter for help, which led to identifying and fixing the bug in the test flight beta 2. He explains the complexity of debugging without reproduction steps, emphasizing the importance of community feedback in resolving such issues 3.
When you would go to press play after that it would resume playback, but the part of the file that wasn't downloaded, overcast, would basically get into an infinite loop in a background thread.
---
This infinite loop caused the app to use excessive CPU resources, leading to its termination by iOS.
Performance
Performance issues in Overcast were primarily linked to CPU usage spikes, which managed to address using Apple's network link conditioner tool. This utility allowed him to simulate slow network conditions, helping him reproduce the problem and identify the root cause 4. By profiling the app with Xcode's instruments, Marco discovered that a render method was being called excessively, leading to high CPU usage 5. This insight was crucial for optimizing the app's performance and preventing future crashes.
I was able to slow down my connection to 3g speeds, which would give it enough time to get the app suspended into the background without the file being fully downloaded.
---
These tools and techniques were instrumental in resolving the performance bottlenecks in Overcast.
Related Episodes


428: A Series of Rectangles
Answers 383 questions

477: In the Metal
Answers 383 questions

349: Formative Tech Dystopia
Answers 383 questions

354: Casey's Computer Corner
Answers 383 questions

518: Deconstructed iMac
Answers 383 questions

567: macOS Uranus
Answers 383 questions

388: Riding the Autocomplete
Answers 383 questions

421: The First Miniboss
Answers 383 questions

368: A Jacket and Some Pins
Answers 383 questions

250: We're Doing a Show
Answers 383 questions

533: The Beach Is the Beach
Answers 383 questions

299: Headphone Bump
Answers 383 questions

193: The Escape Zone
Answers 383 questions

549: Unauthorized Trash Can
Answers 383 questions

572: Cryptofarts and Copyright Infringement
Answers 383 questions














