Open Bug 1467131 Opened 6 years ago Updated 1 year ago

Clean up bookmark annotation data once annotations have been removed

Categories

(Toolkit :: Places, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: standard8, Unassigned, Mentored)

References

Details

(Whiteboard: [lang=js][lang=cpp][lang=SQL][good next bug])

User Story

We should remove the moz_items_annos table, all the references to it and the PLACES_ANNOS_BOOKMARKS_COUNT histogram.
Also querying parameters https://searchfox.org/mozilla-central/rev/d25eb00ab4e90cc0130cd18f303a04cc2a2f8409/toolkit/components/places/nsINavHistoryService.idl#829-844
Once annotations have been removed, we should clean up the moz_items_annos table in the places database.

Currently, some old annotations are being left there:

- Description (to allow users to export/save data, UI was removed in 62)
- Mobile folder (removed in 61).

When we do this depends on bug 1460577 being complete and we should consider the amount of time/releases (inc ESR) from when description field was stopped being supported.
To be clear: we should also remove any remaining code that is exporting/backing up the remaining annotations.
Why not just rename it to Notes and bring back the edit box for it on the bookmarks properties dialog?
That way everyone can continue to use it like they have been for years, no data is lost, no useful feature is removed and you no longer have to auto-fill it with the web page description.
because it's a huge performance problem and we don't have resources to properly implement the feature you request, though it can be done properly by a WebExtension.
I thought maybe no longer auto filling it would speed things up.
What if you didn't integrate the notes field in api/search or anything and just made it show up when you right click the bookmark? Private Notes. i can't see how that would make anything slower. It has been a great feature for a very long time. I hate to see it go since it has increased my productivity a great deal and is something nice that Firefox had over Chrome. Now people will have to manually migrate all their notes to an extension that probably won't be as simple as a right click on the bookmark.
Everything you suggest has a development cost. As part of the Great or Dead effort, if we decide to keep a feature we must make it great for the user. And we just don't have the resources to do that in bookmarks at this time.
Anyway, if I should restart Places from scratch this is not something that I'd make part of bookmarks, I heard of people using this field to unsafely keep passwords, or more generic notes. There are (and can be) better solutions for both of those than reusing a description field.

A few alternatives to keep notes:
https://testpilot.firefox.com/experiments/notes/
https://addons.mozilla.org/firefox/search/?q=notes
(In reply to Marco Bonardo [::mak] from comment #5)
> Everything you suggest has a development cost. As part of the Great or Dead
> effort, if we decide to keep a feature we must make it great for the user.
> And we just don't have the resources to do that in bookmarks at this time.
> Anyway, if I should restart Places from scratch this is not something that
> I'd make part of bookmarks, I heard of people using this field to unsafely
> keep passwords, or more generic notes. There are (and can be) better
> solutions for both of those than reusing a description field.
> 
> A few alternatives to keep notes:
> https://testpilot.firefox.com/experiments/notes/
> https://addons.mozilla.org/firefox/search/?q=notes

Marco, I agree with you "Everything you suggest has a development cost.", Just about Everything in life does have some type of cost associated with it.

However, as to "As part of the Great or Dead effort, if we decide to keep a feature we must make it great for the user." Here is where I respectfully don't share that philosophy. All good ideas evolve.

"Had I waited to build the perfect automobile, we would all still be on horses."
 -- Henry Ford

I might be wrong (it would not be the first time, certainly wont the last) I believe removing an end user editable data field without knowing what additional data is being captured by end users without consent much less warning may not be a good idea. Currently description for bookmarks is not great, but neither was the Henry Ford's Model T when it was first released, but look at how it has evolved over time from carriage to horseless-carriage and maybe within a decade driverless-carriage.

Respectfully yours, J
You made a good example, cars evolved, while this feature stayed broken and problematic and unused (by most) for years without nobody putting resources into it. Plus, this feature was used by a few, while causing issues to the most. The architecture wasn't built to affect only people using it, it was hurting *every* Firefox user.
I sympathize with your ideals, but I'm more than convinced there was no other way out.
Notifying earlier wouldn't have solved anything, but it would have caused double the dissatisfaction and annoyance on users (I have plenty of examples where users were annoyed when we announced a change, then after 6 weeks got furious when we actually made the change, even if they knew about it).
Additionally we should have notified every user, even those that never cared about the feature, that would have been annoyed. This is because the architecture (again) doesn't distinguish who cares from who doesn't.
Srsly, we evaluated every single possibility for this.

And fwiw, the data is preserved yet.
Marco, thank you for your response, I was not expecting one.

You made excellent points, I'm just over protective of my data and don't like it when others fail to respect my property and/or work -sorry, I can't help how I feel. 

Nevertheless, I understand and respect your logic, I'm just struggling with the execution, but that's just me.

Regardless, I do appreciate the time you took to give me an reasonable explanation which is more than most people would have done, the mark of a true gentlemen and for that I thank you and all those who took part in the development of your character.


Respectfully yours, J
Shouldn't there at least some warning for the people? I've used annotations a lot, and all people should have a chance to save their data right in time before it's gone forever (although it's less useful now without a proper tool to work with that data).

