매칭이 됐는데 대화가 흐지부지 끝난 경험, 다들 있으실 겁니다. 화면 안에서만 오가는 관계는 생각보다 쉽게 식습니다. 바운스가 근접 알림을 만든 이유가 여기 있습니다. 두 사람이 실제로 같은 공간에 있다는 사실을 앱이 알려 주면, 관계가 화면 밖으로 나올 계기가 하나 생깁니다.
100m부터 시작합니다
매칭된 사람이 내 주변 100m 안에 들어오면 푸시 알림이 한 번 옵니다. 여기까지는 진동이 없습니다. 그저 “근처에 있어요” 정도의 신호입니다.
거리가 더 좁혀지면 그때부터 폰이 떨기 시작합니다. 50m · 40m · 30m · 20m · 10m · 5m · 2m — 일곱 단계로 나뉘어 있고, 가까워질수록 진동이 길어지고 자주 옵니다.
50m에서는 12초에 한 번, 0.12초 정도 짧게 톡 하고 떱니다. 20m 구간에 들어서면 0.35초짜리 진동이 세 번씩 4초 간격으로 반복되고, 10m 안이면 0.5초씩 2.5초마다 옵니다. 2m 안 — 사실상 눈앞입니다 — 에서는 0.9초짜리 진동이 네 번, 1초마다 되풀이됩니다.
왜 ‘세기’가 아니라 ‘길이’인가
브라우저의 진동 API는 세기를 지정할 수 없습니다. 떨거나 안 떨거나 둘 중 하나입니다. 그래서 바운스는 “점점 세게”를 진동의 길이 · 반복 횟수 · 반복 주기 세 가지로 표현합니다. 결과적으로 손에 전해지는 느낌은 정말 점점 강해집니다. 제약을 우회한 게 아니라, 제약에 맞춰 설계를 다시 짠 쪽에 가깝습니다.
‘둥—’ : 만남의 순간을 위한 진동
서로 호감이 오간 두 사람이 3m 안에서 만나면, 위의 사다리를 전부 덮어쓰고 전용 진동 하나가 재생됩니다.
둥——— · 쉼 · 둥— · 쉼 · 둥
3.5초마다 천천히 반복
일반 단계가 빠르게 몰아치는 ‘경보’에 가깝다면, 이쪽은 반대입니다. 한 번을 아주 길게 울리고 여운을 남긴 뒤 천천히 되풀이합니다. 종소리에 가깝게 만든 건 의도한 것입니다. 주머니 안에 있어도, 다른 알림과 구별됩니다.
켜고 끄는 건 사용자 몫입니다
근접 알림은 위치 정보와 알림 권한에 동의해야 동작합니다. 동의하지 않아도 스와이프와 카드목록은 그대로 쓸 수 있고, 알림 설정은 언제든 되돌릴 수 있습니다. 그리고 이 기능은 매칭된 사이에서만 동작합니다. 아직 서로 호감이 오가지 않은 사람에게 내 위치가 알려지는 일은 없습니다.