An Android developer podcast where we talk about building good software and becoming better Android developers

October 15, 2018

138: Decompress - kotlin scripting

In this mini fragment, Donn asks KG about a recent hackathon side project that he worked on with Kotlin scripting.

We go into kotlin scripting (using kscript), pros cons, setting it up and more. We've added links some interesting resources, so you want to make sure you check out the shownotes for this one, so you too can explore kotlin scripting and see if it's a fit for you.

October 4, 2018

137: Decompress KISS DRY testing

In this episode, DF and KG decompress. They start off talking about ideas around KISS vs DRY in software engineering. They move on then to talk about a dear topic - functional vs unit testing and then dive into some of the woes of having a testing infrastructure spun up. Also announcing our youtube channel !

September 24, 2018

136: Kotlin Extension Functions

In this fragment episode, Donn talks about Kotlin extension functions. He discusses what they are, how to build them, why they're useful, how to organize them, visibility and how to call them Java and much more.

September 17, 2018

135: You Can't Learn Everything

Donn's on a roll again this week and talks to us about his experience having developed Android for a while. In the early days of Android development, as app developers we felt like we had a decent grasp of everything you needed to know to pump out decent apps.

But with the time, and the latest updates, that has become a tricky thing. This is a good problem to have for the ecosystem but it can make it seem very daunting for developers, both new and old.

Donn gives his 2 cents on this subject.

August 6, 2018

134: Get Effective Help with an SSCCE

In this episode, Donn talks about how you can get effective help with your coding problems with an SSCCE - a Simple, Self-Contained, Correct (Compilable), Example.

July 23, 2018

133: Dependency Injection and Service Locators in a Kotlin world with Danny Preussler

A hotly debated topic at the moment is the use of a library like Dagger for dependency injection in the world of Kotlin. In this episode, we talk to Danny Preussler. Danny's a pro who's been around from the Java 1.0 days! He helps trace the history of dependency injection in Java all the way to today, in a Kotlin world where there exists alternatives like Koin and Kodine.

We dive into how some of these use a Service Loader/Locator pattern and the subtle differences with dependency injection. Listen on for an action packed episode.

July 18, 2018

132: Dealing with Money in programming

In this mini fragment Kaushik talks about dealing with the Money object. With money we need decimals, but the obvious solution of using a float or double may not work as advertised. Listen to this episode to find out why and how you can go about dealing with this.


July 9, 2018

131: ARCore with Yulia Kaleda

We live in a time of booming AR (and VR). We wanted to talk to someone who’s worked with it and would know a thing or two about the subject. Then we found Yuliya – also known as the walking wizard of ARCore. In this episode, she teaches Kaush and Donn about ARCore, the differences between AR/VR, the fundamental building blocks of ARCore, some of the newer concepts introduced like Sceneform. An action packed episode to say the least. Listen on !


July 4, 2018

130: Sunsetting ReactNative at AirBnb with Gabriel Peal - Part 2

In this episode, we resume our conversation with Airbnb's Gabriel Peal. If you haven't listened to part 1, you really really should go back and do that. In that episode, we kicked it off by first trying to understand the goals and the story behind why React Native was chosen as the code sharing technology/tool.

After two years, 220 screens, and 120,000 lines of javascript, Gabriel tells us why they're moving away from React Native.


July 2, 2018

129: Sunsetting ReactNative at Airbnb with Gabriel Peal - Part 1

If you haven't heard, Airbnb has decided to move away from React Native. Friend of the show Gabriel Peal wrote an in-depth series of blog posts about this. We had so many questions around this that we asked him to come on the show and he graciously accepted to answer some of our questions.

It's always a pleasure listening to his insights and this episode is no exception!

Listen on:

June 25, 2018

128: gRPC on Android with Sam Bobra

In today's episode, we are joined by Sam Bobra - engineering manager @VSCO, android fangirl and gRPC magician (some would go so far as to say evangelist !) to talk about gRPC on Android. Super informative episode!

Show notes at

June 11, 2018

127: Audio playback on Android with Caren Chang

In today's episode, we sit down with Caren Chang from June to talk about audio engineering for Android. More specifically, how stoves can use audio to send notifications.

June 4, 2018

126: GraphQL and Apollo with GDE Mike Nakhimovich (Part 2)

In this episode, we continue with Part 2 of this GraphQL series. If you haven't listed to episode 125 already, it might make sense to first listen to that one cause we go into the basics of GraphQL.

In this episode, we dive into the specifics of Apollo and how Mike went about creating a GraphQL client for Android. Let's get on with Part 2.

May 28, 2018

125: GraphQL and Apollo with GDE Mike Nakhimovich (Part 1)

In this episode, we talk about GraphQL. Friend and GDE Mike Nakhimovich helped create the library Apollo for Android, which is the defacto official GraphQL client for Android.

In this first part of two, we take a step back and first try to understand what GraphQL is, why one would use it, how Mike set out to create and contribute Apollo for Android and his journey and satisfaction with open sourcing it when he worked at the New York Times.

