Show HN: Ampie – See HN or Twitter discussions mentioning the page you are on
ampie.app
ampie.app
Here is a 2min demo video of what it can do right now: https://twitter.com/posobin/status/1443269542323658753
I've been working on it for the past 1.5 years now, and there have been a bunch of features over that time, but now I am trying to simplify it and see if people like it if it is condensed to its essence. Give it a try and tell me what you think =)
Added bonus that this won't track every website I visit.
But as I said elsewhere, in my experience I rarely use it myself since that requires a bit of effort to click and with an unknown reward it rarely seems worth the click.
I didn't love that the plugin is automatically active on every page I open; I was expecting that it would be a button in the toolbar that I could click at my leisure to see what discussion of a particularly interesting article was. I really do love the Twitter integration with people who you follow, but again, I wish it was kind of an on-demand plugin, or maybe just a site I could go to at my leisure and input a URL to see a nice big display of all the discussions about something specific.
I'll be turning it off for now as I'm already prone to too many distractions, but I might toggle it on sometime if I want to deep dive on something and see others' comments about it.
Thanks for building Ampie!
Thank you for trying it out and sharing feedback!
To riff on what metabeard suggested, another configuration option that could be presented to the user might be something like "domain-specific preferences for always-on or on-demand" so that certain websites are always excluded/always excluded.
-Will
Would love to hear about your experience if you do use it!
Even though I never mess with it, I find I'm generally aware when there's a badge on my adblocker. I believe that'd be enough to remind people to click it. The heuristics should be strict enough not to light up all the time, or maybe even support user-defined filters for advanced users.
After a while it's possible they'll subconsciously think about Ampie — and the dull badge will still convey "yeah, there's some discussion, check it out."
ps. I say separate extension because I'd be wary of giving it access to all sites and data, which I guess would be required if that was only a setting?
Feedback: I’ve already added meet.google.com, calendar.google.com and a few other web apps. And I foresee having to add a LOT more of these to the disable list.
From UX perspective I’d suggest fleshing this list out. And if possible, find an automated way to generate a list of web app subdomains/urls and disabling them all.
I can see this list getting very long, very quick.
I would honestly prefer paying for it, perhaps with a cut-down free version (perhaps using cached data only?) without sign-up to try it out, so one day you can work on it comfortably and doesn't require commitment for me to try out.
However I'm sure you'll refine it in the years to come considering how well you've done so far. Keep up the good work!
HOWEVER,
3 things I noticed:
- Why do I need to register?
- Why cannot I disable twitter? I don't want to see twitter recommendations.
- It is incompatible with dark mode extensions because the css is somehow not inverted correctly (not sure how much you can do about that).
Thanks for the feedback, disabling twitter is in the plans! Which dark mode extensions are you using?
It seems like it ought to be possible to do some or most of this functionality with more restrictive permissions.
It's basically "too good": an extension so convenient that I can't imagine living without it.
One idea is to install the extension, unpack it, change the permission manifest, then "install unpacked." I did this when I fixed the netflix auto-skip extension (always skips intros and outros; saved me hours of Star Trek outro pain): https://github.com/shawwn/netflix-skip
But I suspect that if you turn off those permissions for this extension, you'll just see it break, since it does need the ability to read data on the current site to then pull up twitter conversations about the site.
It's a shame that "examine current url" isn't a separate permission from "modify all data on the site" though. And that read/write permissions aren't separate. I'd be much more inclined to let extensions read all sites I visit.
You can see the actual permissions that ampie needs here: https://github.com/posobin/ampie/blob/master/build/manifest....
webNavigation together with tabs is needed to detect page URL changes correctly and update the sidebar (I don't remember exactly, but I think the main problem were pages that use history api to update the URL), storage is for localStorage to store extension settings, cookies to read/change cookies (limited to "https://ampie.s3.amazonaws.com/", "https://hacker-news.firebaseio.com/", "https://*.ampie.app/", to be able to get your auth token for ampie not to log in twice), unlimitedStorage was used previously because the caches of links stored were much more than the 5mb that is the default indexedDB limit. The caches are not used anymore, but I kept the permission so far because I am thinking of adding functionality for storing and visualizing your browsing history.
I am not sure what you would want to disable here.
If an extension includes content script that runs on all websites, then it can't avoid having the "read and change all your data on all websites": content script is JS code from an extension that runs on web pages, it can access the DOM and send requests. Ampie needs to run the content script on all pages to be able to add the sidebar. The other option is to run the content script on clicking the extension icon: as I mentioned elsewhere, while this approach might sound appealing in theory, the extension turns out to be much less useful this way as you simply forget/don't bother to click it and miss out on some interesting discussions.
But to play the pesky devil's advocate: you can make the extension consist entirely of a button on your Chrome bar, which you click on to see a popup containing the content that would normally be injected into the page itself. Thus, it wouldn't need any page permissions.
You can even show the number of tweets by displaying the number on the icon.
This is weird to me, I always listen to credits music. It gives me a calm moment to reflect on what I just watched. I don't like the modern trend of smushing everything together into "binges".
TNG be like "DA, DADADA, DADADAAAAaaaa...."
Many years ago, my reaction could be described as https://www.youtube.com/watch?v=4JSp0BJ49hg&ab_channel=Ryan%...
Nowadays it's more like https://youtu.be/3rYMykaNW6s?t=58
(More seriously, I listen to Star Trek to fall asleep, and the TNG outro and intro music was a little too jarring.)
> I just wish the extension didn't require permission to "read and change all your data on all websites".
There's a real problem with extensions not being able to ask for more granular permissions. I run an extension that's a web crawler that needs to fetch cookie-less arbitrary URLs within its own tab (i.e. it doesn't observe or interact with anything outside of this) and there's no other permission that allows this.
However, it was a bit of a annoyance because (I cannot remember exactly) usually I would find some really generic links at the top and the UI scrolling was not very pleasant. In general I felt like finding new discussions/ content that I would like required a couple of clicks/ interactions. I wished it was more effortless and kinda passive to stumble upon interesting stuff.
I disabled the extension when it started asking for new permissions, thinking I need to configure it so that it is never activated on sensitive pages like my bank's site.
I am going to give it another try now. Wishing all the best to Ampie's development.
There are other extensions that provide just the commenting part (e.g. https://web.hypothes.is/, https://curius.app/, https://glasp.co/), but I find that they suffer from the cold start problem, i.e. it's rare to stumble upon comments for a page you go to.
I have actually seen your extension when I was trying to figure out how to get started with making one in cljs. I've used shadow-cljs though instead of figwheel.
yes
I do collect some telemetry statistics (right now the number of times you have seen the sidebar + the number of times you clicked/scrolled/closed it), aggregated hourly.
I installed your extension, which is a pretty big investment in your product as a user. Uninstalled it at this point.
There are two problems with this: first, the cache had to be large, several hundreds of megabytes, because there are a lot of links (~200k from HN, and each person I follow on average tweeted 1k links among the last 3k tweets that twitter lets me access) and indexeddb is not memory-efficient. Second, this is easy to miss, and those numbers alone don't give enough information to go through the effort of clicking there every time. And this doesn't include the backlinks and HN comments mentions (fun fact: there are about 4m URLs mentioned in HN comments), so you'd miss out on a lot of stuff. You could suggest Bloom filters as caches, but that is a bad solution since now you only can show if there is a hit or not (instead of two numbers), but also there are false positives so the sidebar is not reliable anymore, and given that you go to hundreds of URLs a day, the FP rate has to be really low which makes the cache really large. Maybe using something like https://jlongster.com/future-sql-web would have reduced the memory usage, but at that point I gave up on that approach already.
Given how technically hard it was to maintain those caches of links (they had to be updated incrementally, for example, not to send hundreds of MB every time they were recomputed, you had to wait to download the cache after installing ampie), the fact that most of the friends I have talked to didn't mind if the request was sent on every URL visit (as long as I promised not to save it), and the fact that this made the sidebar less fun, I decided to remove those caches and just send the URL to the server on every visit.
So yes, every URL you go to is sent to the ampie server, but I do not save the URLs sent to the server, and if ampie is disabled on a domain (you can disable it on a domain in the settings), it will not request information about pages on that domain at all.
Recently removed extension, it was occupying quite a bit of screen and am not discovering new pages anymore so
Btw here's mine: https://ampie.app/siddish