메뉴
HN
Hacker News • 11일 전

재버/XMPP: 어떻게 대중성을 얻을 것인가

IMP
4/10
핵심 요약

해커뉴스에 올라온 글로, Signal의 불편한 사용성과 XMPP의 확장성 문제를 비판하며 분산형 메신저 프로토콜이 대중적으로 확산되지 못하는 문제를 다룹니다. 저자는 다운로드 통계를 근거로 Matrix가 XMPP보다 결정적으로 인기가 많다고 보기 어렵다고 주장합니다. 오픈소스 및 메신징 프로토콜 생태계에 관심 있는 실무자에게 유용한 논의입니다.

번역된 본문

Signal, 솔직히 별로다 2023년 하반기에 최근 Signal로 갈아탄 몇몇 친구들과 연락을 유지하기 위해 처음 Signal을 설치했을 때, Signal은 메시지 수정 기능을 지원하지 않았다. 이것은 내가 인스턴트 메신저를 사용하는 방식을 완전히 망가뜨렸다. 그 시점에 메시지 수정은 다른 메신저 클라이언트들에서 널리 배포된 기능이었다. Conversations는 2016년 2월부터 이를 지원했고1, 나는 메시지를 입력하고 전송한 다음에야 다시 읽으며 오타를 확인하는 습관이 생겼었다. 이런 필수 기능의 부재로 나는 알아들을 수 없는 메시지를 보내게 되었고, 이 앱은 나에게 거의 사용 불가능했다. Signal은 내가 적응하고 습관을 바꾸도록 강요했다. Signal은 결국 2023년 말에 메시지 수정을 도입했지만2, 지금까지도 이 앱은 나를 정기적으로 짜증나게 하는 결함과 버그로 고통받고 있다. 수신 메시지 알림이 가끔 신뢰할 수 없다. 방해 금지 모드일 때 채팅에는 전화가 표시되는데도 수신 전화를 받을 수 없다. 그리고 큰 이모지 하나로 표시되어야 할 단일 이모지 메시지가 가끔 그냥 표시되지 않는다. 나는 Signal이 오픈소스라는 것을 안다. 암호화가 최신 기술 수준이라는 것도 안다. 메러디스 휘태커(Meredith Whittaker)가 매우 카리스마 있는 인물이라는 것도 안다. 하지만 가끔 Signal의 목소리 높은 옹호자들이 실제로 이 소프트웨어를 오랫동안 사용해 봤는지 궁금해진다. 그럼에도 내가 계속 Signal을 쓰는 이유는, Signal로만 연락할 수 있는 소중한 사람들이 있기 때문이다. 몇 배의 차이인가 확장형 메시징 및 프레즌스 프로토콜(XMPP)에 대한 흔한 반론은 기본 기능 세트가 너무 작고 확장 수가 너무 많다는 것이다. Matrix는 공개 문서화되었지만 독점적인 API로, 여러 면에서 XMPP의 직접적인 경쟁자다. Matrix는 XMPP의 바로 그런 단점을 해결하기 위해 만들어졌다고 알려져 있으며3, Matrix가 실제로 그것을 달성했다고 볼 수 있다. 대부분의 플랫폼에 하나의 레퍼런스 구현만 존재한다—실제로 존재한 지 10년이 넘었는데도 레퍼런스 구현 외의 것을 찾기는 여전히 어렵다—그리고 모든 평가에 따르면 괜찮은 사용자 경험을 제공한다. 만약 Matrix가 객관적으로 XMPP보다 낫다면, 상당히 더 높은 사용자 수를 기대할 수 있을 것이다. 그럼 살펴보자. 연합(federated) 시스템의 사용자 수를 얻는 것은 설계상 어렵거나 불가능하지만, 각 안드로이드 클라이언트의 공개된 다운로드 수를 볼 수 있다. 집필 시점에 Conversations는 구글 플레이에서 약 31만 회 다운로드되었고 Element X는 50만100만 회 사이다4. Element X에 후하게 평가해 Conversations의 약 3배 다운로드를 가졌다고 가정할 수 있다. 더 많긴 하지만 몇 배 수준은 아니다. F-Droid의 다운로드 통계5를 보면 격차는 더 좁혀져서 Conversations 63만 회 대 Element X 94만 회다. 두 배도 되지 않는다! 그리고 Element X의 50만100만 범위를 박하게 읽으면 구글 플레이 통계에서도 비슷한 비율이 충분히 적용될 수 있다. 이런 지표는 무수히 불완전하지만, Matrix가 XMPP보다 실질적으로 더 인기 있다고 주장하는 데 필요한 한두 자릿수(10배~100배) 차이를 가리지 못한다. 최근 일부 기능 비교6에서 XMPP를 이기고 초보자 친화적이며 플랫폼 간 일관성을 자랑하는 Delta Chat은 F-Droid 다운로드 통계에 따르면 Conversations보다 더 못하고 있다. 인스턴트 메신저 제품에 관해서 내가 편향되어 있을지 모르지만, 세련된 인터페이스와 완전한 기능 세트에도 불구하고 연합형 솔루션이 대중성을 얻지 못하는 패턴은 Mastodon에도 확장된다. Mastodon은 현재 누군가의 사용을 막을 만한 주요 기능이 부족하지 않다—적어도 전성기의 Twitter가 제공했던 것과 비교하면—그럼에도 Mastodon의 사용자 수는 주류 플랫폼에 비하면 반올림 오차 수준이다7. 기능 비교 2022년 테스트에서 독일 최고의 소비자 보호기관인 슈티퉁 바렌테스트(Stiftung Warentest)는