If you've ever been interested in GraphQL, this is a good show to get you up to speed.


May 14, 2018

124: IO 2018 first impressions with Android Dialogs & Pocket Casts teams

In this episode of Fragmented, Kaushik talks to Chiuki & Huyen from Android Dialogs and Russell & Philip from Pocket Casts. Fresh after IO we huddled in a room to talk about our first impressions and what we thought were some of the highlights for us Android developers. Hope you enjoy the show! (if you want to see a behind the scenes crossover special, make sure to subscribe to Android Dialogs!)

Show notes:

May 7, 2018

123: Android Micro Frustrations

With good –most of the time– also comes the bad. In this episode, Kaushik and Donn chat about the small annoying things about being an Android developer, or more aptly - "Micro Frustrations".

We usually cover the new, latest, greatest and awesome developments. But it helps to step back and also point out the things that are broken and the 1000 cuts so to speak.

Sit back and enjoy this hearty rant!

Show notes:

April 23, 2018

122: Learning Kotlin - typealias

In this episode of learning kotlin, we look at the typealias keyword. The typealias keyword allows you to provide alternate names for existing types and and function types. Learn how, why and when you can use it in this episode

April 16, 2018

121: Functional Programming with Kotlin Arrow team - 2

In this episode of Fragmented, we wrap up another 2 part series. We dive into the details of the Arrow library with this one. Arrow is a library in Kotlin that helps bring many of the functional paradigms of programming to your daily development. We talk to the team about how it all started, the history of the library, why we even need arrow, how Arrow is structured, some of the pitfalls, and in the end some resources on getting us started with Arrow.


April 9, 2018

120: Functional Programming with Kotlin Arrow team - 1

In this episode of Fragmented, we kick off another 2 part series. This time it's with the Kotlin Arrow team! In the first part, we talk to Jorge, Raul and Paco about Functional programming in general, some core FP concepts, do we already use functional programming today, what are pure functions, do I need to know complicated math to do FP, Immutability, Referential transparency and so much more. These are all pretty daunting words, but the Arrow team break it down and make it really simple for us to understand.


April 2, 2018

119: Flutter with GDE Eugenio Marletti - Part 2

In part 2 of this series,

To help us understand Flutter in-depth we talk to Flutter's GDE Eugenio Marletti. In Part 2 of this 2 part series, Eugenio helps us understand what flutter is, why it was created, how it works, some really cool features with Flutter and why an AndroidDev today should really give Flutter a good look.

We got so carried away in conversation, that we were forced to break this episode into two parts. If you missed part 1 but want to go back and listen you'll find it here: 118: Flutter and cross-platform development with GDE Eugenio Marletti - Part 1


March 19, 2018

118: Flutter and cross platform development with GDE Eugenio Marletti - Part 1

In this episode, we dive into one of our most requested topics and highly anticipated ones - Flutter.

To help us understand Flutter in-depth, we talk to Flutter's GDE Eugenio Marletti. In Part 1 of this 2 part series, Eugenio helps us understand what flutter is, why it was created, how it works, some really cool features with Flutter and why an AndroidDev today should really give Flutter a good look.

We got so carried away in conversation, that we were forced to break this episode into two parts. Stay tuned for Part 2.

Show notes:

March 12, 2018

117: Multi-Module Builds in Gradle

In this episode, Donn and Kaushik sit down to talk about multi-module builds with Gradle. They talk about how you can separate your build into multiple different modules and how you might go about implementing it.

March 5, 2018

116: Learning Kotlin - inline, noinline, crossinline

In this episode of learning kotlin, we look at 3 important keywords - inline, noinline and crossinline. The inline keyword is super common and you've probably run across this one at some point. What does it mean and when is it useful? We also look at the related but seldom used variants noinline and crossinline.


February 26, 2018

115: Architecture Components with Akshay Chordiya

In this episode, we talk about the different parts of Android architecture components. We've had episodes on Room and the paging library, so in this one, we thought we'll touch a little on Lifecycle Owners & Observers, ViewModels, and LiveData. Akshay Chordiya helps break it down. Listen on!


February 19, 2018

114: All About CI & CD on App Center w/ Patrick Nikoletich

In this episode, we talk to Patrick Nikoletich from Microsofts App Center team. We explore the intricacies of the Continuous Integration server system on the App Center platform.

February 12, 2018

113: Chatting with Pinterest's Christina Lee

In this episode we catch up with a highly energetic but sick Christina Lee about the delightful details in the Pinterest app, delving with the dark side (Swift), giving live coding presentation talks and touching on some Kotlin details like covariance and contravariance. Listen on for a power-packed 40 minutes.

February 8, 2018

112: Effective Java v3 - Item #9 - Prefer try with resources to try finally

In this mini-fragment episode, Donn talks about Item #9 of the Effective Java (Third Edition) book - Prefer try with resources to try finally.

