A few ideas that would let third-party watch apps do much more:
A shared activity summary. After each activity, a short summary (date, type, duration, distance, heart rate) is saved to the watch’s shared folder, so any app can see the whole week’s training, not just its own.
Shared data reaching the phone. The UNA app copies the shared folder to the phone when it syncs, so results an app works out on the watch aren’t stuck there.
Sending files to a watch app. Share a file in the UNA app (a GPX route, a workout plan, a race course) and pick which watch app receives it. Each app would list the file types it accepts, as it lists its settings today. Right now the only way in is a USB cable.
I have another idea for making community apps more useful.
Broadcasting data from the UNA app to individual watch apps via a module implementation.
For example, web searches, calendar entries, contacts, notifications, files or similar. This would ensure that, despite the fragmentation of different operating systems, apps can always be used to the same standard and there would be no need for third-party apps, as the basics are already available in the UNA app.
The app developer would simply need to submit an additional module to the UNA app that facilitates the relevant data transfer. This module would then utilise the UNA app’s permissions, thereby integrating into the existing iOS and Android ecosystems.
This would also circumvent iOS restrictions regarding the use of third-party apps and sideloading.
Minor, just thinking following the Android launcher style implementation, I think it ends up more maintainable if the phone pushes files and the apps decide which files are relevant for them. E.g., if there’s a directory of courses, each app looks at the directory and surfaces the relevant files (vs. being told it’s compatible from the phone).
I think it’s probably worth trying to articulate what we want to do with this data. We’d have to have some sort of schema to be useful, which suggests we’ll need to align on some data that’s actually useful for something. E.g., date + distance + vehicle seems like a very easy to justify shared representation so an app can aggregate, it gets harder the more we want to do with the data.