By the way, auto-fill of annotations never has been a good idea and made the annotations less useful in fact. I never kept that when I added my own comments. Anyway, doesn't matter no more.

With "some warning" I mean some real warning, in fact. Something users cannot miss. Like a message when Firefox starts which must be dismissed manually. It's their data. Possibly a lot of data. Mozilla is going to - dramatically speaking - destroy it. That shouldn't be done silently or hidden deep down in some change log. People trusted Mozilla to keep their data safe.

Some users may be confused ("Hey, what's annotations? Never noticed it before. Still hate you for removing that feature even if I never used it!") but that's the way it is. Please think of all those people that actually used annotations. They will be thankful (well, not for the feature being removed but at least for not losing all their data).
(In reply to Andreas M. Kirchwitz from comment #9)
> Shouldn't there at least some warning for the people? I've used annotations
> a lot, and all people should have a chance to save their data right in time
> before it's gone forever (although it's less useful now without a proper
> tool to work with that data).

The data will be preserved a long enough time for people to notice misses and export.
An anyway I suppose you mean "descriptions", not "annotations". Annotations is a wider dataset that includes the description data.

> By the way, auto-fill of annotations never has been a good idea and made the
> annotations less useful in fact.

I agree, it's also one of the reasons for the removal.
> With "some warning" I mean some real warning, in fact. Something users
> cannot miss. Like a message when Firefox starts which must be dismissed
> manually. 

Unfortunately we can't due that, due to the fact descriptions were pre-filled with page data, we don't know which users modified them, so we should notify every user, but most of the users don't care and would be annoyed.
will we take into account the 60esr -> 68esr migration for this bug in order to not surprise users on this channel with a dataloss situation after the next major esr upgrade?
(In reply to [:philipp] from comment #12)
> will we take into account the 60esr -> 68esr migration for this bug in order
> to not surprise users on this channel with a dataloss situation after the
> next major esr upgrade?

This is a valid concern, and I think for that we'll have to keep the data around at least until Firefox 69. It's a bit unfortunate to have data duplication but I don't see a way out.
I hate the change that lead to this "bug".  I used the annotations extensively - including through programs that autofiltered out more sensitive bookmarks using the annotations when making a publicly sharable version - and to the best of my knowledge, this is the only field in which full text could be maintained BY THE USER.  It might not be fair at this point, so I'm apologizing now, but:  What lead to the annotations being removed in the first place, this was a seriously useful feature with nothing else to move to if removed.  Was there so much development cost with keeping a couple of UI elements and a database field?
What you are describing is the Description field, thus bug 1402890, annotations is an internal API that was used to imeplement that, and it was a terrible API with huge performance and architectural problems.
We'd not remove a feature if it wouldn't cause problems to most users.
There are add-ons providing similar functionality, that is a win because then we can be more modular and not have a problematic feature affect every user: https://addons.mozilla.org/it/firefox/search/?platform=mac&q=notes
Hi Marco - thanks for being so descriptive with reasonings as to why the "descriptions" field is being "dead" rather than "great" - I didn't realize it had such performance issue. I fully came here pitchfork in hand, but I didn't understand that this field is part of the multi-decade code cruft that had built up.

The reason I've enjoyed "descriptions" so much over the years is precisely because it's better than a regular "note" add-on in the sense that I get one "descriptions" field per bookmark, and therefore can put in relevant information about the website. Not passwords of course; that's what the passwords manager is for.

My question is; is there currently any talk in the core Mozilla developer's group as for a better-coded replacement for "descriptions" that can fulfill its same function in the core of the application? Is there an API available for developers to be able to extend each bookmark with a user-editable field? I understand that the descriptions field as we know it HAS to go away, and I've dutifully exported the bookmarks.html file as referenced so I haven't lost my data... but as of now, is there any thought for replicating its great functionality in the future, or if not by the core team, making it extensible to other developers? (The current "Bookmark Notes" extension, for example - I'm worried that the JSON its using to store its code might also be deprecated soon, causing us to be back at square 1 again). Thank you.
Until we're done refactoring the old code, it's unlikely we'll add new features to bookmarks, but then everything is possible.

