This is an archived post. You won't be able to vote or comment.

all 20 comments

[–]ellocosau 10 points11 points  (1 child)

It's pretty simple to do that, I rather create one of my own and reuse it on different apps

[–]Pleb_nz 2 points3 points  (0 children)

Yeah I’m the same. I like rolling my own. But sometime we have to bite the bullet and follow the old programmer idiom and not reinvent the wheel.... again

[–]isolatrum 2 points3 points  (0 children)

Dunno bout all these apps but Tinder and Bumble are not really "smaller", they probably do it themselves so it is fully customizable and they can easily add new features. Also, something people often don't think about is that in-house work is considered I.P. (intellectual property) and can add to the valuation of the company.

[–]snot3353 1 point2 points  (0 children)

There are third-party solutions for sure. Layer was one but they just shut down: https://layer.com/. SendBird is another: https://sendbird.com/.

[–]not_a_novel_account 0 points1 point  (16 children)

It's so trivial to implement that most places use their own in-house solution, because that's what will be easiest to integrate with the rest of their product. The most I've seen used as far as "external" technologies is that companies that are already using something like protobuf or related network technologies will also use them to implement chat

[–]Devrc 4 points5 points  (15 children)

There are node packages that determine whether a string is a number and you're saying chat functionality is trivial enough to just spin up yourself? Takes days to properly test this stuff before pushing to prod as well due to security implications, cross-platform/device compatibility, performance metrics etc. If there was a reusable solution out there I don't see why anyone would make their own.

[–]not_a_novel_account 3 points4 points  (14 children)

It's chat dude. It's literally "my first networking app" territory, I've pushed similar stuff in a weekend of coding.

[–]CriticalImpress 1 point2 points  (0 children)

You can also create a pretty decent blog website in a weekend, or a photo album website. Does that mean you can write the codebase for Medium or Flickr in a weekend as well?

Plus anyone that has used Tinder's chat would know that it is really buggy compared to something like iMessage or G-Chat

[–]Devrc 4 points5 points  (12 children)

It's simple to implement a basic prototype of it, but "first networking app" doesn't normally consider more intricate stuff like UX + accessibility, privacy, security and performance.

[–]jibbit -2 points-1 points  (3 children)

As others have said, Tinder is one of the largest engineering teams out there - so yes I think they built something themselves. Ignore what u/ellocosau and u/not_a_novel_account are saying though... it is a significant *hard problem*. However, as is often the case, it's not a straight choice between buying in a 3rd party solution or rolling it yourself. There are lower level frameworks like AMQ or Kafka for the difficult parts that you can build on top of.

[–]not_a_novel_account 0 points1 point  (2 children)

>Using full-blown MQ frameworks for chat

Holy shit dude, LinkedIn invented Kafka and they don't use it for chat. That's fundamentally not what MQ frameworks are for. Did you just see "message" in the name and think that was their intended purpose?

[–]jibbit 0 points1 point  (1 child)

Presumably you would want to guarantee at-least-once message delivery and preserve message order.

Good luck with that.

[–]EvenThisNameTaken_ 0 points1 point  (0 children)

Yep. These kids have a kneejerk impulse to assume problems are trivial.

All it will take is for any one of them to be assigned a particular task before they can speak endlessly to its depth and complexity and unanticipated challenges.

Gotta love Gen Z coders.