Settings

Theme

Show HN: a Chrome extension to see other users browsing the same websites as you

webcursors.click

12 points by halftheopposite 2 years ago · 12 comments · 1 min read

Reader

I was once reading some comments on HN, and someone was talking about a Chrome extension they had made for themselves to write memos/notes on any website they browsed. I thought this was brilliant!

This idea immediately clicked in me, and my first thought was: "Why not make it so others can see your notes as well?". And soon it transformed into something much more complex where users could not only write notes, but also interact directly with other users of the extension through chat, gis, and cursors!

It took me a few weeks, but I was able to read through docs, work on the extension itself (content script and service worker), socket.io, node, build up a website, publish it in the Chrome store.

I've introduced it to my coworkers and a few other devs, and so far, each one of them came up with a different usage for the extension, but loved the idea of adding a social aspect to browsing.

I thought it would be great sharing it with everyone around here and gather feedback from the HN crowd!

ajhai 2 years ago

Congrats on shipping. Looks pretty great! A few years ago I was chatting with a friend of mine about a similar idea. I remember there were a lot of discussions around content moderation and biased nature of comments section of certain news websites around that time. The idea was to come up with a decentralized way to maintain comments indexed by the urls and anyone with a certain chrome extension can participate in these comments section completely unmoderated by the site owners.

Eventually there ought to be some community moderation but the goal was to keep it unbiased. If your project takes off, first thing you will have to deal with is going to be spam.

  • halftheoppositeOP 2 years ago

    Thanks for the compliment!

    Content moderation is a nightmare and I've been working in technical/product fields where this is a daily issue. The first choice was to make everything ephemeral: messages are not stored anywhere, and notes expires after n days. At least this covers some part of the issue, but this is only possible in the short term.

    In the long term, if things go good for this extension, meaning more users and more things to moderate, I will have to introduce downvotes, reports, and most importantly some sort of authentication. That will still not be enough, and eventually I will have to resolve to text moderation APIs or language models (which we already do at work).

    But I hope to stay in a sweet spot with enough users but not too many, and great collaboration! But one can always dream.

Kuzutsukake 2 years ago

I love the idea and it stimulated a few more ideas:

1. For a site with many people active on it, what if you could filter by the link / website that brought them there (eg, there's a popular wikipedia page or article, but somebody might rather talk to the people who came from newsletter or forum X as opposed to newsletter Y)

2. What if you could see where people had been over time? Have a page develop wear over time showcasing the hot spots

dperalta 2 years ago

Well done! I've been planning to build something like this for a while but never had the time.

  • halftheoppositeOP 2 years ago

    Thanks! The hard part was actually understand Chrome extension's lifecycle and communication between the content script, popup, and service worker. What I initially thought was going to be hard, ended up being actually quite easy (cf socket.io).

    Good luck if you ever attempt to build it :)

    • dperalta 2 years ago

      I can imagine, browser extensions are a pain in the butt. Are you planning to open source the code? Did you build everything by yourself or on top of https://liveblocks.io/?

      • halftheoppositeOP 2 years ago

        I was planning on open-sourcing the extension itself, but not the backend for now because of some secrets. But ultimately, my goal is to create a blog post to create a minimal yet functional Chrome extension connected to a backend with socket.io.

        And didn't knew this service existed, so created everything myself so far.

        • dperalta 2 years ago

          Awesome! Like others mentioned here, content moderation plus security is key. Wish you the best of luck!

klntsky 2 years ago

How are you planning to scale it? How are you going to acquire a critical mass of users?

  • halftheoppositeOP 2 years ago

    Hey! So for scaling it should scale quite easily with socket.io room’s implementation with Redis when required, and unless I’m having a hell lot of people on it at the same time it shouldn't be much of an issue given the small footprint.

    For critical mass, this is why I’m developing features that are asynchronous (ex: notes) or app wide (ex: games that you can join with other users online no matter the website or page you're on).

ellis0n 2 years ago

Cool ext. Two critical notes:

- edit or delete note

- long text looks like 'text bla-bl...'

  • halftheoppositeOP 2 years ago

    Hey thanks!

    Editing/deleting notes would require some sort of authentication for the backend to recognise ownership of the notes, but this could be a great incentive toward pushing users to sign up for the tool.

    Will definitely look at scaling down font size for longer text (it should already be the case though but doesn't work well with long words or URLs).

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection