ukhsa-collaboration / COVID-19-app-iOS-BETA

Source code of the Beta of the NHS COVID-19 iOS app
https://covid19.nhs.uk/
MIT License
800 stars 179 forks source link

Use of Apple Watch App for user engagement & background waking #28

Closed simbo64 closed 4 years ago

simbo64 commented 4 years ago

NB. This thought is a bit outside the box, it may have flaws, but was hoping to float the idea.

Apple Watch. I'm not sure exactly what percentage of iPhone users have one but I believe it could be as high as 20% Source. How about implementing a basic Apple Watch app with complications showing a green or a red symbol almost like a traffic light to confirm contact tracing is working for the user. This could be done with a WatchConnectivity handshake to confirm the app is still ok every time the complication updates (usually every ~15 minutes). This will mean that:

I appreciate 20% is by no means everyone, but it could be an important number of people to make the difference on the number of devices out and about that are awake. Implementing the app would also be fairly trivial and could be simply added on as an extra for those who want it and have an Apple Watch.

As a further extension, Apple Watch devices to have access to the CoreBluetooth framework so there is a possible future to explore in using them to do some waking.

Smartphone:

adarrel753 commented 4 years ago

I like the thinking here :)

I wonder if there are people out there that aren't into smartphones etc but would be happy to wear a contact tracing wristband? If people are concerned about their other (I.e. personal) data being collected from their phone, a wristband might be preferred, I.e. you take it out of the box and put it on, that's it - it has no other software installed on it, it does nothing else but contact tracing

gwdowner commented 4 years ago

I like the idea of a watch app but not for the purpose of fixing the Bluetooth issue. The watch app could be useful in the following type scenario: Say a user works in an office. They may find throughout the day moving to different sections of the building e.g toilet, meetings, labs etc. They may not always have their phone (left at workstation, locker etc.), the watch could act as a backup working with the phone.

This is just an example but could be applied to others like going out to exercise without phone etc.

Things to consider:

I also like the idea of a complication, but maybe have Red infection likely go home, orange app not working, green all is fine?

simbo64 commented 4 years ago

I don't see WatchOS being an effective alternative to iOS for operating CoreBluetooth in a scanning and advertising capacity. The watch is riddled with battery saving measures. Its would also be a nightmare for calculating RSSI exposure values because its a completely separate chipset and its on your wrist so the readings would be well off that of the iPhone ones. And then you mention the duplicate signal problem.

Can I ask why you don'y think it would help with fixing the bluetooth issue?

Communication between the Watch and iPhone should be private I believe though would have to investigate that. I'm not sure a complication staying red for 7 days because of "isolating at home" is that useful. I would suggest it needs to be slightly more interactive.

gwdowner commented 4 years ago

I should probably state that i am not an iOS developer so I don't know the intricate details of iOS and WatchOS.

Whilst I agree that it may fix the Bluetooth issue. If and only if the user is using an iPhone and apple watch would this be useful. This is not a universal fix more of a workaround which is my concern. Even if it makes some difference to those users it would point towards a wider issue where the majority of users will not have a reliable Bluetooth connection between devices rendering the application as a whole useless. If the connection problem is not as bad as reported then one would question if this issue is needed for the purpose of fixing the Bluetooth issue.

With this in mind I think the project should aim to work with apple/google to find a better way around this rather than using a work around.

The complication was a fleeting thought and in hindsight I agree with you on that point.

simbo64 commented 4 years ago

So you are right, putting out a fix to help 20% and not the rest isn't a great methodology. But I suspect that given the code submitted does not use the Apple-Google APIs, there isn't much chance to change direction before initial release. I was just hoping that bolting on a basic Apple Watch would be a low risk way to get some of the iOS devices out of sleep states.

Ideally, yes, I think its clear that the Apple-Google APIs are the way to go. Clearly the bluetooth performance would be better and we haven't event covered the issue of the user closing the app with a swipe!

edent commented 4 years ago

Hi all. It's an interesting idea. I suspect that the number of people in the UK with an Apple Watch isn't high enough to make this feasible for us. We are keen to explore what other devices could be used though.

As this discussion doesn't relate to a bug with the app's code, I'm going to close it for now. Feel free to continue the discussion in this thread.