

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

May 19, 2015 • 1h 24min
008: Pocket Casts Amazingness with Philip Simpson
Philip Simpson, rockstar developer of the amazing Pocket Casts Android Application, joins the show. They discuss the growth of Shifty Jelly, tools for scaling and becoming effective indie app developers. They delve into audio software and other tech topics. They also cover the development journey of Pocket Casts, tips for indie app developers, backend servers, managing support requests, troubleshooting challenges, and diagnosing memory leaks with Leak Cannery.

May 6, 2015 • 1h 19min
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.
Show Notes
u2020 Demo App by Jake [github.com]
Real Intent Factory [github.com]
Fake Intent Factory [github.com]
Slides on Real/Fake Intent Factory [speakerdeck.com - DroidCon Presentation]
Server side frameworks with Java
Jersey [jersey.java.net]
Jax-rs [jax-rs-spec.java.net]
Go [golang.org]
Other languages
Jake on using Kotlin for Android [plug.google.com]
Kotlin (by JetBrains) [kotlinlang.org]
Anko [github.com]
Kotlin Android Extensions [kotlinlang.org]
Annotation processing for Groovy code [gradle.org]
Non-Square libraries that Jake uses
RxJava [github.com]
AutoParcel [github.com]
StickyListHeaders [github.com]
SQLBrite [github.com]
NotRxAndroid [github.com]
Awesome picks:
Donn:
Android Testing is ten years behind http://philosophicalhacker.com/2015/04/17/why-android-unit-testing-is-so-hard-pt-1/
SquiDB is Yahoo’s new SQLite layer for Android: https://github.com/yahoo/squidb
Jake:
Diversify Your Learning
Rust - http://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html
Internals of Git - https://codewords.recurse.com/issues/two/git-from-the-inside-out
GZip Encoding - http://jvns.ca/blog/2015/02/22/how-gzip-uses-huffman-coding/
Java 10 value objects - http://cr.openjdk.java.net/~briangoetz/valhalla/specialization.html
Kaushik:
27” IPS LCD Monitors for Korean eBay vendors
New FIRST FSM-270YG 27" LED 2560x1440
The new DareDevil show on Netflix!
Contact
Jake Wharton
@jakewharton [twitter.com]
jakewharton.com
Donn Felker
@donnfelker [twitter.com]
donnfelker.com
Kaushik Gopal
@kaushikgopal [twitter.com]
kaush.co

Apr 29, 2015 • 54min
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.
Show Notes
Follow up:
Michel Panzer on UIL [plus.google.com]
Episode topics:
ActionBar Sherlock [github.com]
Jake’s working environment
Square Github Styles [github.com]
No tabs in Intellij [hadihariri.com]
Android source code browsing:
Android SDK Search by Roman Nurik [chrome.google.com]
Download the Android AOSP Source [source.android.com]
AndroidXref [androidxref.com]
Grepcode Android [grepcode.com]
Device Platform Versions [developer.android.com]
non-Java languages and platforms to draw inspiration from:
Go [golang.org]
Rust [rust-lang.org]
CycleJs [github.com]
Droidcon Montreal keynote by JW and JW [youtube.com]
Contact
Jake Wharton
@jakewharton [twitter.com]
jakewharton.com
Donn Felker
@donnfelker [twitter.com]
donnfelker.com
Kaushik Gopal
@kaushikgopal [twitter.com]
kaush.co

Apr 17, 2015 • 1h 34min
005: Image libraries for Android
The hosts discuss tips for efficient image rendering in Android, including bitmap sizes and allocation, reusing bitmaps, and downsampling bitmaps. They also explore caching techniques and dive into different image libraries available for Android developers, such as Picasso. They compare Glide and Picasso, and discuss the Ion library for networking and image loading. The hosts touch on JSON libraries, the Parcel tool, and wrap up the show with their picks for the week.

