Fragmented - An Android Developer Podcast

Donn Felker & Kaushik Gopal

The Fragmented Podcast is a podcast for Android Developers hosted by Donn Felker and Kaushik Gopal. Our goal is to help you become a better Android Developer. 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.

  • 54 minutes 54 seconds
    249 - Java and the JDK: Powering the Android Landscape with Michael Bailey

    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 with a solid foundation, discussing the differences between JDK and JRE, as well as the distinctions between the available Java JDKs. We also guide listeners through Android Studio settings, exploring how to select a suitable JDK, its utilization, and how it relates to JAVA_VERSION on one's home path/terminal.

    As we dig deeper, we start to unpack some of the crucial Android app settings. From compileOptions to sourceCompatibility/targetCompatibility, we shed light on why these versions are important. We also demystify the compileSdk vs minSdk vs targetSdk, and how they interconnect. Drawing from Kaushiks's recent experience in building a new app, we provide real-life examples that can better clarify these topics for our listeners.

    We conclude the episode by providing some valuable resources for further understanding and exploration. This episode is designed to be a comprehensive guide to understanding and navigating the intricacies of Java versions in Android development.

    Links

    Find Michael Online

    Donn's Git Course

    Need 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

    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.

    10 July 2023, 10:45 am
  • 1 hour 5 minutes
    248 - Feature Flags & A/B Testing: A Deep Dive with Ishan Khanna

    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 kicks off with an insightful story from Ishan about feature flagging at Booking.com, leading to a discussion on the difference between A/B Testing and Feature Flags, when and why to introduce feature flagging, and how to measure its effectiveness. The show also focuses on the benefits and risks of feature flagging, along with ways to manage potential complexities in the codebase.

    We then delve deeper into the topic of feature flagging, covering how to get started, what to look for in a tool, and the role of testing. Discussion points include the best practices for rollout percentages, considerations for multi-platform implementation, and the specifics of targeting in feature flagging. The conversation wraps up with an exploration of available tools for those looking to introduce feature flagging or A/B testing frameworks into their operations, examining when it might be necessary to build a bespoke solution.

    The episode offers a wealth of resources for listeners, including links to an array of feature flagging and A/B testing tools, such as Firebase Remote Config, Optimizely, and LaunchDarkly. For more insight into the topics discussed, Ishan recommends his Droidcon Berlin talk on 'Customer Driven Development' and Stuart Frisby’s talk on A/B Testing. To reach out to Ishan, listeners can contact him via Twitter, LinkedIn, or his website.

    Links

    Here are the links mentioned in the document, in markdown format:

    1. Firebase Remote Config
    2. Optimizely
    3. LaunchDarkly
    4. AWS AppConfig for Feature Flags
    5. VWO
    6. Unleash - Open Source Feature Flags
    7. Posthog Feature Flags and A/B Testing
    8. Ishan's Droidcon Berlin Talk
    9. Stuart Frisby's Talk on A/B Testing
    10. Erindoesthings

    Contact Ishan

    1. Ishan on Twitter - @droidchef
    2. Ishan on LinkedIn
    3. Ishan's Website

    Donn's Git Course

    Need 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

    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.

    26 June 2023, 5:00 am
  • 1 hour 6 minutes
    247: The Art of App Modularization with Siggi Jonsson

    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 how modularization relates to team size, feature teams, and code ownership. This discussion is aimed at demystifying how and why developers often choose to modularize their applications.

    As we move forward, we'll dive into more advanced aspects of modularization, such as the challenges of scaling and the potential missteps in over-modularization. Drawing on real-world experiences, we'll examine the red flags that signal a need for revising your modularization strategy. This part of our discussion will also highlight some specific tools and techniques that can help manage and visualize your project's modularization, and Siggi will share his own experiences and insights into how these tools have assisted in his modularization strategy.

    In the final part of the episode, we'll touch on the benefits and strategies of proper modularization. Siggi will share practical advice on how to tackle big projects, fix issues with modularization, and make a smooth transition from monolithic to modular structures. We'll also talk about some tools that can be handy in this process. Before closing, Siggi will offer his top tips for developers embarking on their modularization journey and share some valuable resources to help them. Siggi will also provide updates on his latest work and how listeners can reach out to him.

    Links

    Sure, here are the links provided in the text, formatted in Markdown:

    Find Siggi online here:

    Donn's Git Course

    Need 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 daily. 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

    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.

    12 June 2023, 5:00 am
  • 55 minutes 32 seconds
    246 - Dependency Injection: Kotlin Inject with Fred Porciúncula

    In this podcast episode, we have the pleasure to host Fred Porciúncula, a Google Developer Expert (GDE) known for his work with 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

    Find Fred Online Here

    Donn's Git Course

    Need 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

    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.

    29 May 2023, 5:00 am
  • 54 minutes 47 seconds
    245: Treehouse, Redwood and Zipline with Colin White

    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

    Find Colin Online 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

    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.

    15 May 2023, 5:00 am
  • 9 minutes 34 seconds
    244: Reviving Our Passion for Android Development

    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)

    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.

    10 May 2023, 3:30 pm
  • 48 minutes 22 seconds
    243: Mastering the Art of Switching Careers in Tech with Dan Lew

    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 ...

    • Why Dan decided to leave the Android world
    • The challenges he faced when he moved from one tech stack to another
    • How to prepare for a big change like this (mentally, financially, etc.)
    • How to create the life you want live vi by identifying what's important to you
    • and much more ...

    Links

    Donn's Git Course

    Need 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

    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.

    10 April 2023, 5:00 am
  • 39 minutes 59 seconds
    242 - Kotlin Code Formatting with ktfmt and spotless

    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

    Donn's Git Course

    Need 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

    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.

    20 March 2023, 5:00 am
  • 45 minutes 17 seconds
    241: The Pressure to Ship. Fear, Uncertainty and Doubt

    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 Git Course

    Need 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

    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.

    10 January 2023, 1:30 pm
  • 55 minutes 12 seconds
    240: Important Kotlin Constructs

    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:

    1. fun interface (SAM - Single Abstract Method), and they juxtapose them vs function types
    2. type alias
    3. import alias
    4. value class
    5. data object

    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

    Enjoy!

    Donn's Git Course

    Need 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

    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.

    15 December 2022, 5:00 am
  • 12 minutes 4 seconds
    239: Require PR Reviews with CODEOWNERS

    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 /docs or .github/ directory) that tells GitHub (or whatever git host you're using) to require a review for any code changes that match the patterns as defined in the CODEOWNERS file. You'll specify a matching pattern and users, or teams that own that pattern of files and they will be required to review the PR before it can be merged. This helps prevent unwanted changes to files that may or may not be owned by one team or another. This is useful as teams grow larger and need more control over the changes in their application codebase.

    Links

    Donn's Git Course

    Need 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

    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.

    28 November 2022, 4:00 pm
  • More Episodes? Get the App
© MoonFM 2024. All rights reserved.