
Fragmented - Android Developer Podcast
The Fragmented Podcast is the leading Android developer podcast started by Kaushik Gopal & Donn Felker. Our goal is to help you become a better Android Developer through conversation & to capture the zeitgeist of Android development. We chat about topics such as Testing, Dependency Injection, Patterns and Practices, useful libraries, and much more. We will also be interviewing some of the top developers out there. Subscribe now and join us on the journey of becoming a better Android Developer.
Latest episodes

Feb 3, 2020 • 1h 4min
188: Containerized applications with Docker
Shownotes
In this episode KG and Donn talk about KG's recent jaunt with Docker. In the attempt to setup continuous deployment for his blog, KG explains his simple requirement and how it lands up requiring some basic Docker. Donn then closes it out with some interesting in-depth knowledge on how to use Docker
Personal website hosting
Donn Felker
Kaushik's website
html-proofer
Wordpress
jekyll static website blogging
Domain checking services
Domainr
Lead Domain Search
Docker
Docker Hub
Circle CI : dockerfile wizard
KG's ruby-node docker container
Docker Compose
RabbitMq
Kubernetes : K8s
Udemy course: Docker & Kubernetes - The complete guide
Vue Js
Dockerizing a Node.JS Server
Contact
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Jan 21, 2020 • 1h 5min
187: Coroutines with Manuel Vivo & Sean McQuillan
It finally happens! KG and Donn talk about Coroutines with two experts at Google Manuel & Sean. We've waited quite sometime on Fragmented to discuss this topic. We wanted to make sure Coroutines was mature enough to be compared with the contenders. Listen to find out more!
Resources
Chris Banes - Suspending over Views Animations & CoRoutines
KotlinConf 2018: Exploring coRoutines in Kotlin
Coroutines Guide
Coroutines test library
Codelab: Kotlin Coroutines
Codelab: Kotlin Advanced Coroutines
Testing Coroutines Talk
Cancellation and Exceptions in Coroutines Talk
Sean’s Coroutines blog series
Manuel's blog post about Flow in the Android Developer Summit app
Contact
Sean McQuillan @objcode
Manuel Vivo @objcode
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Jan 6, 2020 • 11min
186: Announcement 2020
In this episode, Donn and Kaushik talk about some changes coming down the pipe for the podcast and what it means in the long run.
Want to know what the changes are? Well, you're going to have to listen to the show... click play and listen away.
Once again, thank you all for joining us on this journey, it's been a fun and wild one.
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Dec 16, 2019 • 58min
185: Year End Decompress
In this decompress episode, Donn and KG talk about how their 2019 went. It goes from Dagger talk to Kotlin talk to Kotlin Conf talk. Give it a listen and enjoy!
Sponsors 🙏
Square
Square has SDKs and APIs to make payments and run a business. Even better, Square has a new YouTube channel for developers! Check out Square's new YouTube Channel for Developers at youtube.com/squaredev and let them know you heard about it from us.
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Dec 2, 2019 • 23min
184: Should I use a BaseActivity in my Android apps?
In this episode, Kaushik tries to talk through this question.
Thanks to friends of the show Jeroen, Yigit and a bunch of others who ran through some ideas on this one.
Application.registerActivityLifecycleCallbacks
Android X Lifecycle Component
Ep 16: Favor composition over inheritance
Sponsors 🙏
Square
Square has SDKs and APIs to make payments and run a business. Even better, Square has a new YouTube channel for developers! Check out Square's new YouTube Channel for Developers at youtube.com/squaredev and let them know you heard about it from us.
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Nov 25, 2019 • 20min
183: The Testing Paradox
How do you know what to test when you don't even know how to write the code that you need to test? This is a paradox that many developers find themselves in daily.
In this episode Donn talks about his strategy for dealing with unknowns in programming, namely around testing and how to figure out how to write tests for new code that might be difficult, unfamiliar or even legacy code.
Links
Ron Jefferies Tweet
Luxman Tweet
Donn Tweet
What is a Spike?
Sponsors 🙏
Square
Square has SDKs and APIs to make payments and run a business. Even better, Square has a new YouTube channel for developers! Check out Square's new YouTube Channel for Developers at youtube.com/squaredev and let them know you heard about it from us.
Flatiron School
Learn UX/UI design flatironschool.com/fragmented in 24 weeks and discover our global community on campus or online and go back to school with Flatiron School! flatironschool.com/fragmented!
Change careers with confidence with 1:1 support from our dedicated Career Coaches and a money-back guarantee. Complete details at flatironschool.com/terms.
See you in class!
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Nov 18, 2019 • 28min
182: Where do I put DB objects in a modularized Android app?
App Modularization has plenty of benefits and a lot of Android devs today are starting to modularize their android app.
A common problem though that most folks will start to run into is - how do you manage your database objects in these modules? do you create a single module with all your database dependencies (modularize by layer), do you do the right thing and modularize by feature so each module has it's own database file etc.?
In this episode Kaushik grapples with that question and tries to come up with an answer.
Shownotes
Modularization (KG's favorite resources)
Google IO 19 : Build a modular Android app architecture
Jeroen Mols's posts : Modularization - Why you should care
Joe Birch's posts : Modularizing Android Appications
Ep 117 : Multi Module Builds in Gradle
Karan Trehan's post : Writing a modular project on Android
Sponsors 🙏
Vettery
Vettery is an online hiring marketplace that is changing the way people hire and get hired. Make a free profile, name your salary, and connect with hiring managers from top employers today.
Listeners of Fragmented get a $300 bonus if you accept a job through Vettery! Sign up at vettery.com/fragmented
--
Flatiron School
Learn UX/UI design flatironschool.com/fragmented in 24 weeks and discover our global community on campus or online and go back to school with Flatiron School! flatironschool.com/fragmented!
Change careers with confidence with 1:1 support from our dedicated Career Coaches and a money-back guarantee. Complete details at flatironschool.com/terms.
See you in class!
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Nov 13, 2019 • 22min
181: In Functional Programming how to do IO and database operations
In the world of Functional programming where pure functions don't encourage side-effects, how does on actually do any IO?
So in this brave new world where everyone is adopting more FP principles, do we just stop doing database operations? Listen to this episode to find out.
Functional Programming basics
Ep 83 : Learning the basics of functional programing with Anup Cowkur
Ep 120 : Functional Programming with Kotlin Arrow team
Ep 121 : Functional Programming with Kotlin Arrow team (Part 2)
Unidirectional State Flow
Ep 148 and Ep 151
KG's speakerdeck slide
KG's Movie search apps Android app + iOS app
Resources for FP/IO contention
StackOverflow Q&A
Flying Frog Blog: Functional programming and databases
Sponsors 🙏
Flatiron School
Learn UX/UI design flatironschool.com/fragmented in 24 weeks and discover our global community on campus or online and go back to school with Flatiron School! flatironschool.com/fragmented!
Change careers with confidence with 1:1 support from our dedicated Career Coaches and a money-back guarantee. Complete details at flatironschool.com/terms.
See you in class!
Vettery
Vettery is an online hiring marketplace that is changing the way people hire and get hired. Make a free profile, name your salary, and connect with hiring managers from top employers today.
Listeners of Fragmented get a $300 bonus if you accept a job through Vettery! Sign up at vettery.com/fragmented
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Nov 4, 2019 • 15min
180: Code Comments
In this episode of Fragmented, Donn talks about when it's appropriate to comment your code.
Donn then dives into the types of code comments, when you might want to comment vs when you might not want to (depending upon your consumer) and then gets into how he decides to comment his code with a simple two-step process.
Enjoy!
Things Mentioned
Commenting Code Post
Sponsors
Bitrise
Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily.
Sign up for an exquisite pair of Bitrise Branded Socks at https://go.bitrise.io/fragmented
Flatiron School
Learn UX/UI design flatironschool.com/fragmented in 24 weeks and discover our global community on campus or online and go back to school with Flatiron School! flatironschool.com/fragmented!
Change careers with confidence with 1:1 support from our dedicated Career Coaches and a money-back guarantee. Complete details at flatironschool.com/terms.
See you in class!
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Oct 28, 2019 • 42min
179: Kaushiks Top Tips For Giving A Technical Talk
In this episode of Fragmented, Kaush breaks down how he begins creating and writing technical talks, using a talk he's about to give at the Mobilization Conference.
Enjoy!
Things Mentioned
Mobilization conference - KG is about to give a talk at
Post it notes pic1 pic 2
My Speakerdeck
San Jose Theme
Nick Butcher - speakerdeck
Cyril Motier - speakerdeck
Sponsors
Vettery
Vettery is an online hiring marketplace that is changing the way people hire and get hired. Make a free profile, name your salary, and connect with hiring managers from top employers today.
Listeners of Fragmented get a $300 bonus if you accept a job through Vettery! Sign up at vettery.com/fragmented
Bitrise
Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily.
Sign up for an exquisite pair of Bitrise Branded Socks at https://go.bitrise.io/fragmented
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)