Rendered at 16:24:46 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
canary-digital 1 days ago [-]
This is a wonderfully elegant use of Service Workers. Intercepting the request at the browser level to do instant local routing instead of waiting for a round-trip to the search provider is one of those 'why didn't I think of that' hacks.
Quick question on the implementation: How are you managing the storage and lookup for the 14,000+ bangs? Are they just bundled as a static JSON in the SW payload, and does that have any noticeable impact on the browser's memory footprint when the Service Worker activates?
t3ntxcles 23 hours ago [-]
[dead]
Sayrus 2 days ago [-]
I always found redirects to be wasteful on mobile connections where latency and packet losses are frequent.
Interestingly Firefox, I get latency that are way worse than Chromium (Median 0.46ms vs 1.2ms, P99 1.3ms vs 1.8ms).
t3ntxcles 1 days ago [-]
Yes, I agree, thanks for testing on Firefox. I use Zen on a daily basis, it is Firefox based and my result is also interestingly around (0.56ms median, 0.59ms mean, 0.78ms P95, 0.94ms p99, min 0.48ms, max 1.3ms) for prefix bangs. I think that the differences come in how each browser may have implemented SW. On benchmarking suite specifically the tail can also come from scheduling, IPC, extensions, timer precision, or other browser work
sunnybeetroot 24 hours ago [-]
Wow this is excellent, I wish bangs were part of the web spec and all browsers supported it client side. It could work like unlock origin and its filter lists so the websites aren’t coupled and instead are dynamic.
t3ntxcles 23 hours ago [-]
Exactly, there’s so much potential beyond search. Bangs could act as general browser-side shortcuts to deep links, so something like !ghsettings could take you directly to GitHub’s settings instead of making you do this manual navigation through the site you are visiting
t3ntxcles 23 hours ago [-]
It would also be cool if such bang lists were supported by websites officially, allowing a fast navigation
Quick question on the implementation: How are you managing the storage and lookup for the 14,000+ bangs? Are they just bundled as a static JSON in the SW payload, and does that have any noticeable impact on the browser's memory footprint when the Service Worker activates?
Interestingly Firefox, I get latency that are way worse than Chromium (Median 0.46ms vs 1.2ms, P99 1.3ms vs 1.8ms).