Yao
banner
whyyao.com
Yao
@whyyao.com
team pixel, indie hacker
working on boop, Rings and Planana
https://rice-studio.com/
Rings 1.9 sneak peek: Workout heatmap and recording methods are coming!

#buildinpublic
May 4, 2025 at 4:56 PM
Compose Multiplatform is awesome... until you start writing widgets 😅
Here’s what I’ve got for boop so far after way too much copy pasting
#buildinpublic
April 3, 2025 at 7:56 AM
I will say writing widget configuration on iOS is much easier than Android. Zero UI code needed. 😅
#buildinpublic
March 30, 2025 at 3:57 PM
Built this whole app around dark mode, but slowly stepping into the light! 🌙→☀️
Experimental light mode support coming in Rings v1.7.0

#buildinpublic
March 29, 2025 at 10:13 PM
Having fun experimenting with more Android widgets. Turns out custom colors don’t update automatically when dark mode is enabled. Had to hack around some unused Glance theme colors. Surely there’s a better way? But hey, they’re working now.
#buildinpublic
March 25, 2025 at 11:39 PM
build with ❤️ and 🍷
March 21, 2025 at 2:11 PM
Ah, the battles with App reviews has begun. 🤧
#buildinpulic
March 20, 2025 at 8:38 PM
Finally! Running to upgrade Rings rn.
Unlock Deeper Health Insights: Health Connect Jetpack SDK is now in beta and new feature updates
_Posted by Brenda Shaw – Health & Home Partner Engineering Technical Writer_ At Google, we are committed to empowering developers as they build exceptional health and fitness experiences. Core to that commitment is Health Connect, an Android platform that allows health and fitness apps to store and share the same on-device data. Android devices running Android 14 or that have the pre-installed APK will automatically have Health Connect by default in Settings. For pre-Android 14 devices, Health Connect is available for download from the Play Store. We're excited to announce significant Health Connect updates like the Jetpack SDK Beta, new datatypes and new permissions that will enable richer, more insightful app functionalities. ## Jetpack SDK is now in Beta We are excited to announce the beta release of our Jetback SDK! Since its initial release, we've dedicated significant effort to improving data completeness, with a particular focus on enriching the metadata associated with each data point. In the latest SDK, we’re introducing two key changes designed to ensure richer metadata and unlock new possibilities for you and your users: ### Make Recording Method Mandatory To deliver more accurate and insightful data, the Beta introduces a requirement to specify one of four recording methods when writing data to Health Connect. This ensures increased data clarity, enhanced data analysis and improved user experience: If your app currently **does not** set metadata when creating a record: **Before** StepsRecord( count = 888, startTime = START_TIME, endTime = END_TIME, ) // error: metadata is not provided **After** StepsRecord( count = 888, startTime = START_TIME, endTime = END_TIME, metadata = Metadata.manualEntry() ) If your app currently calls Metadata constructor when creating a record: **Before** StepsRecord( count = 888, startTime = START_TIME, endTime = END_TIME, metadata = Metadata( clientRecordId = "client id", recordingMethod = RECORDING_METHOD_MANUAL_ENTRY, ), // error: Metadata constructor not found ) **After** StepsRecord( count = 888, startTime = START_TIME, endTime = END_TIME, metadata = Metadata.manualEntry(clientRecordId = "client id"), ) ### Make Device Type Mandatory You will be required to specify device type when creating a Device object. A device object will be required for Automatically (RECORDING_METHOD_AUTOMATICALLY_RECORDED) or Actively (RECORDING_METHOD_ACTIVELY_RECORDED) recorded data. **Before** Device() // error: type not provided **After** Device(type = Device.Companion.TYPE_PHONE) We believe these updates will significantly improve the quality of data within your applications and empower you to create more insightful user experiences. We encourage you to explore the Jetpack SDK Beta and review the updated Metadata page and familiarize yourself with these changes. ## New background reads permission To enable richer, background-driven health and fitness experiences while maintaining user trust, Health Connect now features a dedicated background reads permission. This permission allows your app to access Health Connect data while running in the background, provided the user grants explicit consent. Users retain full control, with the ability to manage or revoke this permission at any time via Health Connect settings. Let your app read health data even in the background with the new Background Reads permission. Declare the following permission in your manifest file: <application> <uses-permission android:name="android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND" /> ... </application> Use the Feature Availability API to check if the user has the background read feature available, according to the version of Health Connect they have on their devices. ## Allow your app to read historic data By default, when granted read permission, your app can access historical data from other apps for the preceding 30 days from the initial permission grant. To enable access to data beyond this 30-day window, Health Connect introduces the PERMISSION_READ_HEALTH_DATA_HISTORY permission. This allows your app to provide new users with a comprehensive overview of their health and wellness history. Users are in control of their data with both background reads and history reads. Both capabilities require developers to declare the respective permissions, and users must grant the permission before developers can access their data. Even after granting permission, users have the option of revoking access at any time from Health Connect settings. ## Additional data access and types Health Connect now offers expanded data types, enabling developers to build richer user experiences and provide deeper insights. Check out the following new data types: * Exercise Routes allows users to share exercise routes with other apps for a seamless synchronized workout. By allowing users to share all routes or one route, their associated exercise activities and maps for their workouts will be synced with the fitness apps of their choice. * The skin temperature data type measures peripheral body temperature unlocking insights around sleep quality, reproductive health, and the potential onset of illness. * Health Connect also provides a planned exercise data type to enable training apps to write training plans and workout apps to read training plans. Recorded exercises (workouts) can be read back for personalized performance analysis to help users achieve their training goals. Access granular workout data, including sessions, blocks, and steps, for comprehensive performance analysis and personalized feedback. These new data types empower developers to create more connected and insightful health and fitness applications, providing users with a holistic view of their well-being. To learn more about all new APIs and bug fixes, check out the full release notes. ### Get started with the Health Connect Jetpack SDK Whether you are just getting started with Health Connect or are looking to implement the latest features, there are many ways to learn more and have your voice heard. * **Subscribe to our newsletter** : Stay up-to-date with the latest news, announcements, and resources from Google Health and Fitness. Subscribe to our Health and Fitness Google Developer Newsletter and get the latest updates delivered straight to your inbox. * **Check out our Health Connect developer guide** : The Health and Fitness Developer Center is your one-stop-shop for building health and fitness apps on Android - including a robust guide for getting started with Health Connect. * **Report an issue** : Encountered a bug or technical issue? Report it directly to our team through the Issue Tracker so we can investigate and resolve it. You can also request a feature or provide feedback with Issue Tracker. We can’t wait to see what you create!
android-developers.googleblog.com
March 12, 2025 at 11:27 PM
Reposted by Yao
When I use follower tracker…

And yeah, our Bluesky follower tracker is on the way
#buildinpublic #indieapp
March 10, 2025 at 10:40 PM
why can't we use cmp to write ios widget yet 😭
March 10, 2025 at 5:55 PM
The "return" just hits different. Feeling kinda legit now.
#buildinpublic
March 1, 2025 at 11:51 PM
Hope for lots of better ideas to come 🙏
What started as random ideas but now real: we have a website for our studio, and I just launched my first frontend project
#frontendlearning #webdevelopment
March 1, 2025 at 1:05 AM
No biggie, just casually spent the past three days adding Room dependency to my Compose Multiplatform project... I’m not crying, I swear 😅

#buildinpublic
February 28, 2025 at 11:16 PM
The pain of working with an alpha framework that is the Health Connect. Was trying to make a steps-per-30-mins graph. Tested on a Samsung, and getting the same number for all intervals. Then found out Samsung Health uploads steps once in the 00:00 - 23:59 time frame
February 26, 2025 at 10:03 PM
Kotlin multiplatform is such a genius idea really
February 24, 2025 at 9:33 AM
Started something new yet again with @echoyou67.bsky.social 😅
February 22, 2025 at 8:40 PM
Been working with design to refresh the widget library—should make things clearer and give you more options. Coming in Rings 1.5! 👀 @echoyou67.bsky.social
#buildinpublic
February 19, 2025 at 11:06 PM
This week felt like an endless grind of widget work, but the finish line is finally in sight! Huge kudos to my designer tolerating me through it all🙌
#buildinpublic
#androiddev
February 17, 2025 at 11:03 PM
Some fresh new widgets incoming to Rings 👀
#buildinpublic
February 16, 2025 at 1:53 PM
Been reworking the onboarding pages—here's a sneak peek. Turns out ChatGPT is pretty great at animations if you can describe them well enough.😅 #buildinpublic #androiddev
February 11, 2025 at 5:58 PM
Finally added background sync to Rings! Widgets now update health data automatically without needing to open the app. Took way too long, but it's here in 1.4!
#buildinpublic #AndroidDev
February 7, 2025 at 11:23 PM
Finally! After days of debugging... Health data can auto refresh in the background now... coming in 1.4?
#rings
February 4, 2025 at 5:22 PM
lol guess play store is not ready for Android 16 Apps yet...
#buildinpublic
February 2, 2025 at 8:36 PM
Hello world
January 22, 2025 at 8:11 PM