249 – Java and the JDK: Powering the Android Landscape with Michael Bailey

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

248 – Feature Flags & A/B Testing: A Deep Dive with Ishan Khanna

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

247: The Art of App Modularization with Siggi Jonsson

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

246 – Dependency Injection: Kotlin Inject with Fred PorciĂșncula

Download

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.

245: Treehouse, Redwood and Zipline with Colin White

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

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.