There's a couple things that I think, if improved, would reduce program attrition.
First, as others have said, if we are already tracking sleep with a third party app, we shouldn't need to enter those times in manually. It'll be more accurate and leave less room for error. I don't think this app needs to track sleep, there are other apps that do that well already. If the app sees HealthKit sleep data, just check it off for us.
Same goes for caffeine and alcohol, that data may be provided by another app. Don't ask us again if we already entered that info elsewhere and it appears in HealthKit.
Reporting medications is a pain. You have to type at least the name and dose every single night. A "recents" list would be helpful here, and the ability to set daily medications that are assumed to be taken would further eliminate steps. So far, we've eliminated the need for the morning and evening check-in for people entering that info elsewhere, or at least reducing it to a confirmation page with the info collected, and a "looks good" button or the option to modify data.
The turn down service is nice, but I should be able to check the steps off without having to read every description page. It adds a lot of time to an otherwise simple activity.
The watch app is almost painfully unreliable. Most of the time, when I try to access it, it gets stuck in infinite loading cycle and I can never actually complete the activity I tried to do. I should be able to get to what I'm looking for in less than 5 seconds, otherwise it's easier and faster to pull the phone out.
The alertness checker is about 2 minutes too long. I think I get worse results simply because I can't pay attention to anything that simple that long. If the length is important, maybe switch to another activity after a minute.
I like the nap tracker but sometimes I don't plan my naps, they just happen. I would like to be able to enter approximate times after the fact.
I think these would help keep me on board and actually completing things on time.