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. :)

Parents
  • 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.

Comment
  • 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.

Children
  • Security could be done with needing to use a specific UUID.  Sure not perfect but what is the worst that could happen?  All apps on the store could register what UUIDs they listen to and which they send to so Garmin could know if there is a rogue app and an app that listens to a UUID could be notified of another app that wants to send it data and report to Garmin it shouldn't be allowed.  (assuming if from the same developer account it is fine)

  • 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