Purple-Teams: MS Teams Plugin for Pidgin (2022)
github.com
github.com
At the time I took this for granted and didn't appreciate just how wonderful it was.
1: https://github.com/djhaskin987/groupme-purple . Kudos to its original author, Alyssa Rosenzweig :)
I couldn't pry it from their hands. All the employees loved it.
OTR did work well. But causes some small issues with other plugins. I still love how customizable everything was. Both on the server and client.
It was easier for us to build and maintain back then. We had push-back from some of the companies (Yahoo being notoriously aggressive about it, to the point of actively banning our developers' accounts and inventing new obfuscated auth schemes all the time), but from a technical standpoint:
1. Most of these were communicating over plain text channels (making it easy to sniff traffic from official clients)
2. The protocols were generally understandable (MSN for a long time was largely all MIME-based messages, and could be understood by watching a traffic stream)
3. Used simple usernames/passwords for authentication (just fewer hoops to jump through)
It's a different world nowadays, with more focus on keeping you in the chat environment and offering additional features as part of that experience. Harder to abstract a lot of that out.
That said, Gary Kramlich's been working on this diligently. (If interested, he also regularly streams development over at https://www.twitch.tv/rw_grim).
Microsoft even submitted an early draft of MSNP to the IETF. I'd consider (at least the early versions) MSNP the next step up in complexity from IRC, i.e. you can write a working client with both presence and messaging within a day or two. This is from experience of having written a client myself, which I used all the way up to them shutting down the servers.
Used simple usernames/passwords for authentication (just fewer hoops to jump through)
Earliest ones were literally plain user/pass, then followed challenge-response, and later MSNP used something surprisingly similar to OAuth, where you authenticate out-of-band to get a token that is then submitted to the protocol server itself.
I had forgotten they tried to standardize the protocol!
Yeah, it was surprisingly easy. Connect to the switchboard server, set up sessions from there, and then it's all MIME. We even implemented avatars for Gaim by chunking Base64-encoded images over MIME messages (they had a max length), which MSN would ignore but Gaim would use.
We never had any trouble from the MSN team. Rumor had it at the time that at least one dev on the team was secretly a Gaim user, and they just looked the other way.
We never had any trouble from the MSN team.
Judging by the huge number of other thirdparty clients, I don't think Microsoft bothered to do anything about them, and almost treated it like they did Windows piracy --- they would rather you use a thirdparty client with MSN than a competitor's network; I suspect the fact that this was also not long after their antitrust lawsuit also had some influence.
I didn’t take it for granted because I had already been using the prior iteration of incompatible chat apps soup, and I clung to it far longer than most reasonable people would as it became a ghost town on supported protocols.
The biggest exodus at the time (from my perspective) was when Google closed up whatever their current branded chat service was. But the real nail in the coffin (again from my perspective) was Slack, for the fairly obvious reasons that chat is their primary product and active/paying users is their primary product. Of course the rise of other chat-first apps successful with the youngs, and well positioned instant incumbents from social media, the coffin had many nails.
But it really is a shame this era came to an end. I don’t know how it could have gone differently given the incentives and circumstances, but I’d go back to those tradeoffs (basically everything works in one native app where I can talk to anyone I know however I want to, but probably direct file transfers are gonna fail most of the time) in a heartbeat.
See this page for a list of all the third party protocol support https://pidgin.im/plugins/?publisher=all&query=&type=Protoco...
The Matrix protocol itself sometimes also leaves much to be desired. It's much more modern than XMPP, that's true, but the fact that you can't send an image with text in a single message is just... How did everyone involved decide that it's reasonable? Did people design the UX on top of a protocol when it should always be done the other way around?
The main issue I'm having with every single of the modern IM apps is that they combine the chat list and the chat switcher into a single control. It's part of the overall unfortunate trend of touchscreen-ification of desktop UIs. Tabbed chat windows need to make a comeback, yesterday.
We're not really moving forward with the proprietary chat protocols (Slack, Teams, Whatsapp). It is a much, much harder problem to solve than MSN and Yahoo ever was.
Slack was definitely a major blow. I used Campfire at work but we still had to use other services, usually gChat, to message privately. When we migrated to Slack in 2014 or whatever, we now had a service that allowed private messaging AND had mobile apps too — something that the old era of the Adium/Pidgin/Trillian’s never quite executed on (I know there were mobile AIM and gChat clients back in the day; I had AIM on my SideKick in high school and a number of decentish apps on iOS even, but those protocols just weren’t ever designed or well-adapted/executed to push messaging a la BBM or iMessage or SMS the way it needed to be — largely thanks to the wireless carriers who wanted to keep a hold of that pure profit SMS for as long as possible.) We had mobile-first/mobile-only services like WhatsApp (which immediately took off outside the US) and the GroupMe’s had some success too, but those services were slow to support (if they ever did) XMPP or other bridges to get them working on desktop), so Slack was a nice unifier.
I loved Adium for so long. I even had a Slack bridge I think in it at some point. But I had to finally let it go and remove it from my dock.
I pay for Beeper today, but I don’t use it as much as I would like. But it remains one of the better ways for me to recreate the world I had 10 and 15 years ago.
https://github.com/EionRobb/icyque/issues/27
No big loss, I think there was like 1 other person in my ICQ contacts list that was still showing as online every now and then. Still, it's a neat nostalgia indulgence to connect to ICQ after all these years...
EDIT: I rebuilt icyque from the latest sources and it appears that I can once again enjoy the wonderful world of ICQ!
If anybody wants to chat, I'm 17109168 on ICQ.
OTR is sadly fairly dead; broken encryption, OTRv4 isn't out of beta yet.
The status messages on ICQ and MSN were neat and anticipated Twitter for me.
What made it difficult for me was the added features of certain platforms. ICQ had little games and fancy emojis, and if somebody sent them to you you would miss it. I was really afraid to miss important social interactions :-). Also these apps didn't make the move to mobile, unfortunately.
Lest you think this is less than cool because you don't use Pidgin, bitlbee[2] is a great tool to get slack (and others!) into your IRC client. I haven't run it myself, but I know that it heavily relies on purple[3] for its magic. I can tell it gets a lot of use, perusing the issues on the slack purple plugin[4] for example.
1: https://github.com/EionRobb?tab=repositories
2: https://www.bitlbee.org/main.php/news.r.html
4: https://github.com/dylex/slack-libpurple/issues?q=is%3Aissue...
I am horrified yet morbidly curious how an IM protocol plugin ended up being OS-specific in the first place o_O?
Now I'm more connected than ever - I have everyone I know IRL on WhatsApp, FB Messenger, Instagram - but also never chat to people in the same way. I only chat to people I don't know IRL through sites like HN or Reddit which, in 7+ years, has never led to a connection with someone.
Other times people have intuited this without me explicitly saying so. To credit the HN community, these surprise off-site contacts have been 100% positive so far. (I really hope I didn’t jinx that with this comment.)
I cannot remember what the name of the application was but it was very handy.
I have a public blog post on my patreon that goes into some more detail if you're interested. https://www.patreon.com/posts/what-were-with-3-78291546
How bad are the API changes? Will people be able to use existing libpurple implementations?
I loved Pidgin when I was a kid, and really admired its developers. I remember it as a reliable, flexible, unobtrusive, lightweight app that simplified my life. If I could run Pidgin instead of Teams at work, I would be so, so happy.
I don't want most of Teams' embedded Office widgets. I'd rather use the full fat Office apps, or the web browser versions, where at least I can hack in my own 'dark mode' to help with contrast issues I have.
I can't think of anything built into Teams which I don't remember Pidgin having that I would not gladly give up.
I'm looking for contributors: if you too hate Teams' performance, this can be a good starting point (:
The pessimist thinks it's half empty
Microsoft excel thinks the glass is January 2nd
They currently seem to love the "hieroglyphic controls floating in a sea-of-whitespace(or blackspace)" trend.
It seems like the real problem has to be deeper, having to do with upstream business demands or fashion trends among UI designers pushing designs from their original contexts into contexts where they no longer make sense.
And the download button when someone sends you a file would still not work.
On a computer, shrink the Teams application to its smallest allowed size, the hold up your phone next to it. Teams can display on the phone, so why can't you shrink it down to a phone size?
cmon microsoft let me have my small chats. It's been in your uservoice thingy ever since launch.
I really miss the days of a unified chat application (anyone remember how amazon the chat app on the Palm Pre was? It'd seamlessly switch between jabber/aol/messenger and sms)
I've even written my own libpurple plugins for chat systems I've had to use. I do wish libpurple had better tutorials and documentation though!
Many of these probably just extend the existing API and others may not break things just not work but if someone pins a chat, starts a poll, or sends a new reaction and you don't know it because your client isn't keeping as up to date with these sorts of things it can be annoying at best and problematic at worst. It gets especially bad if you consider meeting chats, it seems like there is an endless stream of new functionality happening there like stuff around breakout rooms.
I totally did not understand what was the issue. I suspect, but only suspect it was the intersection of the vendor specific aspects of closed-walled-gardens, and not entirely grokking applications-layer specification in a body which focuses on the transport-network-routing layer problems a lot.
Note that the resemblance to Skype (and even references to Skype in the source code) are not coincidences; Teams is AFAIK largely based on the same backend as MS-Skype.
Regarding the MS teams, plain text messaging covers a huge part of use cases, provided the third party client implementation warns the user about limited rendering support, allowing fallback to genuine MS client.
Good times.
If you can, consider making a donation to Pidgin via https://imfreedom.org/