Please note, this episode references the third edition of the Effective Java book that recently came out. Previously we were doing the entire series on version 2, but we are now upgrading to version 3 of the book. We will not be re-doing any of the existing lessons, but if one was inserted in the mix, then we will do that lesson.


January 29, 2018

111: Effective Java v3 - Item #5 - Prefer Dependency Injection to Hardwiring Resources

In this mini-fragment episode, Donn talks about Item #5 of the Effective Java (Third Edition) book - Prefer Dependency Injection to Hardwiring Resources.

January 22, 2018

110: BuddyBuild and CI/CD services

In this episode of Fragmented, we talk about CI, CD and CD services. That's Continuous Integration, Continuous Delivery, and Continuous Deployment. BuddyBuild a beloved 3rd party service of ours (and previous sponsor) is sunsetting their Android service, so Donn and KG discuss alternatives and the options they've been keeping an eye on.

show notes:

January 16, 2018

109: Learning Kotlin - Sequences the new Iterables

In this episode of Fragmented, we go back to learning some Kotlin and look at the Iterable like data structure introduced called "Sequences". What is a sequence? How is it different from Iterable? When should I use it?

Listen on and find out!

Show notes at

January 8, 2018

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.

Show notes at

December 18, 2017

107: Shape shifting SVGs with Alex Lockwood

In this episode, we talk to Alex Lockwood who created, 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:

December 13, 2017

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.

December 4, 2017

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:

November 27, 2017

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! Listen on.

November 13, 2017

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:

November 6, 2017

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:

October 30, 2017

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!


October 23, 2017

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.


October 9, 2017

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.

October 2, 2017

098: Droidcon NYC - Kotlin, React Native, Android Security, Design Patterns and Doppl

In this episode, Donn is at Droidcon NYC 2017. He sits down to chat with Dan Kim about Kotlin, Gabriel Peal about React Native, Scott Alexander-Bown about Android Security, Jose Alcérreca about the Android Architecture Blueprints and Kevin Galligan about the history of Droidcon NYC and his new library - Doppl.

September 18, 2017

097 : Android Architecture Paging Library with Florina Muntenescu

In this episode Florina returns to talk to us about Google's recently announced paging library!

The paging library is a powerful take on implementing paging functionality in general, not necessarily linked to a paritcular technology or library. Florina breaks down the different components and explains what specific function each of them play.

We start off with DataSources, talk about when one would want to use "Tiled" or "Keyed" data sources, and then talk about making them work with RecyclerViews (which is really what 99% of us eventually want). Florina also explains the role of PagedLists, PagedListAdapters and so much more.

If you ever wanted to get an overarching veiw of Google's first take on implementing the paging library, this is a great starting point. Listen on so you can understand, try it out and then give feedback to Google, to participate in the making of this new library.


September 11, 2017

096 : Romain Guy on Displays, CPU's, GPU's and Color

In this episode, Romain Guy from Google gives us the lowdown on a bunch of Hardware related stuff.

He starts off by explaining how the refresh rates on screens matter, what it would mean to have something like a 120Hz display for Android screens, how things like V-Sync and double buffering work, using different screen technologies, how much work is done by the CPU and GPU and so much more.

This was one of those episodes where we tried so hard to hold back for fear of recording for another 2 more hours. Romain is clearly one of the most knowledgable and interesting engineers to talk to today in the hardware land of Android. What a blast!


September 5, 2017

095 : Room Databases with Florina Muntenescu

In this episode, we talk to Florina from Google about the recently released Database library Room. Room was introduced as part of the Android Architecture components and has been picking up a lot of steam in the community.

Room focuses on being a beautiful api layer to Sqlite. Florina explains to us how we can use Room to create a database, creating entities and how them map to tables, using DAOs to access data and even observe them

Listen on for the details!


August 28, 2017

094: Design Patternitis - 5 Tips to Help You

In this episode of Fragmented, Donn talks about a common problem almost all software engineers face in their career - Design Patternitis.

August 14, 2017

093: RxJava intervention with Dan Lew

In this episode of Fragmented, our friend and RxJava paragon of the Android - Dan Lew, returns for a record 3 and 1/2 time.

We've been using RxJava over the years now and have even talked to Dan about it in previous episodes.

How has our understanding of Rx use in Android changed over the years? We know some of the super standard usecases for RxJava in AndroidDev. But the important question to be asking is: when are the times we "shouldn't" be using RxJava? Are we over-complicating our code by shoe-horning it in different places. Concepts like functional programming and reactive state management have picked up steam again, how has this influenced our RxJava use?

Listen on to find out more!

August 7, 2017

092: Learning Kotlin - dealing with static-ness and (companion) objects costs

In this second episode of our learning Kotlin series, we talk about Kotlin’s support for static members or … lack thereof. Kotlin as a language was designed so that there’s no such thing as a “static member” in a class but there are times when having static members can be useful.

