Live data from Hacker News

LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

engineering.fb.com

321–330 of 333 posts

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#321

Earlier quoted context omitted.

Yeah, not sure where this idea has come from. Seems like RN haters just jumping on any opportunity to slate it. Reality is, just like most technologies, RN is a good fit for some scenarios (small team needing to support both mobile platforms? no native devs on the team? performance not critical? etc.) and not a good fit for others. I guess many native developers feel negatively towards it because a lot of companies w…

> Yeah, not sure where this idea has come from. Seems like RN haters just jumping on any opportunity to slate it. There seems to be a much more obvious explanation as to why people are assuming it used to be React Native. The article says: > > Compared with the previous iOS version, this new Messenger is [mentions improvements]. > > We accomplished this by using the native OS wherever possible […] That seems to imply…

My bad, I didn’t pick up on that wording potentially suggesting that. RN gets quite a lot of flak from native devs it would seem, hence my assumption!

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#322
post #85

So, they've reduced 1.7M lines of code to 360K. Let's pause here for a moment: - NumPy is 360K lines mostly C - Postgres is around 2.1M of C - Go 1.13 is around 1.5M of Go code - Rust 1.37 is around 1.2M of Rust code iirc - core llvm is around 3M of C++ iirc ... A chat app is 1.7M. A chat app... Makes me feel sorry for all the time spent/wasted by all those devs, many of whom are unquestionably brilliant and could've…

I wonder how many LoC for Whatsapp, Which is comparable to Messenger. And what is it written in.

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#323
post #230

Earlier quoted context omitted.

If FB Messenger beat Whatsapp they wouldn’t have had to buy it.

Facebook bought Whatsapp for the social graph, not the messenger technology

Yes, exactly. The social graph they couldn’t acquire organically by having the better product.

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#324
Security isn't mentioned once.

I really wonder if in their meetings they sold the speed and lighter weight as a bonus for the user or for the collection of data on the user. This must reduce their overhead and be kinder on their servers.

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#325
post #109
post #85

So, they've reduced 1.7M lines of code to 360K. Let's pause here for a moment: - NumPy is 360K lines mostly C - Postgres is around 2.1M of C - Go 1.13 is around 1.5M of Go code - Rust 1.37 is around 1.2M of Rust code iirc - core llvm is around 3M of C++ iirc ... A chat app is 1.7M. A chat app... Makes me feel sorry for all the time spent/wasted by all those devs, many of whom are unquestionably brilliant and could've…

Honestly, a chat app that 1 billion+ use per month that includes payments, camera effects, extensive social integrations, stories, GIFs, reactions, games, polls, voice recording, calling, video chat, and works across all mobile platforms, with nine years of technical debt, that thousands of developers build simultaneously seems WAY more complicated to me than any of your examples. Messenger may not have "HN clout" bu…

But the chat app is only the client side, not the whole app entirely in itself. If we consider the lines of code in server side, there will be a lot more lines code.

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#326
post #312

Earlier quoted context omitted.

I can speak for Qt, Ionic and Cordova. Beyond "Hello World" all of them required me to get my hands dirty, at which point I was better off just doing C++ with native views, standard out of the box tooling available across all SDKs. Nowadays I rather go for PWAs, or plain mobile Web, unless it is something very special that requires OS APIs or hardware access.

I've worked power-user type applications that are mainly keyboard driven, and those are pretty easy to make cross platform with a single custom codebase that has a platform-specific graphics backend (OpenGL covers many platforms) and minimal platform code. Let's say < 300 lines of boilerplate per platform + 600 lines for OpenGL + 2-5K lines for (shared) UI controls.

Yeah, but that kind of fits what I was describing, you are using standard SDK tooling, and it looks to me it being game engine like.

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#327
post #326

Earlier quoted context omitted.

I've worked power-user type applications that are mainly keyboard driven, and those are pretty easy to make cross platform with a single custom codebase that has a platform-specific graphics backend (OpenGL covers many platforms) and minimal platform code. Let's say < 300 lines of boilerplate per platform + 600 lines for OpenGL + 2-5K lines for (shared) UI controls.

Yeah, but that kind of fits what I was describing, you are using standard SDK tooling, and it looks to me it being game engine like.

I wasn't disagreeing.

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#328
post #326

Earlier quoted context omitted.

Yeah, but that kind of fits what I was describing, you are using standard SDK tooling, and it looks to me it being game engine like.

I wasn't disagreeing.

Neither was I. :)

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#329
post #276

Earlier quoted context omitted.

Part of it also comes from the tendency of large orgs to ship their org structure. It can oftentimes be worthwhile to have individual teams each fully "own" a piece of the product, and that also comes with the autonomy to choose to duplicate stuff that other teams might have already built rather than working with them and tweaking it to match their own specific new requirement. This significantly reduces communicatio…

Interesting. I wonder if there's a corollary: "you will ship your org, so be careful how you structure your org."

https://en.wikipedia.org/wiki/Conway's_law

Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app

#330
post #85

So, they've reduced 1.7M lines of code to 360K. Let's pause here for a moment: - NumPy is 360K lines mostly C - Postgres is around 2.1M of C - Go 1.13 is around 1.5M of Go code - Rust 1.37 is around 1.2M of Rust code iirc - core llvm is around 3M of C++ iirc ... A chat app is 1.7M. A chat app... Makes me feel sorry for all the time spent/wasted by all those devs, many of whom are unquestionably brilliant and could've…

The only other application in your list is Postgres.

NumPy is a library. The other three are compilers. Why are you comparing these with a GUI-based chat application?

Post reply on HN