Apr 1, 2015 • 55min
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.
Show Notes
RxJava Operators:
Observable.just [reactivex.io]
Observable.from [reactivex.io]
Observable.defer [reactivex.io]
Using defer to handle “Old, Slow Code” [blog.danlew.net]
Observable.map [reactivex.io]
Observable.flatmap [reactivex.io]
map vs flatmap (alchemist and cheese shredding analogy [reddit])
Observable.zip [reactivex.io]
Observable.combineLatest [reactivex.io]
Observable. switchMap [reactivex.io]
Observable.distinctUntilChanged [reactivex.io]
Observable.lift explanation [reactivex.io]
Observable.compose
Don’t break the chain (using compose) [blog.danlew.net]
Observable.filter [reactivex.io]
Observable.take [reactivex.io]
subscribeOn vs observeOn [stackoverflow.com]
Understanding debounce, buffer, debouncedBuffer [nerds.weddingpartyapp.com]
RxJava Components:
Subjects: when is it appropriate to use [.net but still applies] [[davesexton.com] 19]
Implementing an event bus using RxJava [nerds.weddingpartyapp.com]
RxJava plugins [github.com]
RxJavaDebug plugin - for hooking to start/end/error [github.com]
.toBlocking() [reactivx.io]
Composite Subscriptions [reactivex.io]
Retrolambda
Retrolambda library [github.com]
Retrolambda gradle plugin [github.com]
Common Issue with Retrolambda (NoClassDefFoundError) [github.com]
Hot vs Cold observables - From the RxJs wiki [github.com]
uses js instead of java, but concepts are the same and this is the best explanation I’ve found so far.
RxJava wiki on Backpressure [github.com]:
Ring buffer size: System.setProperty("rx.ring-buffer.size", "128");
Issue with changing buffer ring size [github.com]
It’s 16 on Android, down from 1024 originally. :P So it’s actually 64x smaller.
Awesome picks:
Dan Lew:
Simple Made Easy (talk by Rich Hickey creator of Clojure) [infohq]
Victor by Trello (SVG assets) [github.com]
Donn:
Realm Object Database [realm.io]
Kaushik:
Therapeutic Refactoring (talk by Katrina Owen) [youtube.com]
Contact
Dan Lew
@danlew42 [twitter.com]
Dan Lew’s blog [danlew.net]
Donn Felker
@donnfelker [twitter.com]
donnfelker.com
Kaushik Gopal
@kaushikgopal [twitter.com]
kaush.co

Mar 18, 2015 • 56min
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.
Show Notes
Dan’s open source contributions:
Joda-Time Android [github]
Why developers hate Timezones [youtube]
Gfycat [github]
Victor by Trello [github]
Staying on top of Android Development:
Android Weekly
Android Dev Digest
Google RSS reader app - gReader
androiddev [reddit]
Best Book on learning Java [Effective Java: Joshua Bloch]
Dan’s favorite apps:
Timely
Pocket Casts
Reddit News
Muzei
gReader
Link Bubble
For more inspiration: Android Niceties
Android Games that Dan plays
Threes!
Hoplite
Wordiest
Working Remotely:
Trello
Slack
Notes by Eran Hammer [hueniverse.com]
Getting started with RxJava:
Dan Lews RxJava Series
Learning RxJava with Android by example [nerds.weddingpartyapp.com]
Android-RxJava [github.com/kaushikgopal]
Intro to Rx you’ve been missing [gist]
Rx
Rx - Reactive Extensions by Microsoft
ReactiveX [official page for Reactive Extensions]
RxAndroid

Mar 3, 2015 • 57min
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.
Shownotes
Android Studio (official IDE):
Google announces Android Studio [Google I/O 2013]
Developer frontpage – Android Studio is the official editor [developer.android.com]
“Open source-ness” of Android Studio:
IntelliJ open source platform for building IDEs [jetbrains.org]
Eclipse plugin ADT [developer.android.com]
Build Android Studio from command line [tools.android.com]
Jake Wharton’s u2020 Demo App
Environment customizations:
Kaushik’s Android studio environment (codestyle, livetemplates, keymap etc) [github.com]
Chris Kempson – original theme [chriskempson.com]
Annotation Magic:
A look at Android support animations [anupcowkur.com]
Support Annotations [tools.android.com]
Contract Annotations [blog.jetbrains.com]
Tools prefix: Tools of the trade by Sebastiano Poggi
Learning Android Studio resources:
Donn Felker Android Studio Tips:
Screencasts on Android Studio
Android Tools Book – Android Studio Chapter (FREE)
Philippe Breault [developerphil.com]:
Android studio tips roundup #1
Android studio tips roundup #2
Android studio tips roundup #3
Android studio tips roundup #4
Android studio tips roundup #5
The most important things on the internet:
Llamas in Arizona
Blue Black White Gold dresses
Awesome picks:
Stetho
Dan Lew’s RxJava Series
Rounded ImageView:
Rounded Bitmap drawable usage[gist]
Evelio blog post on different approaches to creating rounded image views
Chris Banes For questions, comments or suggestions you can reach us at
@donnfelker and @kaushikgopal

Feb 17, 2015 • 1h 7min
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?
Shownotes
Free Getting Started with Espresso 2.0 Screencast
Unit testing support – Android Tools site
Donn – Android from the trenches
Michael Bailey – (yogurtearl) – espresso, spoon and wiremock
Matt Logan – decoupling the presenter
KG – interested in an android developer podcast?
UiAutomator – Junit and Monkeyrunner got drunk and hooked up
Working Effectively With Legacy Code
Kent Beck talking about TDD – [Youtube Is TDD Dead]
Espresso 2.0 Cheat Sheet
Jake Wharton – ActivityRule
AssertJ / AssertJ-Android
XKCD – Compiling Comic
Mocks Aren’t Stubs – Martin Fowler
ClassNotFoundExceptoin – Espresso 2.0 Dagger Issue
Testing Links
Testing fundamentals
Espresso
Robolectric
Mockito
Spoon
Robotium
Android Dev Digest
AndroidJobs.IO
Sample Android Testing Projects
Google Samples
Awesome picks:
Device Lab
Inconsolata-dz font for development
Consolas font for development For questions, you can reach us at
@donnfelker and @kaushikgopal