So what do we do in those cases? do we just avoid static members? are there better alternatives? what are the costs with some of these approaches?

Listen on to find out more!


July 24, 2017

091 : Decompress - Reddit AMA highlights, package by feature not layer and testing!

In this decompress episode, DF and KG kick it off with a brief discussion of the highlights from the recent reddit AMA that the Android Engineering folk conducted. What were the interesting things they learnt or were surprised by etc.? They then go on to briefly discuss two topics they've always chatted about (off-air) packaging by feature (not layer) and most recent thoughts on testing. Listen on to find out more:


July 17, 2017

090: Make your apps instant with Zarah Dominguez

At I/O '16 Google announced the super cool new feature "Instant Apps". It's only at this IO, have we started to see real world examples and third parties pull off this feature.

In this episode, we talk to GDE Zarah Dominguez who's company "Domain" was one of the partners for this program.

What is the Instant Apps feature? What are some usecases where this comes in handy? How does it actually work internally? What does it take for a developer to implement this feature in their own app? Listen on to find out!


July 10, 2017

089: Learning Kotlin - Properties a first class language feature

In this mini Fragment, KG talks about his journey learning Kotlin as a newb. Given that Kotlin is most likely going to be the de-facto language for most developers, it makes sense to deepen our understanding of the language (as we have strived with Java over the years).

"Properties" in Kotlin are a first class language feature. But what does that actually mean? What are the nifty features we get with properties? How are these resolved from a Java class when there's potential a name clash? What are some other gotchas and learnings from using properties? Listen on to find out:


July 3, 2017

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.


June 19, 2017

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.

June 12, 2017

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.

June 5, 2017

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!


May 22, 2017

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.


May 15, 2017

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.


May 8, 2017

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.


May 1, 2017

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.


April 17, 2017

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.


April 10, 2017

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.


April 3, 2017

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.

March 20, 2017

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.


March 13, 2017

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 at

March 6, 2017

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.

February 20, 2017

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!


February 13, 2017

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.

February 6, 2017

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


January 23, 2017

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:

January 16, 2017

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 dove deeply and tried it out for 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.


January 9, 2017

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.

January 2, 2017

068: Talking Buck with Uber engineer Gautam Korlam

We kick off 2017 talking to Uber Engineer Gautam. In first part of this 2 part series, Gautam talks to us about the Uber Android app, the complexity in the architecture, the scaling challenges, the pain points Android developers faced working on such a massive app.

He then goes on to explain how his team (Android Developer Experience) at Uber have approached these challenges and come up with elegant solutions.

We then dive head deep into Buck - the build system for Android development, it's advantages and the benefits that the folks at Uber have observed having migrated.


December 19, 2016

067: Cross platform development with Xamarin cofounder Joseph Hill

In this episode, Donn talks with Xamarin cofounder on how one can use Xamarin for Android development.

They start off chatting about using Xamarin just for business logic sharing. This Joseph tells us was the original intention for use. They also touch on Xamarin forms which allows you to additionally build UI elements cross platform.

Even if you don't use Xamarin or plan to use Xamarin right away, this was a fantastic insight into the platform, from the creators directly. They touch on advantages, how to really leverage the platform and potential downsides.

show notes:

December 12, 2016

066: Let's talk Immutability, Value Types and AutoValue with Ryan Harter

In this episode, we talk to our good friend and immutability champ Ryan Harter. We start off talking about the benefits and disadvantages of immutability, then we dive into Value types and the subtle difference with Value types. Finally we close out by talking about AutoValue and how you can extend it using the super nifty auto-value extension system for functionality like Parcelability, Json parsing etc.

December 5, 2016

065: Developer Platform engineering with Ty Smith

In this episode we talk to Ty Smith about all things Developer Platform. Currently a tech lead at Uber, Ty has quite the illustrious career having worked on some of the biggest names you've heard like Uber, Twitter(Fabric), Evernote, Zagat etc.

Unlike regular client app development, Developer Platform spans a variety of interesting topics like building consumable SDKs, building libraries with good APIs, creating Android integrations and App to app communication via components like Content Providers, AIDL Integrations, Intent APIS and deep links.

We ask Ty how he got started in this field, how one should go about thinking about it and the interesting challenges that one would run across in this intriguing field.

November 21, 2016

064: Garbage Collection (Android) vs Reference Counting (iOS)

In this mini-Fragment episode, Kaushik talks about the process of Garbage collection and how it compares to Reference counting (which is the equivalent process in iOS).

How does each work? What are the differences? Which is better 😁 ? Listen on for all the juicy details...

Show notes at

November 14, 2016

063: Effective Java for Android Developers – Item #13: Minimize the accessibility of classes and members

In this mini-Fragment episode, Donn talks about Item #13 of the Effective Java series - Minimize the accessibility of classes and members. You'll learn why it's important to limit the access on your public API, how it can help you with development and performance. You'll also learn how changing a public API can affect the consumers of your API, for good and bad.

November 7, 2016

