MobileSheets Forums

Full Version: Auto-Embed annotations to PDF on file exit
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi Mike, 

following the discussions about embedding annotations to PDF-files I suggest to add an option
"Automatically embed annotations to PDF on file exit"
for people who prefer storing annotations inside PDFs or want to share lots of annotated documents with others via USB stick or email.

Option 1: disabled (default):  Annotations are stored in the MS database only, like MS does today. Nothing changes here.

Option 2: always embed:  The already existing function "Embed Annotations" is executed every time when you exit a file, so annotations are transferred from MS-db to PDF-file.

Option 3:  ask user:  Ask when closing whether to embed or not.

I assume that the programming effort is not so high since the function basically already exists. MS-annotations which can't be transferred to PDF-annotations remain in the MS database.

Reason:
Today there seems to be no practical way in MS to generate lots of PDF files with embedded annotations a keep them up to date (and synch):
Exporting files generates copies with hard embedded (ineditable) graphics. The same with printing.
Manually embedding with the existing command is a real pain for 50 or 100 songs cause you to not forget to use this functions with every single change in every single file.  
Also there's no filter to find out which songs have new annotations and which have annotations already in PDF.
If you go back and read my previous response, the main reason I removed the option to write annotations to the underlying PDF automatically is that a lot of users did enable that setting (it was off by default), they made massive permanent changes to their files without realizing the consequences of this and I had to spend a lot of time dealing with the customer support, taking away from development time. As mentioned previously, once you embed the annotations, you lose out on a fairly large number of features, and there is no undoing this, as you've modified the underlying PDF itself. I'm subject to what the PDF specification allows, and what the PDF library I'm using supports on top of that (it is far from bug-free). For example, I was not able to embed font-based stamps as it would crash the PDF library with memory corruptions, so I had to resort to embedding them as images. Font-based stamps can be resized without a loss in quality while images cannot.

There were also rare issues with some users where the annotations that were embedded in their files got corrupted, most likely due to some race condition that I was never able to reproduce. One of these users had hundreds of annotations per page, so it was a huge ordeal. You are the only user to request that this option be added back in the last two and half years since it was removed, so it does not appear to be a big issue for the vast majority of users. If many users chime in on this thread indicating that they really need this feature to be added back, then I can consider doing so. I just opted for the solution that provided the most reliability, as I didn't want to take any risk of users' annotations being corrupted. 

You may point out that many PDF editors don't have any of these issues with writing annotations into the underlying PDF. Those editors are limited by what the PDF specification will allow though. For example, unless I'm mistaken, or there is an editor which will modify the underlying PDF content stream (meaning it becomes uneditable), you can't have highlights that go behind the page content. Also, as I mentioned previously, I support annotations on file types other than PDFs such as images and text/chord pro files. You can't embed annotations in an editable fashion in those files.

Mike
Hi Bronz,

you said "Exporting files generates copies with hard embedded (ineditable) graphics. The same with printing." That is not really true. In the export menu you can select if you want to include the annotations at all. If you do, they are rendered as pdf annotations in the exact same way they are drawn into the pdf by the function "Automatically embed annotations".

So you can already export a number of songs while writing your annotations in as pdf-annotation by e.g. selecting all songs of a setlist and then using the export-function.

Of course I don't really know your specific use case, but I would also want to add that when you embed all your annotations all the time it makes it way more inconvenient to edit/change annotations for two reasons: First, you then have to activate the option to edit pdf-annotations in edit mode. This takes a longer time to open songs in some (many?) cases and you might accidentally erase something with your eraser that was before secured from this mistake. Second, I have had several occurrences of pdf-embedded annotations that move very slightly every time MobileSheets loads them to edit them. Over time your annotations might not look the way they were supposed to if you have very fine annotations that have to be at the precise correct place.

As I said, everyone has their own way of setting up their systems and configuring MobileSheets, but I am not really sure an option like the one you are requesting would be such a time saver as there is already a way to export lots of songs at the same time while writing the annotations in and it may confuse users to want it and then have the downsides I talked about.
@Bronz: You might consider "managing your files yourself". To do that you have to uncheck "Let MobileSheets Mange My Files" in MS Android, in MS Win10 just specify the folder that you want to use for your song files in "Set The MobileSheets Storage Location".
If you do so, MS uses the original song files from where you import them instead of copying them into its internal data storage.
Just one click on the button "Embed Annotations" is required after annotating to save your annotations in the original file, no PDF export / reimport is required.

Please check, if the MS sync functionality still works correctly when you manage files yourself. 
I have no experience with the sync feature of MS as I also synchronize my files myself: on Win10 my files are in GoogleDrive and synchronized with the GoogleDrive app, on Android I synchronize with FolderSyncPro.
I would be interested to hear if MS sync works in such a scenario or if conflicts between the GoogleDrive sync and MS sync are to be expected.
> MB1:  "Exporting files generates copies with hard embedded (ineditable) graphics. The same with printing." That is not really true.    ..."
You're right, I correct myself. 


My use case is that I play in 3 different bands/orchestras with each having a repertoire of 40-100 songs. With multiple parts about 300 songs in total. Additionally some practicing stuff. So nothing special.
For roughly about the half of the songs I add hand written annotations for dynamics, phrasing and other standard things. For that I use the pen which is simple, quick and easy. Also nothing special with that.

I've never come along with music sheets in other formats than PDF for the last 15 years (exported from notation software or scanned. And regarding images: Img2Pdf converts all of them losslessly and fast).
PDF offers all annotation functions I need (and probably the vast majority of MS users), and I've never had any problems with PDf annotations for 20 years (in my job).
I just asked for automation of an already existing (!!!!!!) and working (!!!!!!) function to export 100 sheets into the leading standard format for sharing documents, PDF.

> itsme:    Just one click on the button "Embed Annotations" is required after annotating to save your annotations in the original file
Yes, right. And it's not realistic to never forget to do these two clicks when switching to the next song. It could be so easy to automate this. That's all I suggested.
Users accidentally turn on features all of the time, or there are weird issues on Android where, in rare cases, user's preference files are modified in some way by the updating process, and it changes some of their settings (I've never experienced this myself but have been contacted by plenty of users that are impacted by it). So my concern here is not for the users who know what they are doing. My concern is that, in those situations where maybe it's turned on accidentally, users annotations are modified in an unreversible fashion. There is no way to get back the original annotations short of reverting the entire database to an earlier point, because once the annotations are embedded, they either won't be editable in the same fashion anymore, or they may be altered slightly. I completely understand your desire (and frustration) with resistance to an existing feature being automated. I just don't know how to ensure that, if I add this back, the same things that happened last time won't happen again, and I just don't want to deal with that if it's not a feature that a large number of users really need. I have not gotten a single email or forum post from users that really had to have this functionality (before this one), and that's how I gauge user interest in a feature. 

There is one "middle-ground" path I'm willing to take here. If there is an option to automatically embed annotations, but it always defaults to off each time the application is loaded, then there would be no possibility of it being left on unintentionally by users, so the potential fallout would be significantly reduced. You'd just need to remember to enable this feature each time you load MobileSheets. If you are okay with that, then I can add this back as a temporary toggle.

Mike
Hi Mike
thank you for your explanations, I understand your concerns. 
Your suggested "middle-ground" path is a good compromise, thanks!
Alright, I will work on adding the functionality back for this, and try to make sure that it's clear/obvious that the feature needs to be enabled each time the app is restarted.

Mike
I vote for keeping it as is. It worked fine for many many years.
@Bronz: you could easily get used to not forgetting to save your changes - as it is usual in almost every editor
I second itsme.
Mee too