Please, please, please, don't delete the Description field internally!

I have a folder named "Citations" where I would bookmark every single page I found to be helpful in solving a problem, and I would blank the Description field and then use it to write in a synopsis of what the problem was, and how the page helped me find a solution. Essentially, I used the Description as a sort of diary for years before I started using Stack Overflow in 2013, but those Descriptions still represent years of my life and I would be heartbroken if they were all deleted. I still have a few other descriptions that I set from around 2016-2018, but those were for discrete use cases.

I just tried to write a diary description of a bookmark from Q1 2018 this past weekend, and when I realized the description field was disabled, I was brought here. I'm begging you, please don't delete this field internally or find a way to migrate it to the Places format.

due to the fact descriptions were pre-filled with page data, we don't know which users modified them, so we should notify every user

There should be a warning box in the bookmarks interface itself that says the Description field has been removed and why in the same place the Description field was. That way, the users like me who care about the description field will know that it's missing, and the ones who don't care will just ignore it. I've been very busy since Q1 2018 and haven't had the time to take a day to organize my bookmarks where I would have filled in their descriptions and sorted them into folders. I actually did panic upon seeing that I've been asleep on this for 10 months and might have already lost my data.

(In reply to Patrick Seiter from comment #20)

Please, please, please, don't delete the Description field internally!

We waited a year, and in the meanwhile all the Firefox versions kept that information and exported it in automatic bookmark backups, so anyone with a decent backup system will have this data forever. At this point in time I expect that almost everyone in need of that data already exported it somewhere else, because it was pretty obvious that it disappeared from the UI.

I'll start with the removal now, because we are past Firefox ESR 68, the description field was removed with a release note in Firefox 63. Firefox 69 will be released in 3 months, that is even additional time.

Depends on: 1555412

OK still really upset to see this feature go. It was hands down the best interface feature of firefox.
I hope you add a notes text area back to bookmark properties one day. It would be shameful if you waited for chrome to add it first.

(In reply to Marco Bonardo [::mak] from comment #21)

We waited a year, and in the meanwhile all the Firefox versions kept that information and exported it in automatic bookmark backups, so anyone with a decent backup system will have this data forever. At this point in time I expect that almost everyone in need of that data already exported it somewhere else, because it was pretty obvious that it disappeared from the UI.

I backup my entire Firefox profile once a week. I just backed up my work profile and I still see descriptions in the bookmarks. I have several other profiles for different use cases. I'll very urgently go through all my Firefox profiles and try extracting my personal descriptions from my bookmarks. Thanks for the heads up!

Even with this change, I'm happy that Firefox bookmarks management is still objectively superior to that of Google Chrome's.

Is there an addon that can save store multiline text on a bookmark's right click properties yet?

User Story: (updated)
User Story: (updated)
Mentor: mak
Whiteboard: [fxsearch] → [lang=js][lang=cpp][lang=SQL][good next bug]
Severity: normal → S3
Depends on: 1801057

also remove most remaining uses of moz_items_annos, we may want to keep the table and some migration around though
https://searchfox.org/mozilla-central/search?q=moz_items_annos&path=&case=false&regexp=false

Hii! I have solved a few good first bug and interested in solving this bug. Can I get some guidance how to proceed?

You need to log in before you can comment on or make changes to this bug.