Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Ampie – See HN or Twitter discussions mentioning the page you are on (ampie.app)
194 points by posobin on Sept 29, 2021 | hide | past | favorite | 81 comments



Hi HN! Ampie is an extension that lets you discover backlinks to the page you are reading: either from HN, tweets, or blog posts that ampie scraped. It's been unexpectedly useful for myself: finding alternatives to libraries or apps I was going to use, see reviews for books, discover related blog posts or talks. I think of it as an assistant that helps you find connections you wouldn't have found otherwise.

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 =)


Shameless plug. I've built something similar at https://discussions.xojoc.pw/ It returns the discussions on Hacker News, Reddit and Lobsters. In the future I'll also add Lambda The Ultimate and Less Wrong. But intead of an extension you can use a bookmarklet.


Thanks! I have been looking for something like this, particularly for youtube videos.

Added bonus that this won't track every website I visit.


Actually, ampie also has a bookmarklet that you can add at https://ampie.app/url-context!

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.


It’s down. Caprover?


I love the idea. I like the concept of the name, a fun shortening/nickname for "Ampersand", which in this function also makes me think of the "Yes, And" concept from improv comedy. For me as a user, the drawback to the name "Ampie" is that it also makes me think of Google AMP, which certainly isn't my favorite thing lol :)

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.


It pops up the first two times you go to a domain or a URL that has mentions, so it should stop bothering you after a little bit of usage. I do hear you though, several people brought this up. The problem with making it a button is that people forget to click it (me included), and most of the interesting connections go unnoticed this way. If you have ideas how to make this better, please tell me!


How about opt-out instead. A button to disable it on a domain. Its very non-intrusive otherwise but I'd still like the option to disable thing. (I also sent this suggestion as a note from the bottom of the extension)

Thanks for building Ampie!


As I said in email, you only see the sidebar two times per domain (unless there are mentions of the particular URL you are on, then two times on that URL). You can also disable ampie on a domain completely by going into settings: click on the ampie icon in the extension toolbar, and you can add blocked domains there. URLs from those domains won't get sent to the server to be checked, and the sidebar won't pop up.

Thank you for trying it out and sharing feedback!


One thing that comes to mind is an option to toggle it to operate either in "always-on sidebar" or "on-demand plugin button" mode.

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


To use it as a button, you can try the bookmarklet: https://ampie.app/url-context

Would love to hear about your experience if you do use it!


Have you thought about a separate extension that just has a toolbar button that is mostly in a dull inactive state with a grayscale badge, but when there's enough discussion on a page, it both lights up and has an obnoxiously colorful number?

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?


I don't use twitter, but would love to see related reddit threads.


https://epiverse.co/ shows HN and Reddit discussions for the page you are on.


Hey! I built https://discussions.xojoc.pw/ just for that. It also has a bookmarklet to search for Reddit threads for the page you're visiting.


Kiwi Conversations is an extension that does it, I use it all the time.


Years ago I had found an extension that did this. Can't remember the name, but I loved it until a reddit API change broke it, and the dev had seemingly disappeared.


Cool app. Installed and been using today.

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.


Yeah after reading all the comments like this I thought maybe I should just take the top 1000 most popular websites and not show it by default on them.


Yea, or the crowdsourced solution where you hide all websites that were hidden by < n users.


Just to offset the negative comments on here, I think what you did is great! I don't think people appreciate the 1.5 years of individual effort you put into this and the demo looks like something I would find genuinely very useful. This clearly has lots of potential!

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!


Thank you for the kind words! Yeah, I haven't thought about a no-sign-up version, might do something like that.


With additional controls/customizations in place I'd gladly pay to keep it ad-free and not have the data sold.


What kind of controls/customizations would you like?


Hey, I think it is a fantastic idea! And I am really excited which blogs I will discover with this.

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).


Yeah, why do I need to signup. Installed the extension, but thinking of uninstalling it because I can't be bothered to sign up.


You need to sign up to prevent the api abuse.

Thanks for the feedback, disabling twitter is in the plans! Which dark mode extensions are you using?


I love the idea. I just wish the extension didn't require permission to "read and change all your data on all websites". I severely restrict the number of extensions I install with that permission. If any one of them is sold to unscrupulous people, or has a vulnerability, or just has their developer account hijacked, the extension can be silently updated to do anything, including for example stealing all of my money, or taking over any online account I use. It's a really scary permission when combined with silent automatic background updates.

It seems like it ought to be possible to do some or most of this functionality with more restrictive permissions.


I gave up this fight back when I realized Twitch Now requires this permission, and that there are no other good extensions to show your twitch feed. https://i.imgur.com/d92BWVW.png

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.


I believe that the "tabs" permission does allow you to read the current URL without granting the ability to modify the page. It's also possible that some of the functionality could be built with the chrome.declarativeContent API or other alternatives. I'm sure there are features that would be impacted, and I doubt that most users would understand or care about the reduced permissions. But I would.


The main thing is that the extension would still have to be able to run its JS on any page to be able to show the interactive sidebar. Not sure there is a way around that, unless chrome decides to implement the sidebar api that firefox has (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...), then the sidebar code doesn't have to run in the same context as the page.


For ampie you can just get its source, modify the manifest file, and build it yourself, no need to bother with repackaging: https://github.com/posobin/ampie

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.


FWIW, I'm sympathetic and I think your extension is fine.

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.


>saved me hours of Star Trek outro pain

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".


DS9, yes. Voyager, yes.

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.)


A tip: In Chrome, you can create a new Chrome user profile and install extensions into there that will be isolated from your regular browsing e.g. do your email and banking with one profile, and do your web development work in another profile with tens of developer extensions installed there.

> 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.


I use https://epiverse.co/ to see HN and Reddit discussions for the page I am on. This is a great addition to that.


Great extension and idea, but I had to remove the moment I saw you needed to sign up. Hopefully there will be an anon version in the future. Happy to donate if it's about $.


Did anyone else find the layout of the landing page visually overwhelming, and hard to follow?


It was a little hard to follow but I thought it had a lot more charm than a lot of sites I see.


Thanks! My intent definitely was to make it a little bit chaotic =) I will try to figure out how to make it a bit easier to follow, heard some advice to space it out a bit possibly.


I think padding and font size would do a lot.


Awesome! I've always wanted something like this to exist. Thanks for building it <3


I just hope there won't be too much of a performance impact on my browser or the page load times


IIUC the content scripts that extensions use load after the page is loaded, so this shouldn't affect page load times. But please reach out if you feel like it does!


Most pages these days still do a lot of additional loading after "page load", so you're still going to be delaying that unless you take special pains to wait until all other JavaScript activity has died down.


I was using Ampie last year when it first came up and was more or less enjoying it.

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.


This is great, it'd be amazing if there was a place to comment on directly about the page using this extension or otherwise a central database where all discussion about a URL exists beyond the control of the page itself.


You actually can amplify the page and add a comment! Other ampie users will see that you've been there and the comment, and you can see the list of amplified links of other people, e.g. mine: https://ampie.app/posobin Though you can't respond to others comments for now, but thank you for voicing the interest in that!

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.


You could add those to Ampie. (I say, as if that isn't something you haven't thought of.)


Sorry, what do you mean by "those"? Add comment threads to ampie, or integrate comments from other services into ampie?


It's funny how every now and then an extension like this comes up on HN. Nice execution, I like your homepage too. I wrote a comparable extension with a similar vision about 5 years ago (with Clojurescript): https://jazzytomato.com/hnlookup-chrome-extension-clojurescr...


Ampie is written in clojurescript as well! https://github.com/posobin/ampie

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.


Odd... it doesn't seem to show me HN links for the current page, at all. I tried it on a few top HN linked articles, and Ampie shows me only other pages on the domain, but not for the page in question. I had tweets show up for a few pages, but never the HN discussion (the 'other pages on the domain' do have tweets & HN links as expected)


Yeah there is some lag in the indexing, I do scrape all the HN submissions but like once a week (it's in plans to make this immediate but haven't gotten around to it yet). Just to make sure, if you go to one of those other pages on the same domain, do you see the the HN threads/comments in the sidebar on that page?


> if you go to one of those other pages on the same domain, do you see the the HN threads/comments in the sidebar on that page?

yes


Ok yeah that's just the indexing. I am using the bigquery HN dump to index, but using their free quota I can go through the archive only ~once a week. Ideally ampie would just go through the new submissions regularly using the HN api, but I haven't built that yet.


Similar extension for Hacker News discussions - https://github.com/pinoceniccola/what-hn-says-webext


Beautiful! I have a soft spot for meta stuff like this, a vine climbing up a tree. I'm not a fan of browser extensions though, shit gets clogged up.


You can use it as a bookmarklet instead if you go to https://ampie.app/url-context!


I'm quite interested in seeing this extension limited to HN and Twitter and with Reddit and Facebook.


Why does it require sign up though?…


Why is it free at all? This should be charging money for the service from day one. Maintaining addons isn’t a charity.


I'd rather they be transparent with the data they collect.


Yeah, I will write it down on the website. As I mentioned below (https://news.ycombinator.com/item?id=28700703), I do not store the URLs that you go to (though of course you have to trust me on that), and as all the processing is done on the server, that URL doesn't get sent to any external APIs (though if I go through with adding reddit I might need to send it to the reddit API).

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.


> First, please sign up at ampie.app

I installed your extension, which is a pretty big investment in your product as a user. Uninstalled it at this point.


Sorry about that =( This is done in part to prevent abuse of the api, since all the requests are processed on my server and not offloaded to e.g. algolia.


Are all URLs I visit sent to your server? Or is there a way I can see related HN/Twitter comments only on a button click when I choose so?


How else could it work, if not in that manner?


Actually Ampie used to work differently: Ampie would store the local cache of links from your twitter feed and links submitted to HN, and check against it when you went to any web page. If there were hits, it would show a small tab in the bottom right corner, showing that there are N tweets, M HN submissions with this page. Then you could click on the tab and the sidebar would pop up, so no requests were sent until you actually clicked on the tab.

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.


Thank you for the clear writeup. I wasn't able to find any link on the Ampie homepage that would have let me know your intentions regarding user-submitted data lookups. If that's not yet present, I encourage adding something about that.


Yes, I will add that, great point!


Plus connecting twitter account


That is needed to see the tweets mentioning the page, but it is not required to use Ampie. This is done because twitter api is very limiting otherwise.


Makes sense, thanks for the answer.


It uses your user's Twitter account to make queries to avoid rate limits. Very normal. Also works really nicely.


I amplified >500 links, am a huge fun. An undocumented use case is keeping up with that posobin is reading by following https://ampie.app/posobin :P


500!? Wow! Can you share your profile, so I can find cool links across internet?

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


How does it work ? Are you just scraping ?


innovative! well done.


It's amazing, first I wasn't sure why I need to register, but very well worth it! Good job




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: