4 ms·
I've seen something like this attempted before. It suffered from this problem: A <---> B <---> C A and B are 1 mile apart. B and C are 1 mile apart. B can see
by nilkn 13y ago
I've seen something like this attempted before. It suffered from this problem:
A <---> B <---> C
A and B are 1 mile apart. B and C are 1 mile apart. B can see what both A and C say, but A can't see what C says to B and hence will see out-of-context messages from B.
It looks like Kiwichat attempts to solve this by having dedicated chatrooms rather than just phasing people in and out of visibility to each other based exclusively on proximity, though I'm curious what happens when you physically leave the coverage area for a chatroom.
- m3mnoch 13y agoi was coming here to make this exact remark along with suggesting more of a coverage map approach. meaning, "1 mile radius" seems pretty arbitrary, so why not just grab a square mile of real estate based on lat/long? you could do all kinds of localized things with social venues that way -- local events, restaurants, concerts, etc.
- dllthomas 13y ago"I'm curious what happens when you physically leave the coverage area for a chatroom." On the desktop anyway, it just trusts that I am where I say I am.
- tomd3v 13y ago>though I'm curious what happens when you physically leave the coverage area for a chatroom. At the moment, nothing happens, user stays in a group chat.
- parkaboy 13y agoWhatever Kiwichat does aside, one possible solution is to not make visibility a function of radius, but to do a simple slowly time-varying cluster analysis on the fly. Something like a 2-d K-Means (input just being lat/lon points of users), where you periodically update the number of clusters as a function of the total number of users, or something. The challenge that would arise by doing this, would be the scenario where you have a low population density, where you'd get user-groups that aren't super localized (e.g. if you tried this in Montana...). Might not be an actual problem, though.
- nilkn 13y agoA live updating DBSCAN approach might also work. It would sort of break in the case of dense and uniform usage across the entire map (in which case there would be just one cluster), but otherwise might work well.
- michaelfeathers 13y agoTo me, one of the toughest lessons in engineering is that you don't have to solve all problems. Imagine holding up the release of the first text messaging system until the problem of dropped texts had been solved. In the distant past, there was a chat system that had the A <--> B <--> C distance problem. People used it and were very happy with it despite that limitation. It was called CB Radio.
- gmu3 13y agoIn the even more distant past, you would sometimes encounter this problem when using your vocal cords in a noisy environment.
- plaguuuuuu 13y agoAn interesting way might be to slowly grey out messages when they approach the threshold and allow users to increase their radius (by either a small or totally arbitrary amount) also the grey amount would be updated in real time if the user is say, travelling on a bus. so messages can change greyness dynamically.