Hacker News new | comments | ask | show | jobs | submit login
Deep Dive: New Bookmark Sync in Firefox Nightly (nightly.mozilla.org)
69 points by sohkamyung 9 months ago | hide | past | web | favorite | 41 comments

> For the last two years, the Firefox Sync team has been hard at work improving bookmarks on all our platforms

If they only would improve the actual bookmark manager. It's been a thorn in my eyes for quite some time now.

- you can't find duplicates

- it takes 0.5-3sec/bookmark to delete bookmarks (on my devices at least)

- you can't cut found bookmarks out of a search (it copies it)

- the bookmark search sucks

And there are multiple other minor annoyances that bug me or features I would wish for (searchable offline bookmarks anyone? [I know that's going more in the direction search engine, but it sure as hell would be nice])

I'm kind of a horder when it comes to open tabs and bookmarks, so it is a pain in the butt to manage those. Last time I cleaned all my bookmarks I exported them and managed them with buku[0]. "Lost" my directory structure through this but it was worth it.

[0] https://github.com/jarun/Buku

You can't export/import "Folders" of bookmarks.

For me, amongst other things, there's no easy way to e.g. share a folder of useful bookmarklets.

Or, more generally, perhaps e.g. sharing a folder of bookmarks pertaining to a research project.


P.S. Two decades ago, Kaylon's Powermarks was -- and remains -- the best bookmark manager I ever ran across. Third party app that was cross-browser and integrated itself via interfaces that gradually got killed off.

Lightning fast, handling thousands of bookmarks, with pretty good automatic, override-able tagging that fed a very effective search facility producing immediate, progressive results as one continued to type their query string.

Pretty much, you could just bookmark something, then find it a week or a month or more later with a couple of seconds' thinking and typing. Even if you had a then somewhat vague notion or memory, you usually immediately found what you half-remembered.

An offline full text search for bookmarks would be really useful.

I wrote a small python shell script for searching Firefox bookmarks directly from the SQLite file. It is very primitive, but it works great. Feature requests and pull requests welcome.


What would be even more useful is if this would integrate with a web search engine somehow. E.g., search for a term, and it will first show matches in bookmarks, and then matches from the web. Also nice if this would integrate with the filesystem, e.g., it would show matches in documents/filenames on the local system.

That's already what the Awesome Bar does if it's configured to show search results (in Preferences > Search). You can also search only bookmarks with the * keyword.

Thx didn't know about the * keyword will use this from now on. (I disabled the search and justed used the open tabs, history and bookmark suggestion function from the awesomebar)

I think this is a Pocket premium feature, no idea what their plans are regarding bookmarks and Pocket.

> You might visit dozens or hundreds of sites in a week, and it’s okay if some pages get lost in the shuffle

My opinion is it's not okay. Why would it be?

Yeah, I'm now remembering a handful of really frustrating sessions of pouring over my history looking for a now-important resource I didn't bookmark, triple-checking and etc... and it may have not been there in the first place? That's awful.


While I recognize not everyone liked it, I really enjoyed Chrome Bookmark Manager extension[1]. It made it a lot easier for me to sift through my hoarded bookmarks. I switched to Firefox after Quantum because it was noticeably faster, and this style of bookmark management is something I miss from Chrome. I haven't found a Firefox alternative yet.

[1]: https://chrome.google.com/webstore/detail/bookmark-manager/g...

I once accidentally deleted some of my bookmarks because I thought I had disabled sync (which I hadn't). To my surprise, I found out that Firefox maintains a (local) bookmarks history, so I was able to fully restore them. This was really a lifesaver.

While I've never experienced conflict issues with bookmark sync, one pet peeve of mine is how their sync implementation has never supported syncing search engines.

I mean proper OpenSearch support, different from using keyboard bookmarks with %s as a hack, since you actually get proper autocomplete.

In fact that whole situation there is just a mess, no proper way to use sites that implemented OpenSearch from the awesomebar like the Tab to search in chrome's omnibar.

Historically this has been a little tricky to add due to some peculiarities with addons. That shouldn’t be an issue anymore, although I don’t think anybody’s jumping at implementing the bug, presumably since it seems like it will require walking on eggshells to avoid upsetting search contracts (for example, it becomes tricky when you consider that search contracts are by location but users could have devices in multiple locations. There are several other headaches around this too).

We do sync bookmark keywords FWIW, which can be used as a sort of search, but it’s a bit indiscoverable and not the same as syncing settings like your default search engine.

(I work on firefox sync)

I did mention using bookmark keyword searches as hack to get sync, but I'm talking about proper support for syncing user registered OpenSearch[1] providers (and any user configured keyword shortcuts for them)

As of now you can add an OpenSearch[1] provider in Firefox using the javascript api `window.external.AddSearchProvider(engineURL)` where engineURL is the XML file description of the search engine like this one for IMDb search:


This is the method the Mycroft[2] project uses, which Firefox recommends. Chrome though, besides also supporting that API, looks for a search meta tag in a page's head after you visit it liking to the same OpenSearch provider xml

<link rel="search" type="application/opensearchdescription+xml" href="https://m.media-amazon.com/images/G/01/imdb/images/imdbsearc... title="IMDb">

In Chrome, after you visit their home page with that metadata it's registered as a provider so once you start typing Imdb in the omnibox, you see an indication to press 'Tab' in the right corner of the omnibox, and it switches to searching imdb instead. Even providing autocomplete if the search provider supports it.

Firefox could make registering these more discoverable from the UI (adding via a page action as an example at least?)

[1] http://www.opensearch.org/Home [2] http://mycroftproject.com/

I remember using FoxMarks/XMarks [1], started by Mitch Kapoor. I just looked it up and saw it came out in 2006. That made me feel old.

[1] https://en.wikipedia.org/wiki/Xmarks_Sync

Wow, I didn't know that they just shut down this month. I definitely still have the add-on installed in all my browsers, and thought it was still syncing...

Using this post to ask a question about bookmarks sync: does anyone have found a way to periodically sync bookmarks from Firefox/Chrome with Safari?

I use Safari on iOS for obvious reasons and the inability to export the bookmarks I have on my Mac browser to Safari is really annoying. Fun fact: if you have a Windows computer you can do it https://support.apple.com/en-us/HT203519

> I use Safari on iOS for obvious reasons and the inability to export the bookmarks I have on my Mac browser to Safari is really annoying.

What obvious reasons? Why not just use Firefox for iOS instead?

Firefox for iOS is abysmally slow. We're talking 6-10 seconds from cold start to being able to navigate.

One of the main reasons I wanted to use it was to pass pages from desktop to Firefox for iOS, but on top of start time it would take upwards of 20-30s just for the tabs to sync across devices.

It has a slower startup, but seeing as it is one of only 4-5 apps I run on a regular basis, I don't really notice.

What I would notice is constantly having to look up my sync-data like history and passwords from elsewhere because Safari is a walled garden. That would seriously hinder me and slow me down on a quite so regular basis.

Different folks, different strokes, I guess.

> What obvious reasons?

You cannot set another browser as the default one on iOS, that's the main one.

That's annoying when jumping between apps, but it does in no way prevent your from running an alternate browser of your choice for 99% of your browsing needs.

Yes, having to copy-paste URLs from Safari to Firefox sometimes is cumbersome, but it's a million times better than having to use Safari as my main browser.

Because it runs on top of Webkit?

So does Safari, but without bookmark sync with Firefox.

I really hope they improve also tab sync - for some reason it usually doesn't work (or better yet it works but I see tabs from months ago, which is quite useless)

This is literally what switched me back to Chrome on Android. When I want to continue browsing from another device, Chrome is always up to date. With Firefox, they were always at least a few hours out of date, and often up to days. And either there was no way to manually refresh, or it didn't work... can't remember.

This is a feature I use mainly when I've just left my computer but need to continue reading, so the list being up to date is paramount. In a few hours, I'll have moved on or gone back to my desktop.

We sync tabs and history more aggressively than we used to now. Among other times, se do a quick tab sync when you put your laptop to sleep or etc. Still not as aggressive as chrome though, which uses a push-based system, but much improved from the past.

It shouldn’t unless your device is unable to sync for some reason. You may have error logs in one of your firefoxes at about:sync-log. Either way it’s probably worth either filing a bug or asking in #sync in mozilla IRC.

I'd just like to say, as kindly as possible, that this is another thing that drove me away from Firefox. There is so much community support! ...but it's always of the "works here, have you tried rebooting" school of thought.

The classic is deleting your profile, that unique Firefox troubleshooting standby. As if regularly nuking all of your browser personalizations to fix inconsistent bugs is at all acceptable even if it did work.

Yeah, sorry. I worked on tab sync and the debugging process would be involved enough that it’s not practical to do over HN comments. In practice there are a couple concrete things that can cause this, and but all should be reported in about:sync-log.

Not sure how to help more specifically than that.

Yeah, there is an error there, but it's quite... uninformative: ``` 1525534353618 Sync.Resource WARN GET request to https://sync-591-us-west-2.sync.services.mozilla.com/1.5/904... failed: [Exception... "Abort" nsresult: "0x80004004 (NS_ERROR_ABORT)" location: "<unknown>" data: no] No traceback available 1525534353620 Sync.ErrorHandler ERROR Sync encountered an error: [Exception... "Abort" nsresult: "0x80004004 (NS_ERROR_ABORT)" location: "<unknown>" data: no] No traceback available 1525534353622 Sync.SyncScheduler DEBUG Next sync in 3600000 ms. (why=reschedule) 1525534353628 Sync.Service DEBUG Exception calling anonymous function: [Exception... "Abort" nsresult: "0x80004004 (NS_ERROR_ABORT)" location: "<unknown>" data: no] No traceback available ```

Probably bugtrack route will be the best

I'd like to self host my bookmarks and sync them myself across devices, seems impossible and I might end up using cronjobs.

If you mean your own firefox sync then here you go [0] if you mean an actual cross device, cross browser sync then you probably need to write something yourself. It seems like a need for something like this does exist [1]. Maybe a simple sync server and a cross browser plugin? Anyway have a nice day :)

[0] https://github.com/mozilla-services/syncserver

[1] https://news.ycombinator.com/item?id=17072977

I had problems trying to install syncserver in the past, maybe it's worth giving it nother shot - thanks!

I'd rather skip plugins because I'd like to use the default bookmarking function (especially on mobile)

ah the problem was related to the auth server, given Mozilla's attitude towards data I'd rather avoid their system.

I think I'll stick to an hackish backup to my server via scp and Termux - thanks again!

I store my bookmarks in a flat-file, under revision control. Then present them via a simple jQuery-based UI:


Interesting solution, I will give this a try

I wonder if I can implement some sort of version control on Android via Termux

> Thanks to the magic of complex distributed systems, corruption also isn’t stable: inconsistent data can become eventually consistent, and much of Sync relies on this property to work.

Oh boy. The whole article reads like a lesson in over engineering and trying to find the most complex solution. "But it's a really hard problem." - yeah, every problem can be framed in an arbitrarily hard context if you need to supply a group of people with work and resume-includable buzzwords.

Seems more like they used an existing solution that was not quite up to the task. Also had the handicap of not being able to rely on the server due to client-side encryption.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact