어떻게 필터링하여 어떤 순서로 피드를 나열할 것인가?
*다음 아티클을 번역 및 가공한 내용입니다.
https://medium.com/banterpods/append-only-feeds-55d83b2c9f4d#5f0d
저는 몇 주 동안 트위터에서 일했지만 사람들이 트위터를 사용하는 이유를 여전히 이해하지 못했습니다. 저는 대부분의 시간을 안정적인 연결이 없는 국가에서 제대로 작동하는지 확인하기 위해 앱의 네트워킹 층에서 보냈습니다. 따라서 트위터를 사용하는 것이 꼭 필요한 것은 아니었고, 단지 트위터를 더 신뢰할 수 있게 만들어야만 했습니다.
그래도 저는 Reddit과 Hacker News를 좋아했습니다. 나는 그 시점에서 거의 10년 동안 그것들을 사용했고 둘 다 세심하게 확인했습니다. 트위터에서 해커톤이 다가왔을 때 저는 한 가지 형태의 소셜 뉴스 큐레이션을 즐기지만 다른 형태와는 잘 연결되지 않는 이유를 평가하기로 결정했습니다.
Twitter를 개선할 수 있는 내용을 Reddit에서 배울 수 있을까요? 그리고 왜 사람들은 Twitter, Facebook, Instagram에서는 역순 피드를 선호하는 반면 Reddit 및 Hacker News와 같은 사이트에서는 새로 고칠 때마다 순서가 완전히 바뀔 수 있는 피드를 선호하는 것일까요? 이상적인 피드를 디자인할 수 있다면 어떤 모습일까요?
제가 탐구한 차이점과, 트위터의 새로운 사용자로서 제가 발견한 주요 장애물은 각 사이트의 콘텐츠가 어디에서 왔는지를 중심으로 이루어졌습니다. 그들은 콘텐츠를 소싱하기 위해 매우 다른 메커니즘을 사용합니다. 머신 러닝 앙상블과 유사하게, 세밀하게 조정되고 신뢰도가 높은 몇 가지 필터를 신뢰합니까, 아니면 각각 동전 던지기보다 더 정확할 가능성이 거의 없는 수백만 개의 무작위 필터를 신뢰합니까?
둘 다 작동할 수 있다는 것이 밝혀졌습니다.
트위터의 큐레이션은 신뢰 사슬을 기반으로 구축됩니다. 팔로우할 사람을 선택하고 그 사람들이 a) 내 관심사와 관련된 트윗을 생성하거나 b) 내 관심사와 관련된 트윗을 리트윗할 것이라고 믿습니다. 그런 다음 이 관계는 반복되어 그 사람들도 다른 사람들을 팔로우하고, 팔로우하는 사람들에게 동일한 신뢰를 둡니다.
하지만 팔로우를 부트스트래핑(한 번 시작되면 알아서 진행되는 일련의 과정)할 때 누구를 선택하시겠습니까? 트위터는 모든 신뢰 결정을 사용자에게 미리 로드했습니다. 상황을 더욱 복잡하게 만드는 것은 당신이 신뢰하는 사람이 트윗을 하는 사람이어야 한다는 것입니다. 저는 프로그래밍에 관심이 있어서 자연스럽게 Guido van Rossum, Simon Peyton Jones 등을 팔로우하고 싶었지만 그들이 실제로 트윗을 하지 않는다는 것을 알게 되었습니다.
도메인에 대해 트윗하고 싶다고 생각하는 사람과 실제로 해당 도메인에 대해 트윗하는 데 능숙한 사람은 거의 동일하지 않은 것으로 나타났습니다. 이로 인해 네트워크 부트스트랩이 매우 어려워집니다.
Reddit의 큐레이션은 어떤 면에서는 Twitter의 큐레이션과 정반대입니다. 누구를 믿을지 선택하는 대신, 수백만 명의 낯선 사람이 무작위 이야기에 투표하도록 의존합니다. 상황을 좀 더 좋게 만들기 위해 하위 레딧의 도입으로 사용자는 최소한 공통 관심사를 공유하는 사람을 선택할 수 있었습니다.
Reddit 접근 방식의 좋은 점은 최소한의 노력으로 첫날부터 흥미로운 콘텐츠를 볼 수 있다는 것입니다. 광범위한 호소력이 필요하기 때문에 콘텐츠는 최소 공통 분모일 수 있지만 매일 상당히 일관됩니다. 이와 대조적으로 트위터 피드는 콘텐츠의 품질과 유형에 있어 훨씬 더 높은 변화를 보이는 경우가 많습니다.
여기서 Reddit의 성공 비결은 커뮤니티 참여에 대한 진입 장벽이 훨씬 낮다는 것입니다. 플랫폼에서 가치를 얻기 위해 플랫폼의 누군가를 알 필요는 없습니다. 또한 커뮤니티에 참여하기 위해 누군가를 알 필요도 없습니다. 누구나 많은 사람들이 볼 수 있는 가능성을 지닌 스토리를 올릴 수 있습니다. 트위터에서는 누군가가 당신을 신뢰하기로 명시적으로 선택할 때까지 빈 공간에 트윗을 올리는 것입니다. 그것은 극복해야 할 큰 고비입니다.
내가 트위터에서 일하기 시작했을 때 트위터는 여전히 시간순으로 엄격하게 역순으로 운영되었습니다. 그 단순함에 뭔가 위안이 있었습니다. 당신이 누군가를 팔로우하고 그 사람이 무언가를 트윗했다면, 그 사람이 올린 바로 그 위치에 그것이 당신의 타임라인에 있을 것이라는 것을 알고 계셨습니다.
사람들은 시간 역순을 좋아하는 것 같습니다. 피드에 있는 내용이 왜 그런 식으로 표시되는지 이해하면 편안함을 느낄 수 있습니다. 그리고 피드를 다시 로드하면 모든 것이 다른 순서로 되어 있고 어떤 것들은 완전히 사라져 버릴 때 좌절감을 느낍니다. 사람들은 타임라인을 조작하기 시작하면 매우 열정적으로 변합니다.
신뢰 체인 환경에서 역연대순 피드의 좋은 점은 고도로 연결된 그래프(예: Twitter)에서 플랫폼의 모든 트윗이 잠재적으로 몇 초 내에 도달할 수 있다는 것입니다. 또한 최신성은 관련성에 있어서 꽤 좋은 휴리스틱이라는 것이 밝혀졌습니다.
역연대순 피드의 주요 단점은 자주 확인하지 않으면 중요한 내용을 쉽게 놓칠 수 있다는 것입니다. 만약 당신이 귀여운 동물 만을 위해 트위터를 하고 있다면 한두 개의 게시물을 놓치는 것은 큰 문제가 아니지만, 뉴스 속보나 혁명을 조직하기 위해서는 자주 확인하는 것이 좋고 당신이 팔로우하는 사람들이 이러한 것들을 계속해서 리트윗하기를 바랍니다.
old-Twitter와 같은 역연대순 피드는 이해하기 쉽고, 순서가 변하지 않으며, 피드에 내용을 넣을 수 있는 사람을 선택할 수 있다는 점에서 훌륭합니다. 하지만 물리 시뮬레이션에 의해 순위가 매겨지고 페이지 새로 고침 사이에 변경되며 인터넷 낯선 사람이 소스로 제공하는 피드는 어떻습니까?
인터넷상의 임의의 사람이 피드 상단에 무언가를 올리도록 할 수는 없습니다. 그건… 이메일만큼이나 말도 안 되는 일이겠죠. 따라서 수백만 개의 제출물을 가져와 필터링하는 방법이 필요합니다.
Hacker News와 Reddit은 모두 강력한 찬성표를 사용하지만 이를 약간 다르게 처리합니다. Hacker News에는 항상 시간이 지남에 따라 떨어지는 게시물이 있으며 찬성표는 게시물을 끌어올립니다. Reddit에서 찬성 투표는 게시물의 타임스탬프를 시간상 앞으로 효과적으로 이동한 다음 해당 새로운 타임스탬프를 기준으로 스토리의 순위를 매깁니다. 여기에는 다른 매개변수도 있지만 이것이 상위 수준의 요점입니다.
따라서 이러한 사이트의 첫 페이지를 볼 때마다 일정 기간 동안 최고의 게시물이 슬라이딩 창으로 표시되는 것을 보게 됩니다. 여기서 이점은 정말 중요하거나 인기 있는 항목이 한동안 상단 근처에 있기 때문에 놓칠 가능성이 적다는 것입니다.