

Fragmented - Android Developer Podcast
Donn Felker, Kaushik Gopal
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.
Episodes
Mentioned books

Jul 3, 2017 • 58min
088: Offensive programming
In this episode of Fragmented we talk to our friend Piwai from Square.
Piwai's a pro at testing and breaking apps (he built LeakCanary - so not terribly unexpected). He teaches us some strategies on debugging app crashes and briefs us on this concept he calls "offensive programming" which has helped him a lot with his Android development.
It's good stuff and we hope you enjoy the show.
Show Notes
Defensive programming
Py's libraries:
AndroidAnnotations
LeakCanary
Misc resources:
Luhn check - algorithm
Debouncing in general
Debounce operator in RxJava
Advocating against Android Fragments
Pending touches and UI event:
Cancel pending touches
DebouncingOnClickListener (RxBindings)
Py's talk - All apps shall crash
Contact
@piwai [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Jun 19, 2017 • 20min
087: Effective Java - Item #16: Favor Composition over Inheritance
In this mini-Fragment episode, Donn talks about Item #16 of the Effective Java series - Favor Composition over Inheritance. You'll learn why using inheritance is not always a great idea and how you can use composition in place of it to make your code more anti-fragile, resilient and clean.
Show Notes
Effective Java Book
Contact
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Jun 12, 2017 • 27min
086: Working Effectively With Legacy Code
In this mini-Fragment episode, Donn talks about Working Effectively with Legacy Code. He doesn't just talk about the book itself, but he talks about how to approach a legacy code base and start delivering value as soon as possible, yet with confidence. If you've recently started a new job, moved to a new team, started working on an existing code base, then this episode is bound to help you.
Show Notes
Working Effectively with Legacy Code Book
Sponsor
Rollbar
Contact
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Jun 5, 2017 • 1h 2min
085: Casual Kotlin conversation with Dan Kim
In this episode, we talk to Dan Kim about Kotlin. Dan is an Android developer at the company Basecamp and has some great Kotlin posts on the company's famous blog Signal Vs Noise. He was pretty early, on the Kotlin train and has been working with the new language for quite sometime now.
Instead of trying to go into every single detail about Kotlin, the nuances of the language, it's syntax etc. we take a more general approach and talk about starting out on Kotlin, how does on go about migrating an Android codebase to Kotlin, what are things we should watch out for when using the language. This and a whole lot more!
Show Notes
Basecamp blog - Signal vs. Noise
Jake Wharton - Using project Kotlin for Android
Fragmented - Ep 20 with Hadi (spl. mention shownotes)
Dan Lew - Mutable vals in Kotlin
Kotlin idioms
Kotlin - coding conventions
kapt - Annotation processing for Kotlin
Kotlin website
Kotlin website (source)
Kotlin view (binding) libs
Kotlin Android extensions
Kotterknife
Anko
Synthetic properties
Resources
Jake's youtube video
Dan's blog posts:
How we made Basecamp 3’s Android app 100% Kotlin
Some of my favorite Kotlin features
Android development with Kotlin - Jake Wharton (video)
Introduction to Kotlin - Google I/O 17 (video)
Contact
@fragmentedcast [twitter.com]
@dankim or [email Dan](mailto: dan@basecamp.com)
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

May 22, 2017 • 1h 32min
084: Kaush and Donn go to Google IO 2017
This was truly one of the most memorable IOs Google has ever conducted. In keeping with tradition, Donn and Kaushik talk with a bunch of awesome #AndroidDev and get their opinions/thoughts on IO and Android in general. As always, these are super fun episodes.
Show Notes
Dan Kim (Basecamp)
@dankim or dan@basecamp.com
Vysor app
Mark Allison - being brave with the O preview
Patryk Poborca (Kozio Digital)
@patrykpoborca
Trello app
Jerrell Mardis (Salesforce)
@jerrellmardis
Robinhood app
Android architecture components talk
Annyce Davis (Offgrid Electric)
@brwngrldev
Forest app
React Native: Building Mobile apps
Zac Sweers (Uber)
@pandanomic
YouTube TV app
Slack app
Matt Kranzler (Salesforce)
@mattkranzler
Flamingo app
Roberto Orgiu (Caster)
@_tiwiz
Christina Lee (Pinterest)
@RunChristinaRun
Christina's Fundraiser - Running across America
Robinhood app
Talk at IO - Life is Great and Everything Will Be Ok, Kotlin is Here
Hugo Visser (Little Robots)
@botteaap or +HugoVisser
Android APT
Raveesh Bhalla
@raveeshbhalla
Enki app
Etienne Caron (Shopify)
@kanawish
Safari Queue app
Chris Jenkins (Owlr)
@chrisjenx
Calligraphy font lib by Chris
Waze app
Brenda Cook (Seesaw)
@kenodoggy
Mint app
Memrise app
Joaquim (Twitch)
@joenrv
The Making of Falcon Pro 3
Falcon Pro (Joaquim's app)
Strafe Esports app
Previous Google IO Episodes
Ep 43 - Google IO 2016 (part 2)
Ep 42 - Google IO 2016 (part 1)
Ep 9 - Google IO 2015
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Contact
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

May 15, 2017 • 53min
083: Learning the basics of functional programing with Anup Cowkur
RxJava is considered a functional reactive programming library. But the paradigms of functional programming have existed for a very long time. In this episode we talk to Android GDE Anup Cowkur, about his experience experimenting with "pure" functional languages. He breaks down some of the basic concepts, explaining the different terms along the way.
Download directly
Show Notes
Gordon Moore & Moore's law
Rich Hickey on Clojure's Features and Implementation
PCollections - persistent Java collections library
Functional languages:
Elixir
Elm
Scala
Lisp
Haskell
Erlang
Resources
Anup's multi part series on functional programming
The Context podcast - Functional programming with Paco Estevez
Anjana Vakil: Learning Functional Programming with JavaScript - JSUnconf 2016
Learning functional programming and compositional software techniques in JavaScript - Eric Elliot
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Contact
@anupcowkur [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

May 8, 2017 • 1h 2min
082: Airbnb's Gabriel tells us how to animate with Lottie
It's pretty awesome, when you use a third party library, love using it and finally get to talk to the person who actually helped build it. In this episode, we talk to Gabriel Peal. Besides having quite the illustrious career in Android development, Gabriel now works at Airbnb and helped build Lottie - an animation library.
What is Lottie, how do you use Lottie? why is so Lottie so cool? how does it actually work under the hood? Listen to this episode and find out.
Show Notes
Lottie for Android (github)
Bodymovin (github)
Install via Adobe cloud extensions
lottiefiles.com - sample Lottie animations
Using lottie - example snippets
Lotte Reiniger- the animator
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Contact
@gpeal8 or lottie@airbnb
@fragmentedcast
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

May 1, 2017 • 55min
081: Talking Android Things with Rebecca Franks
It is the world of the Internet of Things (IoT) and Google's answer to that is the Android Things. In this episode, we talk to the amazing Rebecca Franks. She explains how Android things works and talks of some of the adventures and examples she's embarked on with Android Things. If you've had that hobby Raspberry Pi or Arduino board lying around and not sure how to put it to use, this episode's for you.
Show Notes
Ep 42 - Google IO episode
Rebecca's blog posts:
Distributed Piano with Android Things
Electricity Monitoring app with Android Things
Hardware basics for the Software Engineer
Android Things Developer Kits
Arduino Starter Kit (includes the h/w book she recommends)
Android Things - official github repo
Android things Contrib drivers - (e.g. button gradle dependency)
Sponsors
Kobiton
Contact
@riggaroo and riggaroo.co.za
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Apr 17, 2017 • 55min
080: 10 Books Android developers should read
In this episode Donn and Kaushik recommend 10 books on Software programming that they think every Android developer would greatly benefit from reading. These are books that helped them become better programmers and have had the most impact in their daily lives as Android developers.
Show Notes
Effective Java - Joshua Bloch
Effective Java Items (Fragmented fragments)
Working effectively with legacy code - Michael Feathers
Head first Design Patterns
Don't make me think - Steve Krug, 3rd edition
Java Concurrency in Practice
XUnit testing patterns
Website xunitpatterns.com
Patterns of Enterprise Application Architecture - Martin Fowler
Javascript the good parts - Douglas Crockford
Gary Bernhardt - WAT
Clean Code - Robert.C.Martin
Clean Code: Writing code for humans (Puralsight)
Coders at Work - Peter Seibel
Honorable mentions
Release it
Design Patterns: Elements of Reusable Object-Oriented Software (Gang of Four)
Pragmatic Programmer
CODE - The Hidden Language of Computer Hardware and Software
Soft Skills - John Sonmez
Deskbound - Kelly Starett
8 steps to a pain free back - Esther Gokhale
Contact
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Apr 10, 2017 • 56min
079: Interview with Etienne Caron
Have you ever thought about building VR (Virtual Reality) apps? Where do you start? How difficult is it? How similar is to Android development? Do you still code in Java? In this episode, Etienne Caron AndroidDev extraordinaire and expert VR hobbyist gets us up to speed on what you need to know, to start creating VR apps.
Show Notes
Shopify Engineering Blog (VR)
Demoscene
Save a cat from a skyscraper (VR game)
Rajawali - Android OpenGL engine
Build your first Google VR app in 10 minutes : caster.io course
developer docs on Google VR
Unity game engine
Vulkan API (open GL)
Project Rider - C# IDE
Shadertoy.com
OpenGL ES Apple docs
Learn OpenGL ES.com
Contact
@kanawish [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe