5 ms·
It's a chat app that works very well even on the crappiest connections. If it having 1.7M lines of code indicates anything it is that creating a "simple app th
by notyourday 7y ago
It's a chat app that works very well even on the crappiest connections.
If it having 1.7M lines of code indicates anything it is that creating a "simple app that provides simple functionality over a network well" is hard.
Look at the garbage generated by Google - text messages and images on Google hangout are not guaranteed to arrive in order ( or even be sent in order ) unless you are on a great network.
- pathseeker 7y agoOrdering messages and providing reliability does not require 1.7M lines of code.
- notyourday 7y agoCode wins arguments. FB messenger beats everything, Whatsapp, Wire, Signal, WeChat, Telegram included, in the suckiest network connections.
- ringzero 7y agoRepeating a point without adding proof doesn't make your point more valid. When people say "code wins arguments", they're referring to using source code to prove something, not "it wins because it has more source code" (???).
- notyourday 7y agoPeople say "Code wins arguments" because written code that works demonstrates the winning argument against the code that is either not written or does not work. FB messenger exists and works on crappy connections. Google hangout exists and messes up on crappy connections. Telegram exists and messes up on crappy connections ( see the issues it has in Africa ). Signal exists and does not work well even on non-crappy connections. Whatsapp exists and sort of works on crappy connections. Matrix exists and sucks on crappy connections. What we need is something that exists and works on crappy connections that has less LOC than FB messenger to demonstrate that it is possible to handle crappy connections and modern messaging in much fewer lines of code.
- Supermancho 7y ago> written code that works demonstrates the winning argument against the code that is either not written or does not work. That's why your comment is nonsensical, if not downright contradictory noise. > Ordering messages and providing reliability does not require 1.7M lines of code. This has been demonstrated ad nauseum a priori with loads of toy chat apps that reconnect and retain state. It's not really a challenge. EVERYTHING else crammed into it, should be the reasoning for 1.7M lines of code, but as they demonstrated TO THEMSELVES AND EVERYONE, it wasn't (360k now)
- notyourday 7y ago> This has been demonstrated ad nauseum a priori with loads of toy chat apps that reconnect and retain state. It's not really a challenge. EVERYTHING else crammed into it, should be the reasoning for 1.7M lines of code, but as they demonstrated TO THEMSELVES AND EVERYONE, it wasn't (360k now) Yes and they figured out what was needed after first writing a 1.7M line of code thing that worked. That's the process of reiteration and a process of initial LOC bloat before LOC stripping. Without that process by thinking it has all been demonstrated ad nauseum a priori with loads of toy chat apps that reconnect and retain state you end up with deciding that if Friday was Feb 28th then Monday is certainly March 3rd because date/time handling is simple and end up being Robinhood, down for a day.
- deleted 7y ago[deleted]
- Lammy 7y agoIf FB Messenger beat Whatsapp they wouldn’t have had to buy it.
- deleted 7y ago[deleted]
- notyourday 7y agoFacebook bought Whatsapp for the social graph, not the messenger technology
- Lammy 7y agoYes, exactly. The social graph they couldn’t acquire organically by having the better product.
- yodsanklai 7y ago> It's a chat app that works very well even on the crappiest connections Does it? I routinely use Telegram, Line and Messenger. Messenger is without contest the one that gives the most trouble. I've been using chat apps at least since ICQ (1996) and sometimes I feel the user experience has declined. That being said, I'm sure that a lot of progress have been made and that there's a lot going on behind Messenger in terms of security and scalability. I'd be curious to know what's hidden between the millions LOC.
- derefr 7y ago> I've been using chat apps at least since ICQ (1996) and sometimes I feel the user experience has declined. You never used ICQ over a spotty 3G connection, though, did you?
- ComputerGuru 7y agoI have, with an OpenVPN-over-UDP tunnel as a workaround. If they included Wireguard (or better yet, just used encrypted UDP) it would still be smaller (and probably more reliable).
- notyourday 7y agoIntroduce random dropouts, crazy jitter and random IP switches and you get the emulation of what a crappy network looks like.
- lvh 7y agoI don't know if this is what you were referring to, but for everyone else: this is actually super easy to add with Wireguard because Wireguard just uses Linux networking you can do things like: $ tc qdisc change dev eth0 root netem loss 0.3% 25% (Lose 0.3% packets on average, but each packet is 25% correlated with the last packet loss, to produce bursts.) $ tc qdisc change dev eth0 root netem delay 100ms 20ms distribution normal (Add mu=100ms, sigma=20ms normally distributed latency.)
- 7y ago
- hw 7y agoYou don’t need 1.7m LOC to build a simple app that works well over different network conditions. Speaking of garbage, looks like most of the 1.7m LOC on Messenger was actually garbage, now that they’ve literally thrown most of away.
- notyourday 7y ago> You don’t need 1.7m LOC to build a simple app that works well over different network conditions. Also known as: You can do dropbox with FTP. If Friday is Feb 28th, then Monday is March 3rd. There's no need for those bloated date libraries. > Speaking of garbage, looks like most of the 1.7m LOC on Messenger was actually garbage, now that they’ve literally thrown most of away. Certainly. It worked before the change. So it is given that 1.7m of "garbage" provided a working product. How many lines of code it took Google to make Hangout not get confused by image uploads on crappy connections? Unknown, because it is still confused. How many lines of code it took Signal not to delay messages when a recipient is on a crappy connection? Unknown, because it still does that.
- kuschku 7y ago> It's a chat app that works very well even on the crappiest connections. That's a joke, right? On a crappy internet connection (e.g. using O2 as carrier on the train cologne-hamburg you get ~12s ping, 30kbps, >90% packets dropped, via edge) most chat apps stop working, but Facebook Messenger is (except for Riot.im and Discord) probably the one that works worst. Telegram works better, even IRC via Quassel/Quasseldroid works significantly better, and especially WhatsApp works so well you don't even notice the connection issues. Facebook Messenger doesn't even properly start on such crappy connections.