

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

Jan 8, 2018 • 55min
108: State of React Native for Android with Ryan Salva
In this episode Donn talks to React Native magician Ryan Salva. React native and cross-platform development is typically one of our most requested topics so we kick the new year off with React Native. Ryan and Donn dive into the state of React Native today for mobile development, how it's matured since inception, what kinds of apps are suited to be built with React Native, what kinds aren't, what are the benefits to using React Native, some tips like pushing updates without having to upload to the play store every time and so much more.
Listen on!
Show Notes
(Apache) Cordova
React Native
CodePush
CodePush moving to App Center
App Center
Service workers: an Introduction
Misc
Expo JS
nvm
npm
Noteworthy quotes from this episode:
As developers, we are empowered to break things; it's our god given right!
Javascript is a beautiful disaster
Sponsors
Mapbox Android developers don't have to settle for a default same-map-no-matter-what option in their Android app. Mapbox offers complete map design control, allowing you to create beautiful custom maps to meet the needs of your Android users.
Check them out today at mapbox.com/android
Contact
@fragmentedcast [twitter.com]
@ryanjsalva
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Dec 18, 2017 • 46min
107: Shape shifting SVGs with Alex Lockwood
In this episode, we talk to Alex Lockwood who created shapeshifter.design, while at Google. Shape Shifter is an amazing tool that can help developers create Animated Vector Drawables without losing all their hair. Think of shapeshifter as a developer-friendly, open source, After Effects alternative for Android developers.
Alex talks to us about how and why he created Shape Shifter, the different tools that have evolved out of its creation and just getting a good grasp of its working.
Show Notes
Abt Alex Lockwood
Alex's blog - androiddesignpatterns.com
How to Leak a Context: Handlers & Inner Classes
Handling configuration changes with Fragments
Shape Shifter
shapeshifter.design
Blog post on icon animations
An Introduction to Icon Animation Techniques
SVGO
SVGo - optimizer
SVG-OMG - webapp that runs svgo on web by Jake Archibald
Shape Shifting & Icon animations
Alex Lockwood Droidcon SF 2017 Talk - In-depth parth morphing w/Shape Shifter
Building play to pause animation with ShapeShifter [slides]
Animal morph animation
Nick Butcher talk - Learn some new moves
Needleman-Wunsch algorithm
AVDO
github issue: AVDO -> 🥑
Lottie
Sponsors
Thanks to Buddybuild for sponsoring this episode of Fragmented! Ship apps faster with BuddyBuild 🚀 Give them a try for free at fragmentedpodcast.com/buddybuild.
Contact
@alexjlockwood [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Dec 13, 2017 • 58min
106: The Reactive Workflow Pattern with Ray Ryan
In this episode we sit down and talk to Ray Ryan from Square about the Reactive Workflow pattern that he recently gave a talk on. This pattern goes deep into RootViews, containers, ViewFactories and much much more.
Show Notes
Ray’s “The Rx Workflow Pattern” talk at Droidcon NYC: droidcon NYC 2017 - The Rx Workflow Pattern - YouTube
Flow Navigation -GitHub - square/flow: Name UI states, navigate between them, remember where you’ve been.
Square Coordinator Library - GitHub - square/coordinators: Simple MVWhatever for Android
Composable State Machine Pattern - A composable pattern for pure state machines with effects (draft v3) · GitHub
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Contact
@rjrjr [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Dec 4, 2017 • 1h 11min
105: Jake Wharton on the Android Kotlin Guides
In this episode, we talk to Jake Wharton of Google on a recent Kotlin coding style guide that they released: the Android Kotlin Guides. In this episode, we pick his brains and ask him how he structured the guide, how he partitioned it to fit some of the idiosyncrasies of Kotlin, what some of the challenges were, when coming up with the guide and much more.
Jake's one of the best out there and it's always such a pleasure to have him on the show. Listen on:
Show Notes
The style guides
Android Kotlin Guides
official github repo for Android Kotlin guides
Google Java Style Guide
Jetbrains Coding conventions
Jetbrains collection of Kotlin idioms (also very useful)
Building the style guide
Jekyll
Android Testing support library website (inspiration for how to set it up) (github)
Android Kotlin Guides
Annotation use-site targets with Kotlin
guide on interop and file-names for use-site targets
logical ordering explanation for ordering companion object
I am the reason for Hungarian notation - Cedric Beust blog post
Mockito when problems:
Kotlin reserved keywords
Mockito Kotlin library (aliases when -> whenever)
Misc
Where to break lines
Immutable collection prototypes for Kotlin
@Kotlin tweet on immutable collections
@JvmOverloads (we love this!)
Contributing
Contribute to github issues on Android Kotlin Guides
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Contact
@JakeWharton [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Nov 27, 2017 • 54min
104: Conversations with GNOME Mono Xamarin creator Miguel and VS App Center PM Simina
In this episode of Fragmented, Donn makes the pilgrimage to Microsoft Connect 2017. Connect is Microsoft's annual developer conference where they announce a bunch of new products and services.
Donn got to interview a bunch of folks, and in this episode, we talk to two of them: Miguel De Icaza (leading open source proponent who also helped create Gnome, Mono, Xamarin etc.) and Simina Pasat (Program manager for Microsoft's very new CI like service AppLink). Both of them were terrific guests and had quite a few gems to share, for us Android devs!
Show notes
Microsoft Connect
Miguel
MiguelDeIcaza (Wikipedia)
Wine
Midnight Commander
Gnumeric speedsheet
Evolution - Outlook clone for linux
Cross platform development
Mono project
Xamarin
Xamarin Live Player
Xamarin Workbooks
Misc
Scott Hanselman on using Visual Studio
Download Visual Studio
F# (programming language)
Bret Victor - The Future of Programming (youtube)
Simina Pasat
HockeyApp platform
Visual Studio App Center
Introducing App Center: Build, Test, Distribute and Monitor Apps in the Cloud
How to upload an Espresso Test to Visual Studio App Center
@vsappcenter
Contact
@MiguelDeIcaza
@SiminaPasat
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Nov 13, 2017 • 1h 6min
103: MVI pattern with Hannes Mosby Dorfmann
In this episode of Fragmented, we talk to Hannes Dorfmann about using the Model View Intent (MVI) pattern for Android. The MVI pattern was sparked through cycle.js (for javascript). Hannes took this pattern and tried to adapt it to Android. This pattern has gained a lot of traction and interest in the Android community.
In this episode, he breaks down the pattern for us. He tells us how to implement it, how it helps with testing, the benefits of the pattern and some of the pitfalls. Recording this episode was riveting for us and we dive into some juicy technical details. Listen on!
Show Notes
About Hannes
hannesdorfmann.com blog
Mosby
Tickaroo
Freeletics
The Context podcast
MV* patterns
cyclejs
André "Staltz" Medeiros
MVVM pattern
MVP pattern
KG - What i learnt using Presenter patterns
MVC by Trygve Reenskaug
MVI like patterns
Hannes series on MVI for Android (must read!) :
Reactive apps with MVI Part 1 - Model
Reactive apps with MVI Part 2 - View and Intent
Reactive apps with MVI Part 3 - State Reducer
Reactive apps with MVI Part 4 - Independent UI components
Reactive apps with MVI Part 5 - Debugging with Ease
Reactive apps with MVI Part 6 - Restoring state
Reactive apps with MVI Part 7 - Timing (Single live event problem)
Misc
Kategory - (Jorge)
Redux
Redux Saga - alternative side effect model for Redux apps
Redux Observable - AirBnB
Groupon Grux
Instacart LCE
The Journey of Android Engineers: Redux-ing UI Bugs by Christina Lee
Managing State with RxJava by Jake Wharton
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Rollbar open source library (alpha)
Contact
@sockeqwe [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Nov 6, 2017 • 42min
102: All Things Kotlin and notes from KotinConf
In this episode of Fragmented, Donn and I decompress. I had the pleasure of attending KotlinConf 2017 - Jetbrain’s very first conference dealing completely just on Kotlin. I have a quick chat after Day 1 with Donn, giving him the juicy updates.
We talk about how the conference was organized, some of the technical talks I attended (our thoughts on these…) and some of the folks I had the opportunity to meet.
Overall it was an amazing time at KotlinConf and if you want to vicariously enjoy it, listen on to the show.
Show Notes
Pixel 2
Google Store - Pixel 2
dbrand skins
Amanda's tweet on Samsung being annoying
KotlinConf
KotlinConf 2017 page
Pier 27 photo
Meeting folks
Erik Meijer
Talking Kotlin podcast - Hadi Harriri
Talks at KotlinConf
Amanda Hill - View state machine for network calls on Android (slides)
Roman Elizarov - Introduction to Coroutines (slides from another conference)
Jorge Costillo: Architectures Using Functional Programming Concepts (slides)
Jorge's medium blog
Coroutine introduction
Antonio Levia's post - A first walk into Kotlin coroutines on Android
Book - Kotlin for Android developers
Other interesting stuff
Kotlin Style Guide - courtesy Jake Wharton
Google Java Style Guide
google-java-format
now for google-kotlin-format
github isse (+1 this :D)
@JvmOverloads overloads generation
Sponsors
Thanks to Buddybuild for sponsoring this episode of Fragmented! Ship apps faster with BuddyBuild 🚀 Give them a try for free at fragmentedpodcast.com/buddybuild.
Contact
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Oct 30, 2017 • 23min
101: Learning Kotlin - visibility modifiers, internal modifier, modules
Another day, another opportunity to learn more Kotlin. In this episode, Kaushik walks through the concept of visibility modifiers. How do the modifiers in Kotlin differ from the ones in Java? What is this new internal modifier? When should I use each of the operators?
Listen on to find out!
Shownotes:
Visibility modifiers
Effective Java Item #13 - Ep 63
discussion: Why the default should be internal
Scopes in programming language (white paper)
Scopes in programming language (wikipedia)
Image visualizing differences between the protected modifier in Java and Kotli
Excellent resource explaining visibility modifiers in Kotlin
Detailed shownotes at fragmentedpodcast.com
#Sponsors
Thanks to Buddybuild for sponsoring this episode of Fragmented! Ship apps faster with BuddyBuild 🚀 Give them a try for free at fragmentedpodcast.com/buddybuild

Oct 23, 2017 • 1h 19min
100: Episode 100 - Listener questions
This is the 100th episode of Fragmented. We do things a little differently for our 100th episode and field a bunch of listener questions that came in. We're going a little meta and talking about our experience starting Fragmented, our process, how we pick guests and topics, our setups, our favorite Android libraries and classes (?!).
Thank you so much for being a listener. We cannot express how grateful we are to have you.
Shownotes
Android from the trenches (first talk KG saw of Donn's)
No “yes.” Either “HELL YEAH!” or “no.”
Google Pixel 2 store
Setup
KG
Shure Beta 87A
USB Pre 2
LG 34UC87C 34 ultra wide display
Headphones (KG has too many - ping em if you're curious)
Donn
Shure Beta 87A
Heil PR 40
Focusrite Scarlett 2i2
Mackie Onyx Blackjack
Dell E2715H monitor
Android Resources
Android Weekly
Android dev digest
Android resources (curated) one where we point people to
Awesome android github
.. and many many more
Android View class
Android Canvas class
RxJava
Dagger
Roboguice
Donn Felker - make the most of your time
Robinhood
Square Cash app
Google Play music app
Android niceties
Caster io - MVP series
RxJava Android samples
TrueTime Android
Sponsors
Rollbar - special offer: Bootstrap plan free for 90 days
Rollbar open source library (alpha)
Contact
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe

Oct 9, 2017 • 11min
099: Effective Java - Item #17: Design and Document for Inheritance or Else Prohibit It
In this episode, Donn talks about Item #17 from the Effective Java book: Design and Document for inheritance or else prohibit it. Learn how you should be documenting your code that is built for inheritance when you should not call overridable methods and much more.
Show Links
Fragmented - Effective Java Fragments
Contact
@fragmentedcast [twitter.com]
@donnfelker and +DonnFelker
@kaushikgopal and +KaushikGopalIsMe