5 steps to an effective app MVP: Validate your app idea without spending a fortuneThe rules I’ve built up over 11 years of working with app businesses, to quickly identify whether an app idea is a goer or not.Feb 4Feb 4
Published inProAndroidDevAI Vision on Android: CameraX ImageAnalysis + MediaPipe + ComposeLast week we looked at the basics of the CameraX library. That laid the foundations for something really exciting … AI vision! Now we can…Dec 19, 2024Dec 19, 2024
Published inProAndroidDevLet’s build an Android camera app! CameraX + ComposeWriting customised camera experiences on Android has traditionally been very difficult. For one thing, photography itself is difficult: as…Dec 11, 20241Dec 11, 20241
Published inProAndroidDevSeven recipes to understand flows and asynchrony in KotlinIn the clean world of Kotlin coroutines, we can have many tasks running at different times. Suspend functions and flows are two examples...Mar 14, 20247Mar 14, 20247
Published inProAndroidDevSeven demos to understand coroutines: scope, context and JobsUnderstanding coroutines — really understanding them, not just learning patterns — comes from seeing what goes on under the hood.Feb 19, 20247Feb 19, 20247
Published inProAndroidDevCoroutine patterns in Android, and why they workI know many Android developers who learn coroutines through code patterns, and that is usually enough to get by. But doing so misses the…Jan 21, 20244Jan 21, 20244
Published inProAndroidDevAndroid, Bluetooth and BLE the modern way: a complete guideBluetooth is an immensely fun technology to work with. Once you learn how to search for and communicate with devices, you will be surprised…Jan 10, 202410Jan 10, 202410
Published inProAndroidDevA flexible, modern Android app architecture: complete step-by-stepHere we teach Android architecture by example. That means showing *how* various architecture decisions are made. We will encounter…Jul 4, 202310Jul 4, 202310
Published inProAndroidDevHow to architect Android apps: a deep dive into principles, not rulesHere’s a scenario that’s recognisable to most Android developers… You are tasked with adding a simple feature to an app, but doing so…May 25, 20238May 25, 20238
Published inBetter ProgrammingFirebase’s Password Reset is Insecure. Here’s How to Fix It.Firebase Auth’s default password reset app is insecure, as it allows users to enter insecure passwords. My project provides a drop-in…Apr 3, 20237Apr 3, 20237
Why Firebase email/password login isn’t great for securityIn my previous security breakdown of Firebase Auth, I noted six separate security problems, and the first on the list was its insecure…Mar 20, 20233Mar 20, 20233
Published inProAndroidDevUsing Jetpack Credential Manager to save and retrieve passwords in-appSaving user credentials has traditionally been a bit hit-and-miss in Android, but a new library released earlier this month looks promisingFeb 23, 20231Feb 23, 20231
Android 14 finally fixes this decade-old security holeAndroid has a security weakness that we’ve known about for years. Since, in fact, its very early versions. It’s taken until this year’s…Feb 10, 2023Feb 10, 2023
Published inProAndroidDevEncrypting files and SharedPreferences in Android + KotlinAs we saw previously, the data your app stores to external storage can be read by other apps if they have the right permissions. Extra…Feb 7, 20231Feb 7, 20231
Published inProAndroidDevImplementing Photo Picker on Android + Kotlin + Jetpack ComposeAndroid’s new(ish) Photo Picker is a secure, straightforward way of allowing users to pick photos and/or videos from their library. This…Jan 31, 20231Jan 31, 20231
Network type in Android: watching for 5G/4G/3G/2G capabilityApps can benefit from knowing what kind of network they’re connected to, for example to enable certain features that require the bandwidth…Jan 24, 2023Jan 24, 2023
Demystifying internal vs external storage in modern AndroidUpdated 6 Feb 2023Jan 16, 2023Jan 16, 2023
Published inCodeXCode Readability > Efficiency: Here’s WhyUpdated 2 February 2023Nov 18, 20221Nov 18, 20221
The top 3 code security mistakes made by iOS developersApple has done a lot to foster a reputation for strong security and privacy in iOS, their mobile OS. So it’s surprising to see that the…Oct 13, 2022Oct 13, 2022
The best ways to learn pentesting and ethical hackingEthical hacking is a wonderful, punishing, thrilling, complex pastime. It requires both a technically advanced brain and a creative…Jun 15, 20221Jun 15, 20221