원문 보기
원문 보기 (영어)
Signal Sucks, Actually When I first installed Signal in the second half of 2023 to stay in touch with a few friends who had recently switched, it did not support message edits. This completely broke the way I used instant messengers. At that point, editing messages was a widely deployed feature across other instant messaging clients. Conversations had supported it since February 2016 1 and I had acquired a habit of typing a message, sending it, and only then reading it again and checking for typos. The lack of such an essential feature caused me to send incomprehensible messages, making the app almost unusable for me. Signal forced me to adapt and change my habits. Signal did eventually introduce message edits in late 2023 2 , but to this day the app suffers from quirks and bugs that annoy me regularly: Notifications for incoming messages are occasionally unreliable. Incoming calls can’t be answered when my phone is in Do Not Disturb mode, even though the call shows up in the chat. And single-emoji messages that are supposed to render as one large emoji sometimes just don’t. I understand that Signal is open source. I understand that the cryptography is state-of-the-art. I understand that Meredith Whittaker is a very charismatic person. But sometimes I’m left wondering if the vocal advocates of Signal have actually used the software for an extended period of time. The reason I keep using Signal despite all of that is that there are people who are important to me that I can only reach on Signal. Orders of Magnitude A frequent argument against the Extensible Messaging and Presence Protocol (XMPP) is that the baseline feature set is too small and the number of extensions too high. Matrix is a publicly documented but proprietary API, which in many ways is a direct competitor to XMPP. It was allegedly created to address those exact shortcomings of XMPP 3 and it can be argued that Matrix did achieve that. There is one reference implementation available for most platforms—in fact over a decade into its existence it’s still difficult to find anything but the reference implementation—and by all accounts it provides a decent user experience. For something that is supposedly objectively better than XMPP, we would expect significantly higher user counts. So let’s look into that. Getting user numbers for federated systems is difficult or even impossible by design, but we can look at publicly available download numbers of the respective Android clients. At the time of writing, Conversations has ~310K downloads on Google Play while Element X sits somewhere between 500K and 1M 4 . If we want to be charitable towards Element X, we could assume it has about three times the downloads of Conversations. That’s more, but not by orders of magnitude. If we look at download stats from F-Droid 5 , the gap narrows even more to 630K for Conversations versus 940K for Element X. Not even double! And a similar ratio could easily apply to the Google Play stats if we take an uncharitable reading of Element X’s 500K–1M range. These metrics are imperfect in countless ways, but they certainly don’t obscure the one or two orders of magnitude needed to claim that Matrix is substantially more popular than XMPP. Delta Chat, which in some recent feature comparisons 6 wins over XMPP and prides itself on being beginner-friendly and consistent across platforms, is doing—according to F-Droid download stats—even worse than Conversations. Maybe I’m biased when it comes to instant messaging products, but the pattern of federated solutions struggling to gain traction despite polished interfaces and complete feature sets extends to Mastodon as well. Mastodon currently doesn’t lack any major features that would stop anyone from using it—at least not compared to what Twitter had to offer during its heyday—yet Mastodon’s user numbers are a rounding error compared to mainstream platforms 7 . Feature Comparisons In a 2022 test, Stiftung Warentest, Germany’s leading consumer advocacy organization, compared 30 messenger apps and put Skype in second place after Signal 8 . This was barely three years before Microsoft announced plans to retire Skype altogether 9 . And even in 2022, the writing was already on the wall, because nobody had thought about Skype in about a decade. For the tech-literate and enthusiasts, it’s easy to fall into the trap of trying to quantify what makes a messenger ‘good.’ They build elaborate comparison matrices tracking dozens of technical criteria across various apps 10 , but user adoption clearly isn’t decided by who has the most features or the prettiest interface. If there were such a thing as an objectively good messenger, we wouldn’t see regional differences, with LINE dominating Japan and parts of Asia, WhatsApp dominating (Western) Europe, and iMessage being a de facto standard in the US. There are only two features people actually care about: reliable message delivery and the ability to reach their friends. Network Effect The network effect—making a messaging app only as valuable as the number of friends already using it—is so overwhelming that even Big Tech is unable to overcome it. Google failed countless times to establish an instant messaging product. Facebook, with the power of an already established social network behind it, failed and had to buy one for $16 billion 11 . In more recent news, NVIDIA acquired Hugging Face, a platform notorious in some circles for hosting open-source AI models tuned for non-consensual intimate imagery (NCII) 12 , for $12.9 billion. NVIDIA could have easily vibe-coded a similar platform with feature parity to Hugging Face in the better part of an afternoon. But they didn’t buy Hugging Face for its remarkable features. They bought it for its users. I don’t feel bad about failing to create a successful instant messaging app if warehouses full of software developers and trillions of dollars in market cap are unable to do it either. There wasn’t anything particularly unique or special about WhatsApp. It’s survivorship bias. We simply don’t hear about the many failed competitors unless they fail in a very public way, like Google Talk, Google Hangouts, and Google Duo. There is a myth in capitalism that hard work will pay off. In reality it’s basically impossible to win at capitalism and get rich unless your parents are already wealthy or you get extremely lucky. A slightly more nuanced (if borderline neoliberal) take that I subscribe to is that you can increase the surface area for luck to strike. You still have to be incredibly lucky, but you are not going to sell your shitty website to NVIDIA for $12.9 billion if you never created a website in the first place. Beating the network effect works much the same way. So how do we increase the surface area for luck to strike? Visibility When trying to beat the network effect, increasing the surface area simply means visibility. Every time Jabber/XMPP enters the public eye, the response is rarely one of outright dismissal or a fundamental disagreement with the idea that communication should not be controlled by a single company. Instead, the typical reaction is “I didn’t know this existed” or, more commonly, “I didn’t know this was still around,” combined with a mental image of an ICQ-era client. Demonstrating that XMPP provides a modern instant messaging experience on par with its Big Tech rivals can make a real difference. There is every reason to be skeptical of appeals to individual responsibility. It’s unreasonable to expect individuals to combat the climate catastrophe by taking the train instead of flying if decades of austerity politics have nearly destroyed the rail network and left trains an unreliable, overly expensive mess. When it comes to visibility, however, an appeal to individual responsibility is fair: the cost of creating that visibility is often negligible. On a small scale, this can be as simple as adding your XMPP address to your website or Mastodon profile, or putti