Having lost my styles due to an IndexedDB corruption (not related to the 4 reasons listed in the FAQ), I assume IndexedDB corruptions are relatively common.
Losing styles is a pain, so would it be possible to encourage users to use the sync to cloud feature before data loss occurs? One idea is adding a dismissable notification in the options page, which new and existing users would see.
AFAICT only a few users out of 400,000 overall have encountered this problem so I'd say this is just a problem of individual education: no data is safe unless backed up regularly.
400,000
CWS started rounding 380+ down to 300 recently, because... reasons. Between stable and beta, Chromium has over 400 alone, plus another 200+ between FF and Opera.
I'm clarifying just to emphasize tophf's point, that "relatively common" is an overstatement. I'm sure it feels that way if it happens to you, but relatively speaking, it's pretty uncommon.
There are external factors we have no control over, like third-party file-cleaner software, browser bugs, or OS issues. I have to believe the majority of issues come from borked browser profiles.
In all the years I've been using Stylish/Stylus, I've never run into any DB issues, but I have run into quite a few borked browser profiles where nothing worked right, and I needed to start over and rebuild the profile with individually saved backups.
All that said, I'm not against the suggestion here. A one time tab-hijacking notification to nag users to back up their DBs, and preferably set up sync, might be decent idea. I'd like it even better if it were snarky and passive-aggressive.
Yes bug the user with invasive unneeded features, good idea.
We'd be talking about a one time notification to let users know about an important feature which they might not be aware of. A feature which could literally save them years worth of curating/coding in worst case scenarios.
I'm only half joking about trying to persuade users passive-aggressively. When DB failures inevitably do happen, for whatever reason, there ain't a whole lot that can be done about it after the fact. I don't particularly enjoy explaining to them how they're up shit creek, and it could've easily been prevented.
When users do show up to complain, claiming they had no idea such a feature existed, can we count on you to be here every time to explain how letting them know would have been invasive and unneeded, Shane? I'd be happy to ping you.
Apologies for my misconception that this corruption was common. I've never had such a corruption happen to any extension, and after looking at previous comments around IndexedDB corruption I naively assumed that it was a common issue.
Taking the rarity of corruption into account, I think bugging the user with an obtrusive tab-hijacking notification will probably cause more frustration than it will overall save. I personally would be a bit annoyed if an extension hijacked a tab / opened a tab without warning. However, I truly had no idea such a feature existed before my styles were corrupted - heck, I also didn't know a similar feature existed in Tampermonkey until I actively looked for it.
IMO an unobtrusive (but hopefully noticeable) one-time reminder would be best - maybe as a one-time badge on the extension icon with an explainer on the extension popup, which goes away after the popup is opened. That way users would still be notified about the feature, but without being actively disrupted.
Imho a better solution would be implementing the auto-backup instead of saving to cloud.
Imho a better solution would be implementing the auto-backup instead of saving to cloud.
I very much agree with you.
Local backup, safety insurance, never afraid of loss.
Sites/apps/extensions don't "encourage users to sync to cloud" as a rule of thumb so we won't be doing it either just because the problem hit a few users out of half a million overall. Every user who cares about their data should set up a daily backup of their entire profile in the OS.
What we can do? Quoting myself:
we can switch to chrome.storage by default and offer an option to use IndexedDB for those who wants speed. The slowness of chrome.storage shouldn't be a big issue: it's observable only when all styles are retrieved from the storage at startup [...]
Most helpful comment
Sites/apps/extensions don't "encourage users to sync to cloud" as a rule of thumb so we won't be doing it either just because the problem hit a few users out of half a million overall. Every user who cares about their data should set up a daily backup of their entire profile in the OS.
What we can do? Quoting myself: