

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

Apr 3, 2017 • 43min
078: Ten Testing Strategies with Michael Bailey
In this episode, Donn sits down with fellow Android GDE, Michael Bailey to cover 10 testing strategies to help you get your application under test and to make sure your testing environment is top notch. They start off with the basics and then progress further down the testing rabbit hole eventually covering topics like cloud-based testing labs, hermetic testing and much much more. This episode will help provide you with a blueprint of how to get your Android app under test and get you to a level where you can develop your app with confidence.
The Ten Tips
Use Espresso for functional/integration testing
Mock data and API endpoints to keep tests hermetic
Utilize JUnit JVM Tests and patterns for a fast dev cycle
Utilize a git branching strategy and utilize pull requests (PR's) for code reviews
Use CI to run the tests and provide constant feedback
Speed up testing and ease of testing with shell helpers and helper classes for testing
Cloud Testing Services
Mutation Testing
Thoughts on code coverage & value based testing
Don't let flaky tests linger
Show Notes
Espresso
Wiremock
MockWebServer
MockWebServer Course on Caster.IO
Git Branching Strategies Fragmented Episode
Firebase Test Lab
Xamarin Test Cloud
Amazon Device Farm
Genymotion Cloud
Mutation Testing
Pit Mutation Library
Michaels Podcast - Native Wheel House
Contact
@yogurtearl [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Mar 20, 2017 • 55min
077: Chatting ADB with Genymotion's Eyal Lezmy
Today on Fragmented, we talk to Eyal Lezmy. Eyal works as an Android developer for Genymotion. While working for Genymotion he had to deal with the Android Debug Bridge a whole bunch, so in this episode we dive into the details of ADB, some super slick commands and in general just get a better understanding of this tool we use every single day.
Show Notes
Genymotion
ADB - Android Debug Bridge
Droidcon NYC - ADB, Break On Through To the Other Side
HTC Sooner (juicy non-developer article alert)
pidcat (adb logcat tool)
Phillipe's ADB IDEA plugin
Caster IO - Enabling Fingerprint on the Android emulator
helpful commands
adb shell input text "keyboard text"
adb exec-out run-as package.name cat databases/file > file
adb shell "run-as package.name chmod 666 /data/data/package.name/databases/file"
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Contact
@eyal_lezmy [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Mar 13, 2017 • 52min
076: Taming the activity lifecycle with Kristin Marsicano
In this episode Kaushik talks to Kristin of Big Nerd Ranch. You would think that the Android lifecycle is pretty standard and basic stuff. But as Kristin begins to unpack the nuances of the Android lifecycle, we learn there's a world of details that's easy to miss. Listen on, to get an ironclad grip on the Activity lifecycle.
Show Notes
Android programming : The Big Nerd Ranch Guide
Activities in the Wild: Kristin at 360AnDev
Kristin's Lifecycle diagram (and slides)
Notes on opportune moments to do "stuff" in the Android lifecycle
Kristin's follow up blog post to the Activity
lifecycle
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Contact
@kristinmars [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Mar 6, 2017 • 26min
075: Effective Java - Item #15
In this mini-Fragment episode, Donn talks about Item #15 of the Effective Java series - Minimize Mutability. You'll learn what mutable and immutable objects are, how and why immutability is a good thing and how you can implement it.
Show Notes
Ryan Harter's Intro to AutoValue
Caster.IO Course on AutoValue
Effective Java Book
Sponsor
Rollbar
Contact
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Feb 20, 2017 • 50min
074: Ben Oberkfell talks Fingerprint API
It's almost a given these days that most phones will have Fingerprint APIs. But how does the hardware actually work? How does the Software work? How does an Android developer make use of these APIs? Ben Oberkfell breaks it down for us in great detail. Listen on!
Show Notes
NY Times Crossword app
Chicken Wing test - ADB Ep 38
Android CDD - Compatibility Definition Document
Explaining public/private encryptino
Android vs iOS fingerprint
Ben's fingerprint demo app
Ben's Droidcon NYC 2016 presentation
Android hardware keystore
Apple's security whitepaper
Whorlwind - Reactive fingerprint library courtesy Square
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Contact
@benlikestocode [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Feb 13, 2017 • 12min
073: Effective Java - Item #14
In this mini-Fragment episode, Donn talks about Item #14 of the Effective Java series - In public classes, use accessor methods, not public fields. You'll learn why it's important to use accessors in your public classes and some caveats to this rule.
For example, you may decide that the class is a private inner class or package private. Donn digs into the details in this week's episode. This is a glimpse of what's to come in Item #15, which is coming soon...
Show Notes
Java Access Control
Effective Java Book
Sponsor
Rollbar
Contact
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Feb 6, 2017 • 40min
072: App Shortcuts with Andrew Orobator
In this episode, we talk to Android developer Andrew Orobator. He gives us the lowdown on the new feature App Shortcuts that was introduced in Android. We talk about static and dynamic shortcuts, use cases for other shortcuts and how to implement them for your app. We also cover what the feature lacks and things to watch out for, while implementing them. Listen on!
Fragmented also has spanking new music from the super talented Blueprint: you can find out more at info@printmatic.net.
Download directly
Show Notes
Andrew's Medium posts
Introducing Auracle: A queue based music player: Andrew's new music player
Implementing Android App shortcuts
Andrew's medium posts
Best productivity tools for Android developers (another article Andrew wrote)
Misc
App shortcuts design guidelines
Konstellation (Kotlin demo app using App Shortcuts)
Sponsors
Rollbar - special offer: Bootstrap plan free
Contact
@fragmentedcast [twitter.com]
@aorobator [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Jan 23, 2017 • 49min
071: Interview with Raveesh Bhalla
In this episode we change the tune and talk with Raveesh Bhalla; Raveesh is a GDE for design specialized in UI/UX.
He starts off by helping us get a good understanding of what UI/UX involves. He then shares his experiences and learnings from having conducted extensive research specifically for Android. What are some good patterns today, what are anti-patterns, what should we watch out for. Listen on to find out more!
Show Notes
Apps with interesting designs
Todoist (Karma points)
Swarm
Enki
Fastfilmz
Misc
Facebook research medium post: Embarking on international research
Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Problems
UC Mobile browser app
Google Ventures : The design sprint
Sponsor
BuddyBuild is a continuous integration and continuous deployment system built specifically for mobile developers. Thousands of development teams love BuddyBuild because it's the fastest way to build, distribute and gather feedback for their apps. Give it a try for FREE at buddybuild.com
Contact
@raveeshbhalla [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Jan 16, 2017 • 1h 18min
070: An honest discussion about Realm
In this episode Donn and Kaushik have an honest discussion about Realm (a client side database). Donn has worked pretty extensively with Realm and even consulted for their Android platform previously. But Kaushik has only recently tried it out on a production app.
In this episode they have an honest and frank discussion about using Realm, the advantages, the disadvantages, the gotchas and if it makes sense to use a database like Realm as an Android developer today.
Show Notes
Fragmented episode with Realm Android developer Christian Melchior
Sqlbrite by Square (Reactive SQLiteOpenHelper wrapper)
StorIO: wrapper for SQLite or ContentResolver
###Sponsor
BuddyBuild is a continuous integration and continuous deployment system built specifically for mobile developers. Thousands of development teams love buddybuild because it's the fastest way to build, distribute and gather feedback for their apps. Give it a try for FREE at BuddyBuild.com
Misc
Feature: auto updating objects
Fragmented episode on GC vs Reference counting
Realm RxExample
The problem with Threads - Edward Lee
Sync stuff
Realm Mobile platform
Building a sync engine (Vesper Sync diary)
Github issues tracked on Realm
Request: Compound primary key support
Request: Value object support
Request: Custom column names
Feature: Copy from Realm
Resources
Latest Realm docs
Caster.io series for Realm
Contact
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Jan 9, 2017 • 27min
069: Talking Buck with Uber engineer Gautam Korlam (part 2)
We're back with part 2 of our Buck episode. We continue our chat with Uber Engineer, Gautam. We dive into the details of how buck is used, how you can use it and how it can help you and your team. Learn about how to use it with Gradle and more with OkBuck.
Show Notes
Build systems
Buck overview (Facebook/Uber)
Bazel (Google)
Pants (Twitter)
Android test app comparing different build systems [github.com]
Misc
okBuck (adopting Buck easily) [github.com]
Buck - Exopackage
Watchman
Resources
What makes Buck so fast
Gautam's talk on okBuck at Droidcon NYC [youtube.com] (Slides)
Contact
@kageiit [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe