Settings

Theme

Show HN: Camp Fire – chat with people within a radius

campfire.rest

151 points by nemasu 6 years ago · 80 comments

Reader

nemasuOP 6 years ago

Just thought I'd share something I've been working on. Basically it's a message relay that sends messages to others around you (given GPS coordinates from browser). Can choose range from "Range" pull down near top left (hover over options for approximate distances). Back end is written in Rust.

  • orobinson 6 years ago

    Neat idea. Little bit of feedback: would be good if you could get the interface working nicely on mobile. It’s very cumbersome at the moment.

    • nemasuOP 6 years ago

      Yes! This is top priority at the moment, I'm eyeing mobile twitch chat style, simpler, more compact, less bubbly.

  • wycy 6 years ago

    Coincidentally, years ago I had an idea for an app like this and I was going to call it "Bonfire". Aside from an inquiry with the owners of the bonfire.com domain name as to their interest in selling, I never went anywhere with the idea.

  • mod 6 years ago

    How does it work when you would be alone in a given range?

    Because I almost certainly am at "Bonfire" range (there are maybe a few hundred people within 10km of me), yet I am seeing messages.

    • nemasuOP 6 years ago

      Check the box beside the range selection to lock yourself in that range

  • mirimir 6 years ago

    Cool! It seems to work well, and respects with no hassle my IP-based location.

CGamesPlay 6 years ago

There are 4 people chatting with the word "ignition" over their messages but my range selector (presently "campfire") says "1 in range".

Also, my preferred username, <span style="float: right">~ry, causes some weird layout issues.

neillyons 6 years ago

With the advent of wifi on airplanes, I made a similar thing called "flight roulette". Inspiration was from chat roulette except instead of matching you to people randomly it would you to people directly below you on the ground as you flew over.

patrickvmm 6 years ago

This is fun. In europe we have jodel which has a big userbase. The quality of discussion varies from location and it's fun to listen in what the locals are talking about.

andreareina 6 years ago

I also got a geolocation error even though I allowed location access. Could benefit from allowing the user to set a location as a fallback (or override). FF 72 (Ubuntu)

  • nannal 6 years ago

    Same FF 72 ((I use) Arch (btw)) & chromium 79

  • markdown 6 years ago

    > Could benefit from allowing the user to set a location

    VPN users need this.

  • davidajackson 6 years ago

    I think this would be useful for privacy reasons as well.

    • yellowapple 6 years ago

      And also for "goddamn geoIP database thinks I'm Canadian even though I'm in the US" reasons.

      True story, that one. Threw wrenches in a bunch of random things, like Newegg and Spotify. Apparently I wasn't the only one in my town with that issue.

PawelDecowski 6 years ago

I get:

    Error when getting location: 1 User denied geolocation prompt
even though I allowed location access.

Firefox 72.0.2 on macOS Mojave 10.14.6

californical 6 years ago

This is a really cool idea, and I like it so far!! -- would you mind sharing what the different ranges are for each type? I see people chatting, but not sure how close they are to me... Within 10 miles radius? 100?

Edit: I'm on mobile, it seems like maybe it shows on desktop. I'd check but I'm laying in bed haha. Regardless, I really like this idea. Seems like a good way to maybe even meet my neighbors since I moved across the country recently

every_other 6 years ago

This is cool! I had been thinking about creating something similar but I couldn't solve this problem:

Given a radius of 5 miles and three users in a geographic straight line, each 4 miles from each other. User 1 and user 2 are in the same radius, user 2 and three are in the same radius but user 1 and 3 are not in the same radius. Therefor user 1 and 3 will only see "half" the conversation (which would obviously be confusing). Do you solve for this problem? if so, how?

  • unoti 6 years ago

    An idea of how to solve that problem: connect a user to the closest person if there is nobody in their radius. Use Disjoint Sets to sort of glom people together like pieces of cereal in milk. Everybody in the same glob can hear each other.

  • michaelt 6 years ago

    You could divide the country into segments, and a person gets to talk to everyone in their segment.

    Obviously, you'd want smaller segments in areas with a high user density, and larger segments in areas with low user density.

    You could generate segments with something like EM clustering. You probably wouldn't want continuous segment recalculation, or two people could be split mid-conversation when neither of them had moved.

  • nemasuOP 6 years ago

    Nope, they would need to increase radius.

thejosh 6 years ago

Reminds me of yikyak :)

Udo 6 years ago

I think the concept is neat, and this could be a worthwhile mode for some chat apps. I would get rid of the cute range names though and just tell users how many km this reaches.

I remember there was a project exactly like this in nReduce (a communal online incubator which sadly died quickly), a few years back.

state_less 6 years ago

Looks neat! I like that you show how many are in range. Here's some suggestions, take them for what they are worth.

- Fix the layout on iOS Safari.

- Show the location of all current users (with opt out) on a globe. Users can see where the activity is and who is chatting where.

- Consider adding ignore to squelch certain users.

- Show past messages for your area.

- Add voice messages and autoplay (with opt out)

easytiger 6 years ago

Wasn't Camp Fire the name of a 37 Signals chat product they later merged into bootcamp? Rings a bell

SeasonalEnnui 6 years ago

I have experience with VHF radio emulation, so I wanted to ask what formula you're using for ranging?

I've found the haversine formula to be a robust compromise between accuracy and computational complexity, where on a typical day, I'm doing 5000-200000 haversine calculations a second.

fladd 6 years ago

Not sure what it is supposed to do, but currently it does:

    - Ask for location access
    - When granted ask for a user name
    - When given a username show:
      ? in range
      Error: undefind
  • nemasuOP 6 years ago

    I ran into this problem too, I just refreshed and it would eventually connect. Not sure what exactly is breaking.

thedingwing 6 years ago

This reminds me of the Twinkle iOS app by Tapulous. It worked a lot like Twitter, except you only saw posts from within a certain radius. There's now an unrelated dating app of the same name; I can only find this about the original https://www.youtube.com/watch?v=Dd4u-E5qmxE

Angostura 6 years ago

On iPhone Safari (cellular data) I get Error when getting location - 1 user denied)

Even when I set the website permnissions for location to 'Allow'

soylentcola 6 years ago

For a second I got this confused with Firechat (but I guess that's a different setup since proximity is required for direct p2p relay, not just to find people to chat with).

https://www.opengarden.com/firechat/

theveloped 6 years ago

Great job on releasing the project!

Had a similar iOS app years ago that would make chat groups with everyone in a 1km radius [1]. In the end our largest hurdle was getting enough users together per location.

1: http://www.zonemessenger.com/

  • nemasuOP 6 years ago

    Thanks. I made something similar a while ago myself called Shoutium, basically the same thing. More simpler this time around tho. Users are always difficult to get, this too will probably also fizzle out.

    • thevelop 6 years ago

      All the best of luck with Shoutium! I still love the concept of a local messaging app and it was great fun in active areas. But like you said getting the critical mass required is always tough.

splittydev 6 years ago

It's very easy to impersonate another user right now by just using the same name. It would be great if the first 5 chars of a hashed IP fingerprint (or something similar) could be shown next to the name as a kind of ID to prevent that kinda thing from happening.

  • nemasuOP 6 years ago

    Yeah I'll probably add something like a unique number at the end of username.

paulgpetty 6 years ago

There still is — for legacy users — Campfire at 37 Signals (home of Basecamp): https://basecamp.com/retired/campfire

derangedHorse 6 years ago

You might want to make 'message-text' have relative positioning, and 'range-display' absolutely positioned so 'ignition' or 'bonfire' isn't hovering over the text box.

laurensr 6 years ago

Kinda reminds me of Grindr, except for the different target audience ;)

_bxg1 6 years ago

I understand that it's a work in progress, but I could see a polished, native mobile version of this really taking off. I'd be excited to try it, at least.

maury91 6 years ago

I tried firestorm (1000KM radius) and I'm alone, seems I'm the only Italian user

kart23 6 years ago

pretty cool. I found someone who lives ~15 minutes away from me.

einpoklum 6 years ago

Nobody in range, even if I increase the range.

ensozos 6 years ago

Try to do something with spam messages

  • nemasuOP 6 years ago

    Will add throttling. But going to bed now, will try to do it tomorrow. Might be unpleasant in there for a bit -_-

achow 6 years ago

I logged in..

Started getting only spam. Logged out.

  • nemasuOP 6 years ago

    Yeah, I need to figure out a way to mitigate this. For now lowering range and locking it works.

happppy 6 years ago

what are you using for backend and real time connections?

dingle3 6 years ago

damn. death by balls of steel.

  • nemasuOP 6 years ago

    Yeah, I need to add throttling. That being said server didn't crash, handling it quite well.

draugadrotten 6 years ago

Location based chatting is a privacy nightmare. How do you protect against stalkers using this tool for triangulating the actual physical location of someone?

If the GPS coordinatates are client-generated, then it would be possible to spoof the coordinates and generate a search pattern rather quickly.

Competition like grindr and badoo try to randomize the distances.

  • nemasuOP 6 years ago

    I truncate the GPS data server side, it's a bit over 1KM accurate.

Keyboard Shortcuts

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