062: Effective Java for Android Developers – Item #12: Consider Implementing Comparable

In this mini-Fragment episode, Donn talks about Item #12 of the Effective Java series - Consider Implementing Comparable. You'll learn about how you can use the Comparable interface to give your code the extra sorting boost it needs. Work with Arrays.sort(), Collections utilities and even sorted data structures. Donn breaks down what it takes to implement the compareTo method of the Comparable interface.

October 24, 2016

061: The state of event bus(es) today

The age old question: should I be using an event bus today? What is an event bus? what are still some good use cases for an event bus? Can i replace an event bus with RxJava?

Donn and Kaushik have at it and try to answer this question that gets asked constantly in the AndroidDev circles. Listen on for our take.

Show notes at

October 17, 2016

060: Smoke and Mirror Android UI tricks with Israel

We talk with Android UI magician Israel. In this episode, Israel does what magicians are never supposed to do, reveal those exciting magic tricks. He talks about tricks you can use in your Android apps to create a super slick UI, citing examples from Google Photos, Twitter and other apps.

Dazzle your Android users with these UI tricks.


October 10, 2016

059: Interview with Chiu-Ki

We talk with the all-star multi-talented GDE Chiu-Ki Chan about testing. Specifically, we dive into leveraging Mockito for your testing needs. What is Mocking, what is Stubbing, what are the different test doubles, how does mockito help with this? Listen on to find about that and some more interesting stuff on testing!


October 3, 2016

058: Effective Java for Android Developers – Item #11: Override clone Judiciously

In this mini-Fragment, Donn talks about Item #11 of the Effective Java series - Override clone Judiciously. You'll learn about the extralinguistic behavior of clone and the Cloneable interface. Clone and Cloneable are very special, and this episode helps explain the nuances.

September 19, 2016

057: Data Binding with GDE Lisa Wray

In this episode we talk with, Lisa Wray, first of her job title, mother of the Genius Android app and sorceress of Data Binding.

What is Data Binding? How does it work? What can you do with it? ... and what you can really do with it ! Listen on and find out more. Lisa walks us through the basics and then talks to us about how we can really push the envelope with Data Binding and do some really cool things.

Show notes at

September 13, 2016

056: GDE Philippe Breault on tinkering with Android Studio (Part II)

We wind this two part series down with GDE Philippe by chatting about postfix completion, live templates, structural search/replace, integrating with external tools, cool configurations and much more. Prepare to be mind blown.


September 12, 2016

055: GDE Philippe discusses Tinkering with Android Studio - Part I

In this 2 part series, we talk to the illustrious Philippe of Android Studio tinkering fame. He starts off by discussing the intermediate basics that everyone should know about using Android Studio: window configuration, keyboard shortcuts, navigating the code smoothly, debugging etc. Gradually he moves into ninja mode and starts blowing DF & KG's minds with cool tips and configurations.


September 5, 2016

054: Git Development Workflow and Branch Versioning for App Devs

Donn and Kaushik discuss how they use git for their development workflow. They also touch on semantic versioning and how they rollout new versions of their app in a controlled fashion.

Show notes at

August 22, 2016

053: Jake Wharton on RxJava (2)

We have Jake Wharton and RxJava in one episode 💥. In this power-packed episode we talk to Jake about the advances in RxJava 1.x since the last time he was on the show and also looking ahead at the advancements coming down with RxJava 2. If you're interested in RxJava, this episode will definitely be a treat!

Show notes at

Watch out for a special guest cameo by the adorable Olive.

August 15, 2016

052: Junit4 tricks with @Parameterized @Enclosing tests

In this mini fragment Kaushik talks about some cool Junit 4 tricks using Parameterize, Enclosing test runners

Show notes at

🤘 #AlwaysBeTesting

August 8, 2016

051: Annotation processing Q&A with GDE Mike Evans

We've always wanted to know more about annotation processing, so in this episode we pick GDE Mike Evans' brains on the topic and ask him a whole bunch of questions. If you've thought about diving into Annotation processing but never quite grappled with what it's all about, this is a good episode to listen to.

August 1, 2016

050: GDE gentleman Mark Allison dissects Constraint Layouts

Friend of the show -and one of the finest gentlemen we know- Mark Allison chats with us about Constraint Layouts, what they are, why you need them, what to watch out for and how you can start using them in your application.

Shownotes at

July 18, 2016

049: Translating an app for different languages with Dan Lew

Friend of the show Dan Lew makes a return! In this show Kaushik talks to Dan about translating an app for other languages.

Show notes at

July 11, 2016

048: Tips and tricks we picked in 2016 (I)

2016's first installment of a grand bonanza of tips and tricks for #AndroidDev! Donn and Kaushik talk about all the tips and tricks they've picked up over the first part of this year.

Show notes at

July 5, 2016

047: Interview with Huyen Dao

In this episode we talk to Trello Engineer, GDE, Youtuber, Caster IO instructor and View magician Huyen about all things custom View/ViewGroups.


June 20, 2016

046: okJesse - A deep discussion on okHttp, okio and Retrofit

Everyone loves Retrofit & okHttp. But how did they come about? Why ok? What was the need for such libraries? We went knocking on the doors of Square trying to find the answers to these question. We were lucky cause we found probably the nicest most brilliant Android/Java developer of our times - our good friend Jesse Wilson and without surprise, he crushes it!

He gives us the scoop on the origin stories of these amazing libraries and also gives us insight into okio and why it's such a game changer today.

Show notes at

June 13, 2016

045: Bluetooth (LE) with Dave (devunwired) Smith

We've always been curious about technology and the software surrounding embedded devices and the like. One such technology that's ubiquitous these days is Bluetooth (LE). In this show we talk with embedded technology expert and all round super smart AndroidDev Dave Smith a.k.a the wonderful devunwired.

We try to get a high level understanding of how Bluetooth works. From a developer's perspective, how does this tech work? Why should we as AndroidDevs be interested in this technology. What boundaries can we push? How can we effectively use this technology? In this episode we pick Dave's brain and try to answer some of these questions.

June 6, 2016

044 – Effective Java for Android Developers – Item #10

In this mini-Fragment, Donn talks about Item #10 of the Effective Java series - Always Override toString. You'll learn why it's important for your own sanity, future developers, and overall developer happiness.

June 1, 2016

043: Google IO (Part 2)

In Part 2 of our Google IO special we continue asking some simple questions to the best AndroidDev today. This concludes our IO special for this year. Hope you enjoyed it as much as we did.

By popular demand we added some extra specials at the very end, so make sure to listen all the way through :)


May 31, 2016

042: Google IO 2016 (Part 1)

In Part 1 of our Google IO special we talk to a whole bunch of amazing AndroidDev. We go around asking them a few simple questions. Questions, that you probably thought to ask when you saw them in person, but just forgot to.


Stay tuned for Part 2 where we talk to another list of top notch Android developers and get their answers for these questions.

Oh and you really should listen all the way to the end :)

May 23, 2016

041: YAGNI

In this mini Fragment, Donn talks about one of his favorite topics, YAGNI. YAGNI is an acronym that stands for "You Arent Going To Need It". Donn explains what it is, why its useful and shares a personal story of how he was introduced to the YAGNI concept back in 2008.

May 16, 2016

040: Internal Library Dependency Management with GDE Kelly Shuster

In this mini episode, we talk with the lovely Kelly Shushter about Internal Library Dependency Management. Kelly is a GDE, the Director of Women Who Code (Denver chapter), a developer at Thoughtbot, a mind blowingly good AndroidDev and just an all round boss of everything.

She gives us the rundown explaining different strategies for maintaining and managing internal libraries in your organization/company.

May 9, 2016

039: Talking TextView with Elliott Chenger

In this episode we chat with our friend an all round amazing AndroidDev Elliott Chenger. Elliot does Android development for Under Armour and knows a thing or two about TextViews. We talk TextViews, font rendering complications in Android, performance optimizations, localization (vs internationalization), ECDC (it's a thing!) and wind the discussion off with some design software tools out there.

Show Notes:


May 2, 2016

038: What Android Devs Need to know about N

In this episode, Donn and Kaushik look at the Android N developer preview. They highlight the biggest changes that you as an Android Developer should keep an eye out for. There are tonne of features in N, so listen to this episode to get the highlights.

Show Notes:

April 25, 2016

037: Decompress 1 : Xcode, Fonts sizes, Testing and yes Agera!

In this very first edition of our Decompress episode we talk about life being code as an Android developer, some Xcode hating, Testing woes and the intensly discussed library that Google recently released Agera!

April 18, 2016

036: Working Remotely

In this mini Fragment we touch on a highly requested topic - working remotely. Donn talks about how to ease into remote working, tools for working remotely, tips and tricks for staying sane and productive while remote and he wraps it up by discussing the benefits employers have when hiring a remote workforce.

April 11, 2016

035: Vector drawables for Android

In this mini Fragment we touch base on all the things you need to know about Vector drawables for Android development. How one can use it today, the recommended usage for vector drawable and formats, the limitations and everything else you need to know as an Android developer.

March 28, 2016

033: Talking Gradle with GDE Annyce Davis

In this episode we talk Gradle with the amazing and awesome Annyce Davis. We deal with the basics of Android's build system and dabble with some tips on improving your build times.

Also we released our first ever Fragmented T-shirt in collaboration with another amazing GDE - Taylor Ling of AndroidTee fame. Get the goodie here:

March 14, 2016

032: Making sense of Android Support Library version numbers

The Android Support library framework is the biggest boon to Android developers. But how does one makes sense of the different versions and revisions available? In this fragment we try to address that question.

March 7, 2016

031: Effective Java - Item 8

In this mini Fragment, we introduce Joshua's eighth Item. This one is a doozy, probably one of the longest items in the group of the effective Java series, but most definitely quite important.

Stay tuned for more items from our "Effective Java for Android developers" Fragment series.

February 29, 2016

030: Material Design for developers with GDE Mike Wolfson

In this episode we talk to Material Design Master and Google Developer Expert Mike Wolfson. What does Material design mean to us developers? How does one use the numerous support libraries to help with this? What widgets should and shouldn't we be using? Listen to the show and find out.

Show notes at

February 22, 2016

029: All about the infamous 65,536 dex method count

If you've been an Android developer in the last 2 years, you must have seen this dreaded exception: dex: method ID not in [0, 0xffff]: 65536

Quick googling would immediately bring up the phrase "65K method count" and the recommended solution "multi-dexing". But if you want to really understand this mysterious number and the reason behind its existence, listen on!

Show notes:

February 15, 2016

028: Tips & Tricks for Android developers

Feast yourselves to a grand bonanza of tips and tricks with this episode! Donn and Kaushik talk about the tips and tricks they've picked up over the course of 2015.

February 5, 2016

027: Talking Realm with Christian Melchior

Realm pro and overall genius Christian Melchior joins us in this episode to talk about all things Realm.

January 21, 2016

026: LetMeExplainYou AndroidDev like a pro

In this episode Donn and Kaushik chat with the one and only Israel Ferrer Camacho. They discuss a talk Israel gave sometime back on "Android development like a pro", exchanging war stories on patterns like MVP, MVVP clean architecture etc.

December 28, 2015

025: Effective Java for Android developers : Item 7

In this mini Fragment, we introduce Joshua's seventh Item and a momentous end to the first chapter: Avoid finalizers.

Stay tuned for more items from our "Effective Java for Android developers" Fragment series.

December 15, 2015

024: Effective Java for Android developers : Item 6

Joshua's sixth Item: Eliminate obsolete object references , in a distinctively croaky voice.

Stay tuned for more items from our ["Effective Java for Android developers" Fragment series.

November 30, 2015

023: Android Dev Summit Recap

Donn and Kaushik cover the happenings of Google's very first Android Developer conference - "Android Dev Summit". Together, they attended the conference both virtually and physically! Listen on for the highlights.

November 20, 2015

022: Effective Java for Android developers : Item 5

In this mini Fragment, we introduce Joshua's fifth Item: Avoid creating unnecessary objects.

Stay tuned for more items from our "Effective Java for Android developers" Fragment series.

November 13, 2015

021: Diving Deep with Dagger

In this episode, Kaushik and Donn dive deep into the Dependency Injection library - Dagger. We have a cameo by Dagger creator Jesse!

October 26, 2015

020: Talking Kotlin with Hadi Hariri

A tonne of folks have been asking for a show on Kotlin. We got the best person in the business to take us through what could possibly be our new hope.

October 15, 2015

019: Effective Java for Android developers : Item 4

Singer and Android developer Donn Felker explores Joshua Bloch's fourth Item: Enforce noninstantiability with a private constructor.

Stay tuned, cause we got more of these quick ones coming.

October 8, 2015

018: Effective Java for Android developers : Item 3

In this mini Fragment, we introduce Joshua's third Item: Enforce the Singleton property with a private constructor or an enum type.

Stay tuned for more items from our "Effective Java for Android developers" Fragment series.

September 21, 2015

017: Getting Close with Android Nearby

In this power packed episode, Donn returns... If that wasn't amazing enough, Andrew and Akshay from Google join us to talk about Nearby.

September 1, 2015

016: Effective Java for Android developers : Item 2

In our third Fragment installment, we introduce Josh's second Item: Consider a builder when faced with many constructor parameters.

August 21, 2015

015: Amanimations - Animations with Amanda

In this episode we talk to Amanda about how she got started as an Android developer, working at Venmo, her path to mastering Java and Android, dabbling with the dark side and Animations in Android!

August 10, 2015

014: Effective Java for Android developers : Item 1

We've mentioned the book "Effective Java" by Joshua Bloch quite a few times on previous episodes. At this point, everyone knows they should have read this book (quadruple times). But it's a dense read and everyone could use a reading buddy. Also, what does Effective Java look like through the eyes of an Android developer?

In this second installment of our Fragment (a.k.a mini-episode), we thought we'll do our listeners a favor and help with that reading. We introduce the very first of these venerable "Items": Consider providing static factory methods instead of constructors.

August 3, 2015

013: Corey Latislaw on TDD and Testing

In this episode we revisit the topic of Testing, looking at it from a TDD perspective. Globetrotter, Kata Queen, TDD practitioner and overall boss of Android development - Corey Latislaw, joins us in this episode with thoughts, tips and tricks on pulling off TDD. She also shares some of her wicked sketchnoting tips and made a very special Sketchnote just for this episode!

July 21, 2015

012: Continous Integration and Collective Code Ownership

In the first "Fragment" installment we're going to talk about Continuous Integration (CI) and Collective Code Ownership (CCO). Donn talks about what CI is, why its important and how it benefits you and your team. He then dives right into CCO and how it can be facilitated through testing.

July 14, 2015

011: The Fowler Road to a Clean Architecture

In this episode - Donn and Kaushik dive into a topic that is very near and dear their hearts - application architecture. They talk about how Martin Fowler has inspired a lot of their architectural decisions and how they're moving towards defining what a clean architecture means to them and other developers. They talk about Model View Presenter, Model View Controller and many other topics that surround these two common patterns. Take a listen and go for the ride on architecture train ... all aboard!

June 23, 2015

010: Boning Up on Core Java with Michael Bailey

In this episode Donn and Kaushik talk to the very talented Michael Bailey about core Java principles and practices. Michael has quite the deep and passionate understanding of Java and we thought it would only be perfect to share this episode with a very passionate Java crowd - Android developers. We talk about IntelliJ, Testing, Inheritance, Static Code analysis, Garbage Collection, Data Structures and much more in this episode. If you're looking to learn a thing or two about Java, then this is your episode. We hope you enjoy.

June 3, 2015

009: Google IO Special

This is the special Google I/O 2015 episode. In this episode - Kaushik makes the trek to Google I/O and chats with various Android developers about their favorite part of Google IO. I was not able to make it but Kaushik was able to interview of top developers in the industry and I’ll tell you what - this is a great episode - I really wish I was there to join him. I know he had a great time chatting and interacting with everyone. We hope you enjoy the show as much as we enjoyed creating it.

May 19, 2015

008: Pocket Casts Amazingness with Philip Simpson

In this episode, we talk to Philip Simpson, one of the rockstar developers of the amazing Pocket Casts Android Application. We learn about how Philip and his partner, Russell, started Shifty Jelly and how they grew their team from a two-person shop to a small staff all while creating one of top apps on Google Play, Pocket Casts. We also talk about some of the tools, tips and tricks that they've used to help them scale, grow and become more effective as indie app developers. We eventually hop into some deep talk about audio software and all kinds of tech in general. If you've always wondered what it takes to be an indie app developer then this is the episode for you - Philip does not let us down.

May 6, 2015

007: Jake Wharton on Testing, SqlBrite, NotRxAndroid, RxJava and Much More

In the final part of this two-part segment, we continue our talk with Jake Wharton. We dive right into the topic of testing. Jake then talks about his approach to testing apps in Android and the different languages that he finds interesting. We then move on to RxJava, NotRxAndroid, SqlBrite and many other libraries and topics to round out this great second episode. Again, we'd love to thank Jake for joining us here on the Fragmented Podcast show; it has been an honor. We hope you enjoy it as much as we did.

April 29, 2015

006: Jake Wharton on Becoming a Better Developer and Creating Successful Open Source Projects (Part 1)

In part one of this two-part segment, we talk to the one and only Jake Wharton. He gives us the scoop on how he operates day to day, what he looks for in a good Android developer and how to become a better Android developer. He also touches upon the various sources and non-Java platforms that he draws inspiration from. Finally, he talks about open source and gives tips on leading an open source project.

April 17, 2015

005: Image libraries for Android

In this episode of Fragmented, Donn and Kaushik start off by discussing the tips and tricks available for efficiently loading images in an Android app. Good image libraries make use of these techniques and perform all the heavy lifting in the background. So they then discuss the different image library options available for Android developers.

April 1, 2015

004: The RxJava show with Dan Lew (Part 2)

In this episode of Fragmented, Donn and Kaushik continue their conversation with Dan Lew on RxJava. In the final part of this 2 part series, they talk about many useful RxJava operators and other intricacies of using RxJava in Android.

March 18, 2015

003: The RxJava show with Dan Lew (Part 1)

In this episode of Fragmented, Donn and Kaushik interview Dan Lew - druid of RxJava & RxAndroid! In part 1 of this 2 part series, we find out more about the one they call Dan Lew. We ask Dan how he started off as a developer, how he stays on top of development, where he draws inspiration from for amazing Android development and much more. We then begin disarming the glorious beast that is RxJava touching upon it’s benefits and begin discussion of some common operators.

March 3, 2015

002: Android Studio

In this episode of Fragmented, Donn and Kaushik talk about the official IDE for Android development – “Android Studio”. Why should you care about your IDE? Is Android Studio really open source? What are some of the advantages of using Android Studio? How can you customize and tweak Android Studio so you take your android development game to the next level? Listen to this episode and find out. The awesome picks for this episode are particularly awesome too.

February 17, 2015

001: Welcome & Testing in Android

Welcome to the very first episode of Fragmented. Donn and Kaushik talk about why they started the podcast, the structure of the podcast and a little about who they are. The main topic for this episode is Testing! What are the benefits of testing, in general? Why does testing specifically help Android developers? What is the state of testing in Android and how does one test in Android?

Copyright 2018 Spec Network, Inc.