Sync Data Across Devices
in progress
Deborah Charych
Yes please! I made a bunch on my ipad and just now realize I will need to transfer them to iphone. Not the end of the world! But I wanted to try and use my beats as an in-ear click track for our band rehearsal and will need to remember to grab ipad, make sure it is powered yadda yadda. Thank you for such a clearly thoughtful product and labor of love
Derek Lee
Deborah Charych Hello Deborah and welcome to the community! Yes I definitely understand the inconveniences of not having data syncing across your devices. 😅 I appreciate your patience as this is quite a challenging piece and I need to be exercise the utmost of care to ensure your data is shared across devices correctly and accurately. 🙏🏻 Please continue to share your feedback about Beat Note and other enhancements that are important to you here. Thanks again for your support! Best, Derek
Derek Lee
Hi friends! I'm digging into the data sync functionality and I have a couple of questions
Question #1. You've been using Beat Note for some time, and you have beats both on your iPhone and your iPad. Sometimes, you shared a link from one device to open it on the other. Imagine one day soon, Beat Note supports syncing data (yay! I can't wait!! 🎉), and you sync the data between your devices. How do you want Beat Note to handle these beats that exist on both devices when your data is merged together? 🤔
Question #2. Imagine Beat Note now supports syncing data (soon! 🥳) You have two devices (iPad and iPhone). Both are offline because you've decided to disconnect from the internet to focus. You update Beat "Super Schaweet Groove" on your iPad and change some notes. Sometime later, you're on your phone (still offline!), and update the same Beat "Super Schaweet Groove" on your iPhone with different changes.
You re-connect your phone to the internet, and Beat Note saves "Super Schaweet Groove" to the cloud. Then later you reconnect your iPad to the internet.
How does Beat "Super Schaweet Groove" appear? 🧐
Thanks for your help! 🙏
J
Jesse Rolland
Derek Lee These are great questions. I was thinking a lot about this as well now that I recently upgraded to iPhone 15 and a new iPad (Beat Note for Apple Watch??? Kidding…lol).
I think for both scenarios the best example to emulate for me would be Google Drive. So basically question addresses when both devices are connected like to the internet like normal but question #2 would be for anytime either device or both are offline like even if you lost service for a bit (really good scenario to address). When editing Google Drive documents on any of the apps like Docs or Sheets it will simply autosave the last modifications regardless of the device last used. The goal here is to keep one master copy in my opinion and whenever I use either device my work and edits are constantly being auto saved in real time. I think this is the most simple and obvious solution and it works perfectly with Google Drive.
Now with question #2 I think the same philosophy follows suite but it obviously gets a little trickier. With Googke Drive if you hav a an offline tab open on a device you can reconnect to the internet and it will update and save the changes immediately from that device for that open file but I believe all the other files will not change unless you had a tab open and made some edits. Unfortunately we can’t just leave tabs open in beat note so yeah this kind of a big problem. What we don’t want is the offline library from one device to suddenly just update and override the other device that is currently online and connected to internet.
I guess my solution to this would be this even though I have no idea if this is even feasible but it would be ideal. If files could maybe INDIVIDUALLY give you a message prompt to update and save from current device or I guess just resort to original before going offline that would be pretty sweet. So in other words once the device is back online you would get these prompts for any beat file you open that has since been edited after going online. Does that make sense?
J
Jesse Rolland
The ultimate goal here is that we would want the option to be able to update the current offline changes from that specific device in that moment once reconnected to the internet even if it’s just WIFI. We only want to effect the beat files that we have since edited after going offline and the current one we have opened. We should get a prompt that gives us the option to make the status of the beat from this device current so all devices will be effected now. You would go through this process for every file you updated offline regardless of the device you were using. This would safeproof everything.
Ultimately if you are working offline even from both devices this definitely requires the user to pay close attention to the files you are editing and keep track manually. No way around that really. But at least every time you reconnect to the internet you would be given the option to make the current state of that file from that device the current saved version. BOOM.
G
Gilles Mercier
Hi, Derek Lee
Thanks for implementing all of this !
Now about the questions
#1 : in parameters / sync section
- how to handle objects/beats on 2 or more devices (btw is this based on the name of the beat ?)
option 1 : always get latest/newest
option 2 : ask (and show the source devices name to know which is wich)
#2 : use the same parameters ...
BUT I would add the possibility to EXCLUDE a beat from sync, if you want a particular beat to stay only on one device, or be able to manipulate it and "wait" for it to be complete before sync.
I would add a checkbox "Exclude from devices sync" (+ eventually a tag) in all beats that I could check if wanted (default : unchecked).
What do you think ?
R
Ross Farley
Derek Lee
#1 If you're able to detect duplicates, would creating a tag for potential duplicates work? I'd be happy to manually go through them to remove them after the initial sync
#2 Would it be possible for the edited measure within the beat to be duplicated? Say measure 3 has been changed on two devices in the scenario you describe. After both devices go back online there would be a measure 3A and measure 3B. If that's not a viable solution a duplicate of the whole Beat?
R
Ross Farley
ps. Looking forward to this update!
Derek Lee
Jesse Rolland Gilles Mercier Ross Farley Thanks for all of the great feedback! Much appreciated!!
Re: Google Drive - I think GD is a much more advanced use case as it allows real-time updates (multiple users can open the same file at the same time and make edits and see them in real-time). I know some users have suggested Beat Note also supports this functionality (wink nudge Ross Farley 😘) and I can see how it could be useful, but it's an entirely different technical implementation and not something I'm considering at this point (waaaaay, waaay, waaaaaaay more complicated 😅).
Scenario #1 is specifically to address concerns where you've already been using BN on multiple devices without data sync and may have the same beat with the same name on both devices, and maybe they are the same, one has been updated, or both have been updated. In this case I only have the name of the beat to go by since the beat was shared from one device to another (and if it was copied to My Beats, it would have received a different ID). So beats with the same name would be the only criteria I think I could look at. 🧐
Scenario #2 is specifically to address the offline scenario when both devices are offline, the same beat is updated on both devices, and then they reconnect at different times. Generally, the device to connect first would "win" since it would push its update to the server first.
Derek Lee
Ross Farley It's definitely possible to both detect duplicates and give a custom screen for resolving these, as well as possible to show measures 3A and 3B when a difference at that level was detected (as per the screenshot you previously provided, which was super helpful BTW! 🙏). Both of those are quite advanced, complex, and time consuming to build, and I would consider them for a future update. Ideally I'd like to lean towards something simpler to get the feature out sooner and then iterate to improve upon it, heading in the direction you recommend for a much more delightful user experience.
Gilles Mercier Re: Marking a beat to NOT sync- This is the first time I've heard of this as it's not a scenario I'm too familiar with when using other online cloud-based products (Google Drive, Dropbox, Apple Notes, Evernote, Notion, etc). I'd be willing to consider this if there's enough interest, but simplicity and intuitiveness are the primary drivers for me and introducing this kind of option increases the complexity considerably. I would ask you to create a separate enhancement for this for other users to also be able to vote and comment to consider as a future improvement. 👍🏻 Thanks!
Please keep the feedback coming and I'll keep you informed of progress!
G
Gilles Mercier
Derek Lee,
No problem, for the NOT sync, it is just a nice to have, but no bother with this :-) at least for now, let's implement the main feature first
Just another question though ... will the sync also sync the deletions ?
R
Ross Farley
Derek Lee Any syncing will work for me ultimately!
Derek Lee
Gilles Mercier Re: "will the sync also sync the deletions" → In how I understand data syncing to work, yes, it would work with deletions. For example: You create beat "Funky Groove" on your iPhone. It syncs to your other active devices: iPad and Mac. If you then delete "Funky Groove" from your iPad, it would also be deleted from your iPhone and Mac.
That said - most of the cloud-based software tools I use have the concept of a "trash bin" (as we have discussed in other threads). Maybe this is the time to introduce this concept? Instead of deleting it across all of your devices, it gets moved to the "trash bin" and it becomes possible to restore it. What do you think?
Ross Farley Thanks, Ross! As always: all features in BN tend to start with an initial implementation to ensure I'm moving in the right direction, gather feedback, iterate, and improve. This would be the same. 👍🏻 Thanks for your patience and continued feedback and support, we're making great progress!! 🙇🏻♂
G
Gilles Mercier
Derek Lee : Yes the "trash bin" is a very good idea, which also adds a layer of security against accidental deletions (errors)
C
Chris Howard
Derek Lee for both questions, I'd initially be happy with just a prompt asking which version to keep, or to keep both. Get that out the door first.
I want syncing. So, I'd suck it up for this limited conflict resolution to get it.
Then you can work on a cleverer solution.
Derek Lee
Thanks for your feedback, Chris Howard! 👍🏻
Deborah Charych
Derek Lee Hi - I would like thechanges or ‘creates’ made on ipad just ‘appear’ on my phone when I open the app. And vice versa. The offline issue feels more outlier imo but the simplest seems to be to either just save both versions (fname can have a 1 or 2 after it) and the user’s job is to figure out what to keep since you cannot read minds😊
Derek Lee
in progress
U
Urs Kaestli
Sync between devices would be awesome! Please consider to add to your excellent app asap! Thanks.
C
Chris Wardle
Hope this coming soon, paid yearly subscription but can’t use on my iPad, I looked up apps on my iPhone and didn’t think to install it on my iPad first.
Derek Lee
Chris Wardle Thanks for your comment! I'm working on the technical aspects of this feature and will update when I have a release date approaching.
You can absolutely still use Beat Note on your iPad with your subscription. Simply install the app and restore your purchases from the payment screen (scroll to the bottom and tap "Restore Purchases").
Data syncing may not yet be available, but you can still use all of the features of the app on all of your devices. Beat Note also supports family sharing so members of your family can also access your subscription the same way.
I don't see your vote on this feature request so I'll add it for you. In the future, please up-vote any features you are interested in!
Thanks! Best, Derek
Derek Lee
planned
Updating this back to "Planned" as all development work has been paused in order to resolve other critical and outstanding technical issues.
I will resume development of this in the near future. Thanks for your understanding! 🙇🏻♂️
Hinrich Nagel
Hi Derek,
I read many comments here on syncing and some other aspects (e.g sorting) which are (from my point of view) primary not involved in writing music notes and which are partially complex and difficult to develop. Therefore I like to express a possible different way to fulfill these feature requests.
Up to now all the data of BN are stored in a protected file (not in the access of the user). If you change this to an approach that every beat is stored in separate file in a directory which is selected by the user the following benefits should result:
- Syncing of the beats (files) is part of the OS (MacOS, iPadOS or iOS) if the user select an icloud-directory
- Tagging the Beats (files) is part of the OS (maybe the code can remove from BN)
- Sorting the Beats (files) is part of the OS
- Sharing the Beats (files) is part of the OS and can made via iMessage, eMail, collaborate or 'invite with a link' (for anyone who do not use Apple systems)
In this way, many of the features of the underlying OS can be used by BN without 'reinvent the wheel'.
What's about your thoughts to this approach?
Best regards
Hinrich
Derek Lee
Hinrich Nagel Hi Hinrich and thanks for dedicating some of your brain cycles to assisting with this complex issue! I appreciate your support! 🙇🏻♂️
First of all, any comments not related to syncing data can be considered with the appropriate feature they apply to. My intention with this feature request is to only consider comments applicable to data syncing. Additionally, the majority of feature requests on this site that come from users are representative of a user's request and may symbolize a user need, but in many cases, without further research does not necessarily constitute a proper solution to a user's problem. Finding the appropriate solution requires exploration to gain a deep understanding of the problem and then a process of ideating on potential solutions and choosing one to iterate upon.
Unfortunately, many of your points might apply to the file system in macOS, but do not translate to iOS. Tagging within a file system does not allow tagging within the app, neither does sorting or sharing. All of these features require 100% custom implementation in iOS as they are not native macOS functionality. Although Apple might be moving in this direction, iOS also does not have access to the macOS file system.
More importantly, my vision for Beat Note is to be supported across multiple platforms, and I've been building the app from the beginning with this in mind. Because teachers and content creators want to reach their students regardless of the device they are using, I need to add support not only for iOS but also for Android and the web (at a minimum). This requirement alone eliminates any solely macOS-only or iOS-only solutions.
If I wanted to support only Apple platforms, then yes, there are other approaches that could be considered (however, your suggestion of the file system is unfortunately not one I would consider due to iOS's limitation here).
I understand the importance of syncing data between devices, and I am committed to implementing this so that all users can access their data regardless of whether it's on iOS, macOS, Android, the Web, or possibly other platforms (Windows?). This way, all teachers and students can benefit from using Beat Note. 👍🏻
Thanks for your patience while I work through the technical challenges of this to deliver a robust solution for you and all other users! 🙇🏻♂️
Derek Lee
That said, if you'd like to lend a hand with development... please let me know! 😅
C
Chris Ward
Derek Lee keen drummer, teacher, and programmer here… I’d love to help :)
Derek Lee
Chris Ward Thanks, Chris! I'll send you an emaill so we can chat. 👍🏻
Derek Lee
in progress
This is a highly complex enhancement and I'm starting to put some pieces in place to move this forward. I don't have a target release date yet and I'll update this as development progresses. 👍🏻 Planned for a future 3.x release.
C
Collin Flaherty
Derek Lee Man this is an awesome update! I have no idea how much goes into being able to make a feature like this work under the hood, but I can imagine what seems simple to us as the end user can be a complicated process under the hood to develop. Not to mention to work in the background while continuing to make the app super smooth and not affect other aspects of the app.
I am excited for this feature, but using the Beat Note link feature and sharing those within apple notes to go back and forth between my iphone and ipad is my workaround for this at the moment.
Thank you for all your time and effort towards making this app better and better Derek! You rock bro 🙏
Derek Lee
Collin Flaherty Thanks for your comment and continued support! The goal of a feature like this is to make it as invisible to you as possible so things "just work." However, the complexity behind the scenes is enormous, so this is one that's going to take a considerable amount of time.
A lot of what's required for this is purely technical, but there are some user-facing aspects that I'll start to work on introducing soon. For example, you'll need to create an account and log into your account for me to be able to associate your different devices with your user account. I'll be posting here and to IG with more details as these changes are built and rolled out. 👍🏻 Thanks for your patience while I work on this!
Derek Lee
Given the high # of votes for this feature, I'm planning to include this feature in an upcoming 3.x release. I'll update this feature as progress is made. 👍🏻 Thanks for contributing to the Beat Note roadmap by sharing your feedback and votes!
Derek Lee
I'm excited to see this feature request getting more attention, passing the 10 vote mark!
I think this is a sure candidate for a release once the current 3.0 major update is wrapped up.
Thanks for continuing to vote and share your feedback on this! 👍🏻
Load More
→