Sinopse
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, Android Patterns and Practices, useful libraries and much more. We will also be interviewing some of the top Android Developers out there. Subscribe now and join us on the journey of being an Android Developer.
Episódios
-
257 - Future of AndroidDev in an AI world with Vinay Gaba
04/03/2025 Duração: 47minJoin us as we talk with Vinay Gaba, Android GDE and leading voice in Android development, about the future of the field. Vinay shares insights from interviews with top Android devs on their three-year predictions, and offers his own perspective. We cover AI's impact, evolving development roles, and crucial future skills.You can find the full shownotes over at fragmentedpodcast.com.Show NotesVinay's personal websiteDispatch - Jetpack Compose newsletterIssue #11 - Future of AndroidDevCursor AI IDEJetbrains AI assistantJetbrains Junie - the coding agentPessimists avoid risk, Optimists change the world.Contact usfragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to everything)ThreadsBlueskyYoutube@kaushikgopal
-
256 - Rapid prototyping with Kotlin
24/02/2025 Duração: 21minIn this episode, we dive into the power of rapid prototyping for Android developers using Kotlin. We explore how this crucial skill can impress stakeholders, accelerate your workflow, and help you stay ahead in today's fast-paced tech landscape. We'll cover use cases across scripting, web development (with Ktor & HTMX), mobile apps (Jetpack Compose), and even touch upon how AI is changing the game!You can find the full shownotes over at fragmentedpodcast.com.Show NotesSimple scriptingState of Kotlin Scripting 2024 - Jetbrains blogKotlin mini-app repo playground-ktAdvent of CodeWeb sitesHugo static site generatorCloudflare PagesSlashdot effectFragmented Podcast Website powered by Henry (Kaushik's custom theme)Web appsKtorHTMXAjaxCSS TransitionsServer Sent EventsYoutube Video showing Ktor + HTMXMobile appsEpisode 252 talking about playground-androidFlutterKotlin Multiplatform KMPReact NativeLLM Based appsStreamlit.Snowflake acquires StreamlitGoogle AI StudioKotlin AIVibe coding an AirBnb cloneContact usfrag
-
255 - Data Oriented Programming
18/02/2025 Duração: 31minIn this episode, we dive into the programming paradigm — Data Oriented Programming (DOP) and why making data the star can simplify your code. Learn how well-modeled data reduces defensive logic, prevents invalid states, and keeps your apps stable. We’ll also contrast DOP with Object Oriented Programming (OOP) and Functional Programming (FP), sharing practical examples, tips, and resource links to deepen your understanding.The full shownotes with illustrations are on fragmentedpodcast.com.Show Notes[announcement] Fragmented has an email newsletter.Programming ParadigmsObject Oriented ProgrammingFunctional ProgrammingData Oriented Programming (DOP)UUIDRFC 4122Kotlin now includes UUID in the standard lib even for kotlin multiplatform.ResourcesBrian Goetz's seminal article on DOPTies Van de Ven Advanced Kotlin Dev Day in 2022Data Oriented Programming in Java by Chris Kiehl (by Manning Publications)Devoxx talk by Nicolai Parlog on youtubeContact usfragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to ever
-
254 - 8× faster 5× memory savings with Dan Rusu’s Immutable Arrays
24/12/2024 Duração: 49minIn this episode, discover how Dan Rusu’s pods4k Immutable Arrays library can deliver 2–8× speed boosts and 5× lower memory usage in Kotlin/Android apps. We first revisit the fundamentals of autoboxing/unboxing and immutability to understand their impact on performance. Then we hear from Dan himself on his library, motiviations for building it, how the benchmarks were calculated and much much more. Our grand finale episode for 2024. Hope you enjoy it!Full Shownotes at https://fragmentedpodcast.com/episodes/254.Show NotesImmutable Arrays on githubImmutability episode #66 on Immutability with Ryan HarterJMH - Java Microbenchmark HarnessImmutable Arrays Benchmarks page for Immutable Arrays (pods4k)Dan's post - Kotlin avoids entire categories of Java defectsK2 compilerDan RusuWebsitepods4k github discussionsContact usfragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to everything)ThreadsBlueskyYoutube@kaushikgopalDisclaimer: Links shared might be affiliate links. They help support the production of Fragm
-
253 - logcat - a new look at logging with Piwai from Square
10/12/2024 Duração: 40minKaushik looks at a new logging library from Square called logcat. He starts by seeing how the popular Timber library does it along with the benefits. He then interviews Pierre-Yves Ricau (Piwai) of Square, the creator of logcat, to explore its origins and advantages.You can find the full shownotes over at fragmentedpodcast.com.Show NotesTimberlogcatMotivations in READMECompiler plugin issuePlayground android app demonstrating logcatbitdrift.ioDesign of everyday thingsPrevious episode #191 on loggingContact Piwai:WebsiteBlueskyContactYou can find us on a few places:fragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to everything)ThreadsBlueskyYoutube@kaushikgopalDisclaimer: Links shared might be affiliate links. They help support the production of Fragmented. Thank you for your support.
-
252 - Everyone needs a starter template
26/11/2024 Duração: 24minIn this episode of Fragmented, Kaushik dives into the importance of creating your own starter template to streamline app development and minimize decision fatigue. He shares insights from his own starter template - Playground Android.Looking to the future, JetBrains has an exciting tool called Amper that might make all of this much easier. Kaushik chats with JetBrains’ Márton Braun about Amper, an exciting new tool that could revolutionize Kotlin & Android project setups.Tune in to learn how to go from idea to code with less friction!You can find the full shownotes over at fragmentedpodcast.com.Show NotesPlayground AndroidThe Architecture Templates (blog post)Inspiration (Other starter templates):Bloco's starter template what i referenced a lotDonn's project - Jumpstart Android if you care about quickly getting a Rails app integrated with Android in a hybrid experienceNow in Android too much functionality for my tasteJake's u2020 for some good times nostalgiaPlayground Androidgradle version catalog - BOM
-
251- There's a new king in DI town
12/11/2024 Duração: 18minIn 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.Shownotes: https://fragmentedpodcast.com/episodes/251
-
250 - Bittersweet beginnings
29/10/2024 Duração: 34minWe'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!Shownotes: https://fragmentedpodcast.com/episodes/250
-
249 - Java and the JDK: Powering the Android Landscape with Michael Bailey
10/07/2023 Duração: 54minIn 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
-
248 - Feature Flags & A/B Testing: A Deep Dive with Ishan Khanna
26/06/2023 Duração: 01h05minIn 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
-
247: The Art of App Modularization with Siggi Jonsson
12/06/2023 Duração: 01h06minIn 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 modulariz
-
246 - Dependency Injection: Kotlin Inject with Fred Porciúncula
29/05/2023 Duração: 55minIn 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 timeles
-
245: Treehouse, Redwood and Zipline with Colin White
15/05/2023 Duração: 54minIn 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.Androi
-
244: Reviving Our Passion for Android Development
10/05/2023 Duração: 09minIn 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.
-
243: Mastering the Art of Switching Careers in Tech with Dan Lew
10/04/2023 Duração: 48minIn 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 worldThe challenges he faced when he moved from one tech stack to anotherHow 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 youand much more ...LinksRheaplyDonn'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.IOJob 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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our
-
242 - Kotlin Code Formatting with ktfmt and spotless
20/03/2023 Duração: 39minIn 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.Linksktfmt - website, githubspotless - githubdetekt - websitektlint - 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.Androi
-
241: The Pressure to Ship. Fear, Uncertainty and Doubt
10/01/2023 Duração: 45minIn 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.LinksDonn's 24 Hour Project - EXIFRJumpstart Rails Template that Donn UsedBooks-AI App by Florian WaltherOpen AIDonn'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 during the early release phase (at th
-
240: Important Kotlin Constructs
15/12/2022 Duração: 55minIn 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:fun interface (SAM - Single Abstract Method), and they juxtapose them vs function typestype aliasimport aliasvalue classdata objectYou'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.LinksKaushik's Blog Post - Important Kotlin ConstructsSAM Interface - Kotlin DocsFunction Types - Kotlin DocsType Aliases - Kotlin DocsImport Alias - Kotlin DocsValue Class - KEEPData Object - KEEPEnjoy!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.IOJob 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.IOSoftware FreelancingDonn's Freelance Facti
-
239: Require PR Reviews with CODEOWNERS
28/11/2022 Duração: 12minIn 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.LinksCODEOWNERS GitHub DocEpisode 012 - CI and Collective Code OwnershipGitHub Organization TeamsDonn'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
-
238: How to Land a Job (if you got laid off or if you're just starting out)
21/11/2022 Duração: 26minIn 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 tips that Donn still uses to this day. They work wonders to help you land a job quickly when you do them.The tips:Update your LinkedIn Profile and Build a Resume with the LinkedIn Resume BuilderSet your LinkedIn status to "Open to Work" via the "Open to Work" feature on LinkedInDirectly Reach out to Recruiters you know or have interacted withManual Discovery: Visit various companies career pages and job board and apply directlyAncillary Tips to Boost Your Chances of Landing a Job:Blog about the technology you’re looking to get a job inCreate a demo app or an app you can use to showcase your talents and put it on GitHubRecord a How To Video and post it to YouTube showing how to do something, such as a tutorialRecord/Start a podcast or reach out to hosts