Fragmented - Android Developer Podcast cover image

Fragmented - Android Developer Podcast

Latest episodes

undefined
5 snips
Dec 24, 2024 • 49min

254 - 8× faster 5× memory savings with Dan Rusu’s Immutable Arrays

Dan Rusu, a backend engineer and creator of the Immutable Arrays library for Kotlin, discusses his quest for performance improvements in Kotlin/Android apps. He shares how his library achieves significant speed boosts and lower memory usage, thanks to concepts of immutability and effective benchmarking. The conversation explores the impact of primitive versus reference types, the challenges of adopting immutable arrays, and the advantages of using Kotlin in backend development. Dive into the exciting world of enhanced programming efficiency!
undefined
9 snips
Dec 10, 2024 • 41min

253 - logcat - a new look at logging with Piwai from Square

Pierre-Yves Ricau, an Android developer at Square and creator of the logcat library, joins to discuss innovative logging strategies. He outlines the origins and advantages of logcat, comparing it with the popular Timber library. The conversation dives into the performance implications of logging practices and strategies for optimizing log usage in production. Pierre-Yves also emphasizes the importance of community contributions in open-source projects and shares insights on streamlining logging for better developer experience.
undefined
8 snips
Nov 26, 2024 • 25min

252 - Everyone needs a starter template

Márton Braun, a developer advocate at JetBrains, dives into the significance of creating personalized starter templates in Android development. He discusses how custom templates can ease decision fatigue and improve workflow efficiency. The conversation highlights Amper, a groundbreaking tool from JetBrains designed to simplify Kotlin project setups. By focusing on streamlined project configurations and versioning, Braun emphasizes how Amper could revolutionize the developer experience by reducing friction from idea to code.
undefined
Nov 12, 2024 • 18min

251- There's a new king in DI town

Ralf Wondratschek, a principal engineer at Amazon and an expert in dependency injection, joins the show to discuss the evolution of DI in Android development. He reveals the challenges Dagger faced and introduces Kotlin Inject as a strong contender for the future. The conversation touches on the shift from Dagger to Kotlin Inject, emphasizing enhanced productivity and reduced boilerplate code. Listeners gain insights into the pros and cons of various DI frameworks, advocating for informed choices in large-scale projects.
undefined
Oct 29, 2024 • 34min

250 - Bittersweet beginnings

The hosts celebrate a milestone by reflecting on their podcasting journey and the friendships formed. They share personal stories about evolving from casual Android developers to entrepreneurs. Discussing the challenges of the evolving Android landscape, they urge listeners to embrace curiosity and explore their passions. In a surprising twist, they announce a new podcast focusing on freelancing and financial freedom. With gratitude to their audience, they underscore the importance of community in their journey.
undefined
7 snips
Jul 10, 2023 • 55min

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.LinksMichaely Fragmented Episode 9 (Google IO Special)Fragmented Episode 10 (core java)Fragmented Episode 78 (testing strategies)OpenJDK on GitHubFooJayCompile Options ReferenceSDK extensions@Yogurtearl explanationJpackageFind Michael Online@yogurtearl on TwitterDonn'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.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
Jun 26, 2023 • 1h 6min

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.LinksHere are the links mentioned in the document, in markdown format:Firebase Remote ConfigOptimizelyLaunchDarklyAWS AppConfig for Feature FlagsVWOUnleash - Open Source Feature FlagsPosthog Feature Flags and A/B TestingIshan's Droidcon Berlin TalkStuart Frisby's Talk on A/B TestingErindoesthingsContact IshanIshan on Twitter - @droidchefIshan on LinkedInIshan's WebsiteDonn'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.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
Jun 12, 2023 • 1h 6min

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.LinksSure, here are the links provided in the text, formatted in Markdown:Siggi Jonsson's Droidcon TalkGraph Assert PluginDependency Analysis Android Gradle PluginGraph Untangler Plugin by Siggi JonssonGraphVizGephiDriving architectural improvements with dependency metricsInaki Villar Twitter - Build Engineer Siggi MentionedFind Siggi online here:Siggi Jonsson on TwitterSiggi Jonsson on GithubSiggi Jonsson's WebsiteSiggi Jonsson on LinkedInKindred - Use code SIG.JON to register.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 daily. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
May 29, 2023 • 56min

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!LinksKotlin Inject LibraryFred's Kotlin Inject ArticleTesting with Kotlin InjectKotlin Inject Scope IssuePulling code out of the platform classDI vs Service LocatorsDagger KSP SupportKotlin Inject Anvil Like FeaturesMaking Your Android Application Work on iOS (Touchlab mentioning interfaces over expect)Moko ResourcesKlima EngineeringFind Fred Online HereTwitter - @tfcporciunculaandroiddev.social/@fredKlima Engineering BlogDonn'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.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
May 15, 2023 • 55min

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 ...LinksRedwoodZiplineQuickJSKotlin Conf Talk on TreehouseDroicon NY talk - RedwoodDroidcon NY talk - ZiplineFind Colin Online hereTwitter - @colinwhiMastodonAndroidJobs.IOJob postings are FREE on AndroidJobs.IO!Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOContact@fragmentedcast on Twitter or our Youtube channelDonn@donnfelker (Twitter)donnfelker (Instagram)Donn's YouTubeDonn's WebsiteKaushikkau.sh@kaushikgopal (Twitter)mastodon.kau.shkaushikgopal - YouTube Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode