Download directly
In this episode, Kaushik explores the evolution of dependency injection (DI) in Android development. Dagger has been the de-facto solution for DI in Android but there might be a new king in DI-town. He also chats with friend of the show and dependency injection expert Ralf Wondratschek for a final gut check.
Listen to find out more.
Show NotesDagger 1 > Dagger 2 > dagger.android > Koin > Hilt > Anvil > Manual DI > kotlin-inject > kotlin-inject-anvil
ContactYou can find us on a few places:
Kaushik:* kau.sh (links to everything) * Bluesky * @kaushikgopal * Threads * Youtube
Disclaimer: Links shared might be affiliate links. They help support the production of Fragmented. Thank you for your support.
Download directly
We’re back from the hiatus with our SemiQuicentennial episode! With the momentous 250 comes some big announcements and a shift in the way we do things.
Listen to find out the details!
Show Notes* Is Android broken or am I out of touch? (Reddit) * Knurl - Donn’s fitness timer app
ContactYou can find us on a few places:
Donn* @donnfelker * donnfelker * Donn’s YouTube * Donn’s Website
Kaushik:* kau.sh (links to everything) * Threads * Bluesky * Youtube * @kaushikgopal
Disclaimer: Links shared might be affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the audio element. Download In this episode of our podcast, we explore the diverse landscape of Java versions within the Android ecosystem. Our guest is Michael Bailey, a seasoned Java expert who has been a frequent presence on our show since the early days of our podcast. We kick off … Continue reading 249 – Java and the JDK: Powering the Android Landscape with Michael Bailey
Your browser does not support the audio element. Download In this edition of Fragmented, we’re thrilled to host Ishan Khanna, a software engineer at Tinder who possesses great enthusiasm for feature flags and A/B testing. Donn discusses why he invited Ishan on the show, highlighting Ishan’s passion for feature flagging and A/B testing. The conversation … Continue reading 248 – Feature Flags & A/B Testing: A Deep Dive with Ishan Khanna
Your browser does not support the audio element. Download In this episode, we talk to, Siggi Jonsson. Siggi helps guide us through the complex and often confusing world of Android app modularization. Our conversation will begin by shedding light on the importance of modularization, what triggers the need for breaking projects into multiple modules, and … Continue reading 247: The Art of App Modularization with Siggi Jonsson
Your browser does not support the
audio element.
Download
In this podcast episode, we have the pleasure to host Fred Porciúncula, a Google Developer Expert (GDE) known for his work on Kotlin Inject and his invaluable contributions to the Android development community. Fred offers his expertise on Dependency Injection (DI), Kotlin Multiplatform (KMP), and how they intersect.
We kick off the conversation by discussing Dependency Injection (DI), its importance, and the options available to developers, including Dagger, Hilt, Anvil, Koin, and Kotlin-Inject. Fred explains the use and impact of DI in the Kotlin Multiplatform (KMP) world, considering Dagger’s current lack of KMP support and debating whether one should use separate DI tools for Android apps and KMP components.
Delving further into Kotlin-Inject, we explore its features, usage, and how it differentiates itself from other DI solutions. Topics discussed include its unique handling of Scopes, its support of constructor injection, and its utility in building dependency graphs. Furthermore, we examine the timeless debate of Dependency Injection versus Service Locator.
Toward the end of the episode, Fred presents his thoughts on the advantages and disadvantages of exclusively using Kotlin-Inject throughout an application. We also tackle the concept of “Vanilla Injection” – refraining from using DI libraries at all.
For further learning, we recommend resources like Fred’s insightful article on transitioning from Dagger/Hilt to Kotlin-Inject, a Dagger issue discussing KSP support, and a Kotlin-Inject discussion on Anvil-like features. Links to these resources, among others, are provided below. Don’t miss out on this engaging and informative episode with Fred Porciúncula!
Links* Kotlin Inject Library * Fred’s Kotlin Inject Article * Testing with Kotlin Inject * Kotlin Inject Scope Issue * Pulling code out of the platform class * DI vs Service Locators * Dagger KSP Support * Kotlin Inject Anvil Like Features * Making Your Android Application Work on iOS (Touchlab mentioning interfaces over expect) * Moko Resources * Klima Engineering
Find Fred Online Here
Donn’s Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you’ll learn everything you need to know in order to start working with Git everyday. Watch it here.
AndroidJobs.IO* Job postings are FREE on AndroidJobs.IO * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Software Freelancing* Donn’s Freelance Faction Community * Freelance Tactics Book * Donn’s Freelancing Content on YouTube
Contact@fragmentedcast on Twitter or our YouTube channel
Donn
Kaushik
Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Download
In this episode, Donn and Kaushik talk to an old friend of the show, Colin White, about Treehouse, a combination of the Redwood and Zipline libraries.
Colin is a Staff Engineer at Cash App (Block).
Redwood is a multiplatform Compose library that allows you to target multiple UI toolkits on various native platforms. Ultimately this allows you to share presentation logic.
Zipline is a multiplatform JavaScript engine for Android, iOS, and the JVM, which uses Kotlin for calls in/out of the JavaScript land. This allows you to update the application logic of your apps without the traditional song and dance of the app store approval and release process.
Treehouse is the combination of both libraries, Redwood and Zipline. Listen in to learn more …
Links* Redwood * Zipline * QuickJS * Kotlin Conf Talk on Treehouse * Droicon NY talk – Redwood * Droidcon NY talk – Zipline
Find Colin Online here* Twitter – @colinwhi * Mastodon
AndroidJobs.IO* Job postings are FREE on AndroidJobs.IO! * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Contact@fragmentedcast on Twitter or our Youtube channel
Donn
Kaushik
Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
In this episode, Donn and Kaushik announce that they are steering the podcast back into Android waters. In other words, the Fragmented Podcast is returning to its roots … we’re back to being a 100% Android Development focused show.
We’re glad to have you as a listener, here’s to the future of Android Development.
AndroidJobs.IO* Job postings are FREE on AndroidJobs.IO * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Contact* @fragmentedcast or our Youtube channel * @donnfelker and donnfelker (on Instagram) * [kaushikgopal] (on YouTube) or kau.sh/blog or @kaushikgopal
Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the
audio element.
Download
In this episode, Donn and Kaushik talk to long-time friend Dan Lew about his recent career switch from Android developer to TypeScript/Node.js/Progressive Web App Developer (and more).
It’s an interesting discussion that covers …
Links* Rheaply
Donn’s Git CourseNeed to learn Git? Donn has the course for you. In this FREE course, you’ll learn everything you need to know to start working with Git everyday. Watch it here.
AndroidJobs.IO* Job postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording). * Sign up to get notified of new jobs every week as well. * AndroidJobs.IO
Software Freelancing* Donn’s Freelance Faction Community * Freelance Tactics Book * Donn’s Freelancing Content on YouTube
Contact@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
Freelancing for Mobile Developers (Donn’s YouTube)
kaushikgopal (on YouTube) or kau.sh/blog or @kaushikgopal
Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the
audio element.
Download
In this episode, Donn and Kaushik talk about one of the age old bike shedding topics – code formatting, and how you can solve it with automation and tools.
Code formatting can turn into an endless debate amongst peers and teams, and what Kaushik and Donn have found is that this can be delegated to a tool and automated. Freeing you and your team of having to worry about proper indentation, bracket placement, etc. By relying on a well defined tool and some automation you can clean your code up, make it much more uniform and easier maintain.
We talk about ktfmt, a Kotlin code formatter that was released by Facebook. We dive into ktlint, detekt and more. We also dive into spotless which can help you by integrating ktfmt into your gradle build pipeline.
Links* ktfmt – website, github * spotless – github * detekt – website * ktlint – website
Donn’s Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you’ll learn everything you need to know in order to start working with Git everyday. Watch it here.
AndroidJobs.IO* Job postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording). * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Software Freelancing* Donn’s Freelance Faction Community * Freelance Tactics Book * Donn’s Freelancing Content on YouTube
Contact@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
Freelancing for Mobile Developers (Donn’s YouTube)
kaushikgopal (on YouTube) or kau.sh/blog or @kaushikgopal
Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the
audio element.
Download
In this episode, Donn and Kaushik talk about the fear of shipping, some impostor syndrome and how it contributes to uncertainty and doubt in your capabilities as a software developer.
Recently Donn embarked on a mission to come up with an idea and ship it within 24 hours (which he did do). The end result was a net benefit of confidence, speed and skill acquisition. This helped reduce any doubt, uncertainty and ultimately fear of shipping a product faster.
That’s what this conversation is about … how to doing a project like the 24 hour MVP can remove fear, uncertainty and doubt and help you ship your side project/products faster.
Links* Donn’s 24 Hour Project – EXIFR * Jumpstart Rails Template that Donn Used * Books-AI App by Florian Walther * Open AI
Donn’s Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you’ll learn everything you need to know in order to start working with Git everyday. Watch it here.
AndroidJobs.IO* Job postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording). * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Software Freelancing* Donn’s Freelance Faction Community * Freelance Tactics Book * Donn’s Freelancing Content on YouTube
Contact@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
Freelancing for Mobile Developers (Donn’s YouTube)
kaushikgopal (on YouTube) or kau.sh/blog or @kaushikgopal
Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the
audio element.
Download
In this episode, Donn and Kaushik talk about 5 new-ish Kotlin constructs that you might not be aware of.
The constructs that they talk about are:
You’ll learn what they are, how you can use them and when or when you might not want to use them, and more. We hope you enjoy.
Links* Kaushik’s Blog Post – Important Kotlin Constructs * SAM Interface – Kotlin Docs * Function Types – Kotlin Docs * Type Aliases – Kotlin Docs * Import Alias – Kotlin Docs * Value Class – KEEP * Data Object – KEEP
Enjoy!
Donn’s Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you’ll learn everything you need to know in order to start working with Git everyday. Watch it here.
AndroidJobs.IO* Job postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording). * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Software Freelancing* Donn’s Freelance Faction Community * Freelance Tactics Book * Donn’s Freelancing Content on YouTube
Contact@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
Freelancing for Mobile Developers (Donn’s YouTube)
kaushikgopal (on YouTube) or jkl.gg/b or @kaushikgopal
Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the audio element. Download In this short episode, Donn talks about the CODEOWNERS file and how it can help you ensure teams review the code that they are responsible for before merging. The CODEOWNERS file is a file that you drop into the root of your project (or into the … Continue reading 239: Require PR Reviews with CODEOWNERS
Your browser does not support the audio element. Download In this episode, Donn talks about the tips and tricks he’s used over the last 20 years of consulting, freelancing and working full time to find jobs and new opporftunities. We’re hoping some of these tips help those affected by the recent tech layoffs. These are … Continue reading 238: How to Land a Job (if you got laid off or if you’re just starting out)
Your browser does not support the audio element. Download In this episode, Donn and Kaushik talk about their thoughts on Jetpack Compose and XML for Android layouts and which one you should learn first. As with every conversation in tech … it depends on what you’re trying to do, where you are at in your … Continue reading 237: Compose vs XML – Which one should you learn as an Android Dev?
Your browser does not support the audio element. Download In this episode, Donn and Kaushik talk about the thought of having a terminal for Android. Have you ever wished you could whip up a quick script to get the current location of a device, add it to cron and do some automated tasks on your … Continue reading 236: A Terminal for Android?
Your browser does not support the audio element. Download In this episode, Kaushik goes solo and interviews Ben Orenstein. Ben is a prolific Ruby developer, an amazing conference speaker, an ardent vim-ster, and now the CEO of Tuple. Kaushik has been a big fan of Ben’s work and was super stoked to talk to Ben … Continue reading 235: Pair programming with Ben Orenstein & Tuple
Your browser does not support the audio element. Download In this episode, Kaushik goes solo and interviews Ben Orenstein. Ben is a prolific Ruby developer, an amazing conference speaker, an ardent vim-ster, and now the CEO of Tuple. Kaushik has been a big fan of Ben’s work and was super stoked to talk to Ben … Continue reading 235: Pair programming with Ben Orenstein & Tuple
Your browser does not support the audio element. Download In this episode, Donn and Kaushik talk about how many Android applications seem to suffer from the disease of over-architecture while neglecting the product (UI/UX) itself. They discuss why this is deterimental to the user experience in the Android platform and how they’ve seen it evolve … Continue reading 234: More Product. Less Architecture?
Your browser does not support the audio element. Download In this episode, Donn and Kaushik talk to John Rodriguez (jrod) about the Paparazzi library which allows you to perform UI screenshot testing on Android without emulators or physical devices. They talk to John about what screenshot testing is, why it’s important, advantages and it’s disadvantages … Continue reading 233: UI Screenshot Testing with Paparazzi and John Rodriguez
Your browser does not support the audio element. Download In this episode Donn and Kaushik talk about frustration, finding “flow state” and how it’s known as “the madness” and how to deal with it. We originally were going to talk about an other topic, but during the off air banter Donn brought up how he … Continue reading 232: Frustration, Flow State and “The Madness”
Your browser does not support the audio element. Download In this episode, Donn and Kaushik talk to Android GDE Vinay Gaba about learning Jetpack Compose. They talk about how to learn how to use Jetpack Compose by example (and Vinay’s excellent talk by the same name). How to use Jetpackcompose.app to help you find the … Continue reading 231: Learning Jetpack Compose with Vinay Gaba
Your browser does not support the audio element. Download In this episode Donn talks about that pit of the stomach feeling we all get when we feel like we should know something but we don’t. It’s that voice in our head as developers that makes you feel like an idiot even when you’re not. Donn … Continue reading 230: Feeling Like an Idiot
Your browser does not support the audio element. Download In this episode, Kaushik peppers Donn with questions about his foray into Android Turbo, Hotwire, and the concept of “Native Where You Need It”. Donn recently launched Android Jumpstart, the Android client for the Jumpstart Rails trifecta. Jumpstart Rails allow you to launch your SaaS business … Continue reading 229: Native Where You Need It with Turbo (Launch Your Side Projects Faster)
Your browser does not support the audio element. Download In this episode Donn and Kaushik talk to Konstantin Liakhovskii about Expo development and how it takes cross platform development and its productivity to the next level. Konstantin dives deep into the usages and reasons why Expo (and React Native) are still very good options for … Continue reading 228: Expo Development with Konstantin Liakhovskii
Your browser does not support the audio element. Download In this episode Donn sits down and talks to Ephraim Schmitt about how he changed careers from being an exotic car salesman to a mobile software developer. It’s a fascinating and inspiring story for anyone looking to get into software development. We talk about the mental … Continue reading 227: Exotic Car Salesman to Mobile Developer with Ephraim Schmitt
Your browser does not support the audio element. Download In this episode Donn and Kaushik are back together on the mic. After an extended break, they both returned renewed and ready to dive into all things software, starting off with IDE themes, plugins and what they’ve been up to since they were last on the … Continue reading 226: The Reunion – Themes, VS Code and More
Your browser does not support the audio element. Download In this episode Donn talks about something not giving up and persevering when the going gets tough in software, your career and more. It’s easy to give up, but the real reward is when you persevere. Links from the show Growth Mindset Book AndroidJobs.IO Job postings … Continue reading 225: Don’t Give Up – Persevere
Your browser does not support the audio element. Download In this episode, Donn and Kaushik talk about some of the books that they’re reading and thoughts and recommendations on each. Links from the show Donn’s Books Designing Data Intensive Applications Systemology Who Not How Skin in the Game Zero To Sold Freelance Tactics Kaushik’s Books … Continue reading 224: Our Latest Book Recommendations
Your browser does not support the audio element. Download In this episode, Donn and Kaushik reunite for an episode on how they use productivity tools like various todo apps as well as how the organize information for storage and easy retrieval in their day to day lives. Shownotes In this episode, Donn and Kaushik reunite … Continue reading 223: Productivity with TODO Apps and Personal Knowledge Management Systems
Your browser does not support the audio element. Download In this episode, Kaushik talks to his good friend Prabhjot and learns about “Android Enterprise“. This is the official way for companies or organizations to enable the use of Android devices and apps in the workplace. Prabhjot talks about how he setup the infrastructure to provision … Continue reading 222: Managing Android devices (EMM) with Prabhjot
Your browser does not support the audio element. Download In this episode, Donn continues to dive into his favorite software book: Working Effectively with Legacy Code. He talks about one of the fundamental tactics of the book: Introducing seams You’ll learn what a seam is according to the book, as well as how Donn interprets … Continue reading 221: How to Introduce Seams into Legacy Code
Your browser does not support the audio element. Download In this episode, Donn talks to Jay Ohms about Turbo Native for Android, Hotwire, and how to build apps faster with Hotwire, Turbo, Stimulus, and Strata. Jay is an Android developer at Basecamp.com and Hey.com and has been building Hey with Android Turbo since it has … Continue reading 220: Turbo Native for Android and Hotwire with Jay Ohms
Your browser does not support the audio element. Download In this episode, Donn talks dives into his favorite software book: Working Effectively with Legacy Code. He talks about one of the introduction level topics: The Legacy Code Change Algorithm You’ll learn what it is and how you can use it as the basis for this … Continue reading 219: The Legacy Code Change Algorithm
Your browser does not support the audio element.
Download
In this episode, Donn talks to software developer Alan Hill about the Growth Mindset and how it applies to software development and life in general.
They chat about pull request feedback lifecycle, learning new tech, and how applying a growth mindset can advance you in your career further than you could have imagined. They wrap up by going through Fixed Mindset vs Growth Mindset “back and forth” to discuss the differences.
Alans Link * Alan Hill Social and Web Links
Links from the show * Can’t Hurt Me – David Goggins * Mindset by Carol S. Dweck * Extreme Ownership – Jocko Willink * Tom Bilyeu Instagram
AndroidJobs.IO * Job postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording). * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Donn’s Free E-Book on Freelancing/Consulting Rates * Free E-Book on Freelancing Rates
Contact * @fragmentedcast or our Youtube channel * @donnfelker and donnfelker (on Instagram) * Freelancing for Mobile Developers (Donn’s YouTube) * kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal * Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the
audio element.
Download
In this episode, Donn talks about the difference between working at a big tech company vs freelancing.
There are many pro’s and con’s for each. What is best for you? Listen to the episode and find out.
AndroidJobs.IO * Job postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording). * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Donn’s Free E-Book on Freelancing/Consulting Rates * Free E-Book on Freelancing Rates
Contact * @fragmentedcast or our Youtube channel * @donnfelker and donnfelker (on Instagram) * Freelancing for Mobile Developers (Donn’s YouTube) * kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal * Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the
audio element.
Download
In this episode, Donn talks about the importance of following code conventions and coding styles in codebases.
You’ll run into various different coding conventions throughout your career. Sometimes it’s as an employee, sometimes it’s as a freelancer or consultant or just a small side project. The number of coding “styles” that you’ll see will blow your mind as you work through your career. The big question is … should you adhere to the current coding convention that is used in the app/file/etc or should you use your own favorite or an industry standard?
In this episode, I’ll help explain the differences so you can make an informed decision going forward.
Links from the show * Martin Fowlers Blog
AndroidJobs.IO * Job postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording). * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Donn’s Free E-Book on Freelancing/Consulting Rates * Free E-Book on Freelancing Rates
Contact * @fragmentedcast or our Youtube channel * @donnfelker and donnfelker (on Instagram) * Freelancing for Mobile Developers (Donn’s YouTube) * kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal * Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
Your browser does not support the audio element.
Download
In this episode, Donn talks to David and Ross from Squeaky Dog Studios about building a business out of a side project.
David and Ross are long-time serial side project developers with experience that dates back to the Palm era. They’ve built games, apps, and now Watch Faces.
We dive deep into how they went from building their watch faces for Android as a side project and how they turned it into a full-time business in which one of the co-founders works full-time. We talk about building the app, pricing, support, which features to build, paid vs free, trial conversions, supporting your app and much much more.
If you’ve ever wanted to build a side project into a business, and it’s app-based… this one is for you.
Links from the show David and Ross’s Links Android Apps by Squeaky Dog Studios on Google Play
Other links by Squeaky Dog Studios
AndroidJobs.IO * Job postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording). * Sign up to get notified of new jobs on a weekly basis as well. * AndroidJobs.IO
Donn’s Free E-Book on Freelancing/Consulting Rates * Free E-Book on Freelancing Rates
Contact * @fragmentedcast or our Youtube channel * @donnfelker and donnfelker (on Instagram) * Freelancing for Mobile Developers (Donn’s YouTube) * kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal * Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.