Ticket Created
over 5 years ago

WERETECH-7864

For the record, this has been discussed in the past and we've decided to not implement this for various reasons (primarily for security).

Allow shared storage between apps

If a developer has multiple apps or a suite of apps, it would be interesting if there could be shared storage. For example, a widget could read from data written by a related app to display summary info, last activity info, etc.

This is a somewhat regular request, so I thought it would be nice to list it here. :)

  • Thats communication between apps, not shared storage.  Shared storage just means you can read and write to the same place.  Yes that can allow communication but would generally mean you have to poll to see if there is new data which isn't generally efficient.  Both could be useful.

    There is already Toybox.System.Intent.  Couldn't that be used without the requirement that the sending app exit? data fields could just send and receive from anything and and app types that can't coexist with others (watch faces, full apps, etc) would just send the data to the other app with the assumption the other app will get it whenever it starts.  Could just use the existing method to receive data:
     registerForPhoneAppMessages(method as PhoneMessageCallback or Null) as Void

  • This is so important for me!! I am trying to make data fields to communicate to our EBike wireless board NRF52840 and I found that Bluetooth has limitation that I can only make 1 connection so I can have only one data field while I need 10 data fields. If I could share the data between them, then one could be the principal and share the Bluetooth received data to other secondary data fields.

    And I am now trying to do the same with ANT, but ANT has big issues of connectivity and drops on data fields.

  • Is there any sign of this happening? I have a number of widget/watchface ideas that need this to make them feasible.

  • A helpful application of this would be to allow the ability to change settings on a data field via a related watch app.  For the case of Moxy, it would be very handy to be able to set high and low SmO2 alerts, the sensor number, and the sensor location via a watch app that is a companion of the data field.  Right now, these settings need to be set in Garmin Express or Garmin Connect Mobile which aren't always handy.

    The security ramifications could be minimized by only allowing the companion app to be launched from a menu pick inside the activity where the data field is installed.  I'm not sure how this would work in the use case that Horsetooth suggested.  But the concept of only allowing sharing among apps that are from the same developer and are linked at the time they are uploaded should limit the scope of the security issue dramatically.

  • Fitbit just implemented this in their new SDK 4.0. Just sayin'