
Pidgin working on implementation of Facebook Messenger protocol - agorabinary
https://hg.pidgin.im/soc/2015/jgeboski/facebook/
======
evv
Pidgin will probably struggle with this because Fb Messenger is quite a moving
target. You can currently send audio, video, photos, stickers, and payments.
Also it supports audio and video calls. Not to mention messenger platform
which enables developers to build just about anything else.

Plus, the dynamics around group chats are tricky. Messenger shows when people
are typing and what point everybody has read up until. You can rename group
messages, leave them, add people, mute/disable notifications, or mute for a
period of time.

Without good compatibility or fallbacks for all of this behavior, Pidgin users
are in for a bad time. Most will probably go back in frustration and pin
messenger.com in a browser tab.

~~~
lucb1e
Except that even with a limited feature set, Pidgin has one advantage: it
integrates with a lot of networks. It's the same with IRC: Pidgin's IRC
support is mediocre compared to real clients like XChat but I still used it.
I'd only have to launch Pidgin to log into multiple IRC networks, MSN, two
Google Talk accounts and Facebook. It has a single logging mechanism, single
interface, it's not a website, there are no ads and I can install/update it
using apt-get.

It would be nice if Pidgin would build in all the features you mentioned, but
I'd be perfectly happy if it just connected to my chats and allowed me to send
and receive text messages. Typing notifications would be nice-to-have, but
this is all I ever use anyway. Not such a bad time for me.

~~~
evv
Agreed, connecting to other networks is huge. But the other features might be
more important to others. Personally, I would rather use multiple clients than
entirely miss the stickers, photos, payments, and group chats that get sent my
way.

That said- I'm sure pidgin can go a long way by implementing sane fallbacks
for these features.

------
jkarneges
This really ought to be the other way around. If Facebook wants to be accessed
by popular client software, then it should expose its service using standard
protocols. So Facebook pulls XMPP and the community reacts by rewarding them
with a custom integration? How are we supposed to get ahead here?

I know Pidgin is a pragmatic project, not a political one, but this doesn't
sit well.

~~~
cbhl
Have you _seen_ XMPP? Chat is so much more than just text now; it's
"voicemail", and "photos", and "videos", and "stickers", and "Western Union"
and "voice calls" and "video calls" and so much more. Plus, XMPP, is, like,
XML.

Open protocols and federation are cool and all, but XMPP is not the protocol
that will let someone be competitive in this space.

(Disclaimer: I work at Google. This is my opinion. I do not work on Hangouts.)

~~~
Sir_Substance
Why do I feel that "be competitive" is a euphemism for "nailgun users feet to
the ground by locking them into everything possible"?

I'll be honest with you my friend. I would prefer to physically mail people
coins then use facebook/google/apple pay. As much as I distrust banks, they at
least have a record of letting me move to a competitor if I ask.

~~~
raverbashing
> Why do I feel that "be competitive" is a euphemism for "nailgun users feet
> to the ground by locking them into everything possible"?

Then create an open protocol that supports what the users want

~~~
seanp2k2
Users want Snapchat using the Snapchat client without having to maintain a
second account or re-find all their friends. Same with Facebook, Hangouts,
Skype, etc. the ship for federation sailed when all the big players decided to
kill XMPP and not try a new open standard.

------
dmacvicar
I implemented a part of a similar Facebook HTTP-based chat protocol in 2009.
May be the same one?

I had started in 2001 a KDE multi-protocol messenger client called Kopete. I
went inactive later but in 2009 I was using Facebook a lot so I "revived" my
Kopete checkout to implement this custom protocol. I got the basics working:
send messages and presence.

[https://github.com/dmacvicar/kopete-
facebook](https://github.com/dmacvicar/kopete-facebook)

Ironically, I stopped because they added XMPP support and Kopete already
supported XMPP.

I now realize they deprecated XMPP it in early 2014, which is probably the
reason Pidgin is now implementing the HTTP protocol I was looking at in 2009.

~~~
gtk40
I used to use Kopete back in the KDE 3 days often. Thanks for your work!

Now, I don't really use IM like I used to. Back then (middle and high school),
mainly with AIM and MSN, I'd spend hours on IM each day. Now it's an
occasional Google Talk or Facebook message and using HipChat with my work
team. A different world I guess.

I actually recently installed Trinity DE (continuation of KDE 3.5) just for
fun and old times sake. One of the first things I did was install Kopete. I
tried logging into AIM, but found only one person I barely ever knew online,
with hundreds offline.

~~~
dmacvicar
Thanks!. Most of the work, like in lot of opensource projects, was the product
of a big team of great people, from which I learned a lot and I owe them a big
part of shaping my career.

Completely different world!. Instant Messaging is now done in big part from
the smartphone, or from a webpage while visiting a social network or checking
email.

------
pjmlp
Lovely, C at its best.

[https://hg.pidgin.im/soc/2015/jgeboski/facebook/rev/510e0ad7...](https://hg.pidgin.im/soc/2015/jgeboski/facebook/rev/510e0ad7dfea)

~~~
canttestthis
Explain? I'm not sure whats so bad about that.

~~~
pjmlp
Commit comment "facebook: prevent potential memory leak "

------
Xylemon
Nice to see this, hopefully we'll get some more involved features like
notification support and group chat. Still sad that Facebook never utilized
XMPP chat to its fullest.

------
ben11kehoe
Trillian still works with Facebook chat:
[http://www.trillian.im/](http://www.trillian.im/) They wrote a little eulogy
when imo dropped 3rd-party chat support, I'm sure they'd be happy to see
Pidgin add FB support!
[http://blog.trillian.im/?p=2902](http://blog.trillian.im/?p=2902)

------
mvanvoorden
I don't know how or why, but on my workstation at my job, Pidgin still always
connects with Facebook, and I still use it every day to chat with people. But
at home, on my own laptop, I get an error 500.

I don't get how it's possible that it still works here. Only difference is
that my workstation runs Linux and my laptop runs Windows.

~~~
JTon
> Only difference is that my workstation runs Linux and my laptop runs Windows

Pretty big difference, no?

~~~
dimino
Shouldn't be, in theory.

------
Qantourisc
Wonder how long it will take before Facebook attempts to shut this down.

------
Apofis
That's as long as facebook keeps their protocol open... which can change at a
moments notice. I'll keep on using regular old facebook messages, SMS, e-mail,
and textsecure.

------
izzydata
I've had facebook connected to pidgin for years now. What is the difference
between this and what I already have?

~~~
RansomTime
They recently deprecated their chat API (which used to be XMPP)

------
greyman
Great. And they could also implement master password, that would be also
great.

~~~
hobarrera
Pidgin supports several keyrings, and they, in turn, support master passwords.

