Pidgin – A Universal Chat Client
pidgin.im
pidgin.im
I build a MacOSX app bundle for the original Pidgin long time ago (https://sourceforge.net/projects/pidgin-macosx/). At that point in time, this was not so trivial, as the GTK support for native MacOSX was experimental (http://www.gtk-osx.org/). You could simply use the X11 GTK version but I rather wanted to have a native version. I have no idea what the current state is with GTK on MacOSX. This Pidgin build is obviously very outdated now (from 2009), and probably does not run on recent MacOSX versions (they are frequently breaking backward compatibility...).
I ran into this ~ 6 months ago when I was trying to make Slack work in Adium. The plugin for Slack was outdated. There was a newer libpurple Slack plugin, but it wasn't compiled for Adium. I attempted to recompile it, but I couldn't seem to manage it, all of the tutorials on how to do it were super confusing...
(If anyone knows how to make Slack work in Adium in 2021, please let me know!)
I don't know whether Adium eventually moved fully onto libgaim. I seem to recall it only used it selectively, but I stopped working on those projects years ago.
Been very happy to Pidgin's maintenance resume. Gary Kramlich's been doing a fantastic job reviving it, and I'm hoping the same will be done for Adium in time. We really need a modern multi-chat/IM client for the modern era.
If it wasn't obvious, libgaim became libpurple, not the other way around. Too late to edit the parent comment, but felt I should clear that up.
I had friends of MSN Messenger, Yahoo Messenger, GTalk and for a very limited time ICQ (Actually it was the same guys on all networks :) ). There weren't any network effort, people were willing to try out different IMs for their uniqueness.
Lots of companies were trying to produce integrated chat clients - Pidgin, Meebo, Trillian, Digsby and a whole lot of guys on Mobile targeting Symbian OS (could recollect only Nimbuzz though.) I loved Digsby because it acted as a POP client too.
I even worked for a company that forked Ignite Realtime Spark and tried adding Gtalk and MSN support. When I was freelancing one guy asked me to clone meebo for $500 .. and I accepted :facepalm.
We've all said yes to those kinds of deals at least once. I once did a website for a company full-stack from setting up the backend to design and frontend JS for ~$600. I wasn't as experienced so I didn't value my work as much as I should have.
Meebo too, back in high school we'd play cat and mouse with Meebo Repeater, and a few other fun sites (an image board for our school, a really rough freeware proxy) with the IT guys. All run out of old pcs we had in our closests. Highlight was when they redirected the free url we were using to Barney.com
I wish for open and federated protocols to gain recognition and adoption up to a point where we could just move on with the drama, ah!
- privacy in general, with asynchronous e2ee with forward secrecy and minimization of metadata
- reactions. They might sound childish but they're a good way of acknowledging something without polluting the chat itself
- proper support of files, including easy display of all media and search
- probably the biggest: voice/video calls. "Some support" clearly wasn't good enough.
Now it's a really hard place for Pidgin to sit in, because it can only follow what the protocols do, not push them to do more or to standardize.
On-topic, Pidgin remains great, I still install it on every new desktop, but I haven't fired it up in years. I suppose it's been displaced by Slack, more's the pity.
When developers talked about protocols rather than products.
I and most of my friends do.
They are also responsible for my favorite bug report ever: https://bugs.gentoo.org/35890
So yeah, ditched it
IRC
ICQ
MSN
Yahoo messenger for some people in japan
Whatsapp, but noboday was there haha
Whastapp, some people there
FB Messenger
iMessage, but bugs with normals SMS, so disabled it
Google talk.. used by some, but I like to de-google a bit.
Back to whatsapp
kakaotalk, line, and wechat for research / gaming
Telegram. don't like it at all
Signal. kind of buggy
So in the end, I'm using whatsapp ads it's still ubiquitous here, and it's one of the most secure platforms.
Jabber a bit,
AOL Messenger,
Blackberry messenger,
Bloomberg Messenger (bank paid 2k per month for it!),
Skype for messaging,
Keybase (kind of cool but too heavy),
Slack,
and now Element Matrix.
Its one place sometimes I think regulation might be good to force standardization (like electricity or phone standards).
Oh and when I go to asia I use the ones there - viber, line, wechat etc.
IRC
ICQ
AIM
Trillian
Skype
Slack (just co-workers)
Discord (just co-workers that are friends now)
Must be like over a 30 year period of time.
Nice https://memegenerator.net/img/instances/24953235/nice.jpg
It's amazing how much spinning happens in current media. The only people in the world who truly know how much this is are those who get the headlines before the stories are written and talked about, like day traders, who get it for speed reasons. It's cool, but it sucks it costs so much to get an unfiltered news source.
and then marked as duplicate.
seems like a lot of arguing went on on this bug tracker, very amusing to read
[0] Not that Google Chat, the other one.
There was no product named Google Chat until recently.
I thought it was Google Chat.
Hangouts chat came wayyyy after Google Talk or even its integration into gmail (I know, it's hard to keep track of the chronology of these Google services, they release 2 new ones a year)
(On topic: I use it with pidgin still though for the one-on-one chats with a few people!)
I'm fairly certain that I'm using Pidgin's XMPP functionality to communicate with others that are receiving their end in Google Hangouts.
Fun fact: if you were on a non-Google server talking to someone on Google Talk and they clicked the button to "upgrade" to Hangouts, on your end they would show up as perpetually "away" and any messages you sent them would be blackholed. Yes, that was as frustrating as it sounds.
- Google used to support XMPP federation, and they pulled the plug on that years ago.
- Any new features introduced as part of Hangouts haven't been backported to XMPP, and so there may be random breakage when XMPP users talk to Hangouts users.
http://www.coding2learn.org/blog/2013/07/29/kids-cant-use-co...
Spoke to friend this week, she told me she doesn't have a computer. That's increasingly common. People get by with their phones.
A lot of this has to do with the ecosystem and how a device is presented and what the UX is like. Manufacturers increasingly want to lock things down and hide them away.
I agree that this trend should be fought.
The same could be said about 90% of laptops and desktops purchased for home use. How many people actually use "computers" for tasks they couldn't do on a phone or tablet if those devices had larger screens and keyboard support.
The true dumbification of computers started with smartphones. iOS and Android are the primary drivers of this change, of treating computers as appliances. Microsoft unfortunately embraced this trend in recent years, they quite openly say Windows is an OS-as-a-Service now[0]. Still leaves plenty of control points to exploit[1], but it starts getting in the way.
--
[0] - https://mastodon.technology/@temporal/105385475519240956 - I almost spit my tea on my keyboard when I saw this popping up the other day.
[1] - That's why I'm using a Windows 2-in-1 instead of an Android tablet.
I remarked that UI/UX is so simple nowadays that kids aren't gonna have the wherewithal to do their own troubleshooting for bigger issues and how irreparable a lot of devices are now the insides of computers are gonna be completely foreign to them.
Gonna bookmark this now.
Yeah kids can't use computers, because they don't come with knowledge pre-installed, but the ones who are interested will figure it out. It's not like there's a shortage of resources. And if you're concerned about your own kids, then teach them and they'll have a nice advantage in school.
when steam engines were replaced with the otto motor and cars became available to the general population, people were able to repair and understand the engines themselves. they had an understanding of mechanical principles. a few generations later, and only car nerds understand cars.
everyone else has to go to a mechanic to understand why their car's engine won't start or why it sounds so strange. and those weird mechanics will fix the car for them.
nowadays people are mechanically illiterate.
/s
my point is, when a technology becomes convenient enough so we don't have to think about it while it fulfills it's purpose, then you don't have to understand it to use it.
this creates the need for specialists. is that a bad thing? i say no. who defines what should be basic knowledge and what not? we don't all need to be a mechanic, a chemist, a doctor and an ITC pro.
Is a tragically limited view of what computers are.
Programmable computers are fundamentally different from steam engines. A steam engine will never be anything except a steam engine. Most of the manufactured objects we encounter in everyday life are similar: single- (or occasionally multi-) purpose goods that do what they were designed to do.
A general-purpose computer is not like this. It can be made to serve virtually infinite purposes. It can be made to do things the manufacturers never imagined anyone doing, and things the manufacturers wished it couldn't do.[0] Almost nothing else has that kind of raw potential for human expression. Perhaps a blank notepad and pen might be analogous.
I guess you could say a computer computes, but that's using an overly broad term to deliberately elide the point.
The things is that you don't need to be an IT person to use applications, as it used to be. So fewer people learn IT skills just so they can play a game or layout a document.
I know very little about cars but drive one daily. I can see how other people don't bother learning about computers just so they can write up a report for their job or order stuff on Amazon.
I like your poetic description of general-purpose computers. But I'm wondering why you think less of general-purpose machinery.
In another sense, computers are closer to pencils and paper - they're the tools you use to design the rest of the tools. And that's something special.
A general purpose computer, on the other hand, includes a power supply, and generally doesnt need tools that change matter to retarget it for another application; the tools needed to do so are made of information, and are thus readily available.
Granted: we as CS folks and business folks are choking off our own sources of talent by hiding the tools and keys needed to truly examine our systems, all in the name of "user-friendlines", but its still possible to use what is exposed to learn computing basics like how wifi works, or what a proxy server are.
To be frank, I think this distinction is precisely why I get frustrated at computing incompetence: a PC at home isn't locked down and has access to these tools. Anyone can learn -- even using a web browser and notepad to write JS.
In contrast, learning how an engine works requires mass-based tools that are big and expensive and require careful knowledge of how to not harm yourself when disassembling or working on the engine.
This distinction is massive, and yet we still use analogies to cars. Shops with tools are not plentiful and readily accessible to average people, the engines can't be examined from the inside out, coils and springs are dangerous physically. I can't just go looking to take a class, either: not all schools have shops!
As recently as the early 2000s, ordinary users were comfortable searching out and installing new software. I remember Napster becoming absolutely massive, and it wasn't because the IT folks installed it for users.
People who don't know how to use computers treat them like a magic box that may or may not do what they want to, if they use the right magical incantation.
Computers inexplicably don't do what you want them to do all the time, though. Modern cars, by contrast, are incredibly reliable even with extremely insufficient maintenance.
Car analogies applied to computing tend not to be very good, at least partially for that reason.
Are these parts not part of the car?
And then there is the stuff that is often different car to car, like where lights are, how to adjust certain settings. Want to pair the Bluetooth in your Mercedes to your phone? I consider myself extremely proficient at computers and absolutely know how to use one in almost any capacity and even I’ve struggled with its lunacy (which is much more a reflection on Mercedes bad in-car systems that vary model year to model year and can differ based on what options your dealer ordered).
The author makes his point pretty clear here:
> Not really knowing how to use a computer is deemed acceptable if you're twenty-five or over. It's something that some people are even perversely proud of, but the prevailing wisdom is that all under eighteens are technical wizards, and this is simply not true.
He then offers some suggestions for how to help kids become more technically proficient with computers because he thinks it's a useful skill to have.
A common refrain is "I'm hopeless with math/numbers".
And to be frank, calculators exist, so as long as you know how to get to the answer you need... I don't think I have a problem with it.
A computer is something you can use to consume content or produce content.
A tablet is something you can only really use to consume content. (Regular tablet, not artist tablet obviously, and those generally have to talk to a computer)
We don't need to, true, but we can... and it can be fun too... why choose less, turning into mindless content consumers?
But the number of things you can do with a computer expands enormously when you know just a little bit of bash scripting, or python, or even Excel!
I set up a dedicated youtube-dl box in our office to get around the exact visitors-with-PowerPoint-and-YouTube-videos thing he mentions
I can certainly understand that one would do so on the go, but it seems extremely cumbersome to do a school assignment on a phone keyboard.
I think the average person that doesn't need to do heavy editing, coding, etc. can get by with an iPad Pro w/ some accessories.
Let's leave the general computing devices for people who actually need that power, just like the early days.
How about making _general_ computing devices more accessible via UI/UX to the _general_ public? That doesn't seem like such a crazy idea.
It doesn't matter how much you improve it's ui/ux... if it's not a desirable feature to the general population, few will ever use it.
This seems to be getting worse, for example Google and its financial institution partners have decided that general-purpose computing and payments aren't safe together. Google Pay suddenly started refusing to do contactless payments on my rooted phone.
While I agree with the sentiment, and some of the complexity is not essential, the adage still applies: "everything should be made as simple as possible, but no simpler". At some point, "general computing" means there's some irreductible complexity that cannot be made simpler without the device ceasing to be general purpose.
That's pretty much what the iPad is. A general purpose computing device but easier to use and with tighter security than a PC. At some point you end up sacrificing versatility for accessibility to the masses.
This article explains it well: https://hisham.hm/2020/12/10/smart-tech-%e2%80%94-smart-for-...
With that attitude, eventually the impact of economies of scale will end up denying us the ability to afford those devices or to use them how we see fit.
The problem GP refers to is this: making computers is expensive, gets cheaper with economies of scale. But economies of scale are capital-intensive, so they exist only where there's a market for it. The market for people requiring general-purpose computation is small and getting smaller, while the market for constrained computing is only ever bigger. Which means at some point the capital-wielding companies will just leave the market, and the prices of new general-purpose computers will go way, way up.
On top of that, computers today gain most of their value interacting with other computers. Once the mainstream usage - like your e-mail or your bank - gets neatly packaged in sandboxed, trust-computing-enabled environments, the utility of your general-purpose platform will plummet. A dark but entirely possible scenario is that it eventually becomes illegal to use general-purpose computers to connect to such services, because "security".
I could picture a CPU design that had a boot key or other restricted features set by blowing fuses (or similar tricks) during packaging. The "developer" unit leaves them unblown.
If they're selling 10M "regular" units per year, and 5000 "developer" models over the product lifetime, you have to amortize the cost of special-casing the production line for a short run, and stocking and supporting a second SKU, over a relatively small sales volume. It could well be more expensive than the few cents of electricity per unit to blow the fuses in a standard unit.
Edit: Nope. https://github.com/matrix-org/purple-matrix/issues/18
I purely use it as a chat client and avoid most of the more complicated features, since I don't use them.
I certainly have no wish to have five different clients open, many of which not even scriptable when I can have all my contacts in one list.
ICQ is alive and well, and has native clients for most modern OSes.
It got bought out and spun off when AOL were shutting down.
Not sure I expect much more out of somebody that codes for AOL software.
you could literally be critiquing any of 10 onion-layers of dialog allegedly about an extinct PM client, but it turned into a "no one uses computers anymore, just phones" tale.
I cannot tell if you are pro-AIM or a paid Slack user
It's not that deep. Someone unironically saying "Does not everyone still use [Pidgin]" is legitimately out of touch with consumers today.
15 years ago I had ONE messaging app that logged me into MSN, ICQ, QQ, Zephyr, Gtalk, Yahoo, AIM, Facebook, and Renren.
On that one messaging app I had either written or downloaded plugins for:
* End-to-end encryption (receiver needed the plugin as well)
* Automatic two-way human language translation via online translation APIs so I could have a conversation with someone who didn't share a common language with me
* Automatic two-way conversion between simplified and traditional Chinese. (I can read both, but traditional is faster for me, so I had it auto-translate all simplified to traditional for me, as well as auto-translate all of my outgoing traditional to simplified on a per-user basis for the receiver's convenience.)
* Ability to create conversation groups across networks, with my account serving as a gateway.
* Automatic rendering of in-line LaTeX math equations.
* Controlling of IOT devices, and allowing access to my dorm room for guests by having them send me an instant message with a certain secret word.
* Cloud-based logs of all of my messages.
* Online gateway that allowed me to access all my message logs from anywhere on any device and any OS with a web browser.
I feel like we've gone backwards. I now have a dozen different closed-protocol, walled-garden messaging apps, some of them even actively try to PUNISH you for trying to decompile and edit them, translation is not automatic, cloud logs only exist on Facebook messenger, E2E encryption is skeptically touted and paraded as some new thing even though I personally had real open-source E2E encryption 15 years ago on ALL my messengers, and everyone is siloed into their own apps and there is no way to send messages across networks.
Sigh. Tech in 2021 sucks. I honestly felt my messaging was way more advanced 15 years ago.
I seriously miss the days when all of them would be in the same app no matter what service they were connected through.
They never provided third party APIs. The work of developing a unified messaging client was in getting around the ways in which they tried to stop you from interfacing with their system, and responding quickly when their countermeasures updated.
We haven't seen a change in the behavior of chat providers; we've seen developers give up on trying.
It's not entirely different than the current situation, in that regard, but there was also less security baked in on the older services, and much of the protocols were in plain text.
It's funny. I was just reminiscing about all this a few days ago on Twitter. https://twitter.com/chipx86/status/1352371276464050181
While I'm out of the IM game (gaim?) these days, I'd be very interested in any modern attempts to reverse-engineer these modern services, and whether the pushback from companies would be any different.
Ripcord (https://cancel.fm/ripcord/) doesn't seem to be giving any indications that it no longer works, but ¯\_(ツ)_/¯ (and probably for fairly large values of ¯\_(ツ)_/¯ too)
My computer is generally only able to handle one Chromium-based HI I EAT ALL YOUR RAM AND GPU, so I basically treat Discord like email as a result of the no-3rd-party-app policy. Given that the Discord "app" is just Electron, it'll get in a fight with the poor thermal design of my laptop in exactly the same way on the website does.
This being said, it's very difficult for me to argue loudly against the position they're, because it's complicated.
Discord has scaled to the point where "13 year old skiddies who like pulling legs off spiders will use any alternate clients they find [which don't include anti-spam protection] to send a {server,reputation}-destroying level of spam" is having a more measurable impact than "we need to maintain equality of access". I suspect that extremely strong management vision+competence would be necessary to prioritize this - as things stand right now, it's incredibly easy to deprioritize because the vast majority of people using Discord either have minimally-viably decent machines appropriate for playing games or completing actual day jobs.
Obv these kinds of things with unsupported potentially hostile APIs put high requirements of diligent maintenance.
IRC kept dropping connection and requiring new nickserv sign-in.
I thought libpurple/pidgin were mostly abandoned and that this would not be likely to improve , but it’s great to see that there’s hope and I might have been dismissing it prematurely.
That said, it is annoying how so many chat services have gone out of their way to break the ability of 3rd party clients like Pidgin to work. :-(
Pidgin's psychic mode plugin was great fun, though.
Given all those things with hindsight, it makes perfect sense for browsers to have long lineages and it makes perfect sense why standalone chat services mostly died out.
Sadly I don't do real-time communication anymore and even if I do I don't think any of my pidgin/adium (XMPP) contacts still use them.
Trillian used to be like Pidgin and Adium on Windows but then they went and made its own IM service.
Pidgin and libpurple also have roots in another project called Everybuddy which was one of the first multi-protocol integrated free software chat clients. As I recall, Torrey Searle started Everybuddy because he was having a hard time getting traction on adding multiple protocols to GAIM at the time for a variety of reasons my hazy memory doesn't really remember.
For a couple of years after GAIM started to get plugin and multiple protocol support, much code was shared between GAIM and Everybuddy, and then eventually effort centered around just one of the code bases which eventually became Pidgin and libpurple.
Source: I was involved in GAIM early on and Torrey is a friend from those days.
It's been a REALLY long time.
15 years ago I had ONE messaging app that logged me into MSN, ICQ, QQ, Zephyr, Gtalk, Yahoo, AIM, Facebook, and Renren.
On that one messaging app I had either written or downloaded plugins for:
* End-to-end encryption (receiver needed the plugin as well)
* Automatic two-way human language translation via online translation APIs so I could have a conversation with someone who didn't share a common language with me
* Automatic two-way conversion between simplified and traditional Chinese. (I can read both, but traditional is faster for me, so I had it auto-translate all simplified to traditional for me, as well as auto-translate all of my outgoing traditional to simplified on a per-user basis for the receiver's convenience.)
* Ability to create conversation groups across networks, with my account serving as a gateway.
* Automatic rendering of in-line LaTeX math equations.
* Controlling of IOT devices, and allowing access to my dorm room for guests by having them send me an instant message with a certain secret word.
* Cloud-based logs of all of my messages.
* Online gateway that allowed me to access all my message logs from anywhere on any device and any OS with a web browser.
I feel like we've gone backwards. I now have a dozen different closed-protocol, walled-garden messaging apps, some of them even actively try to PUNISH you for trying to decompile and edit them, translation is not automatic, cloud logs only exist on Facebook messenger, E2E encryption is skeptically touted and paraded as some new thing even though I personally had real open-source E2E encryption 15 years ago on ALL my messengers, and everyone is siloed into their own apps and there is no way to send messages across networks.
Sigh. Tech in 2021 sucks. I honestly felt my messaging was way more advanced 15 years ago.
But what do I use it for? Nowadays I talk to people on Facebook, Whatsapp, Instagram, Slack and Telegram and none of them can be used on Pidgin.
Not Pidgin's fault I know. Just companies trying to lock people in.
I need to try this immediately.
But new, younger people are coming up every day and not all of them are up on the old hits. AIM is totally dead, and even some of the other protocols you might use pidgin for, like standard xmpp, as I used to do with pidgin and gtalk, are not as relevant as they were before.
Audio never seems to work, fortunatly in the rare occasion someone calls it also rings my phone. Most of my chat for work is on slack or WhatsApp, just some real old school people that use the Skype protocol.
I used Pidgin until 2011, I guess. There was Pidgin portable, which was very easy to use on computer labs where you don't have install acess.
Then most people switched to BBM. I worked as a BlackBerry dev at that time, so I followed that path.
Pidgin was great back in the day for convenience, but there is a legitimate argument to be made for privacy here too.
EDIT: It just occurred to me that this would probably work on linux phones. Anyone with a Pinephone or Librem 5 tried this?
Can't have a non-monetised, FOSS, universal application available in the app stores! That's like ... that's like COMMUNISM, or something! /s
For iOS IM to work, a centralized server (and corresponding developer ID) has to send a notification to you, sent first to Apple to be proxied via Apple's push notification service (APNS) to which each iOS device maintains a persistent connection.
This means that some third party service has to know when you get a message (and thus needs to proxy your connections to the IM services, and know your credentials and see your message contents) to be able to know when to send that notification.
This (and Signal now replacing the cryptographically shattered iMessage) is probably the main reason I'm switching to Android; truly decentralized/private notifications aren't really possible on iOS. They have to come from the app developer's own 24/7 online servers, sent from them to you via Apple servers, which means that federated stuff is basically out without providing your login details to the developer (which of course lets them see all your messages). This is also why almost no ActivityPub/fediverse clients can notify you of DMs on iOS either if you run your own instance.
I know there's Background App Refresh now that lets apps wake up periodically to download stuff; I'm not sure if such polling can fire off notifications from the local app. It's probably too much latency for IM, however, due to the fact that Background App Refresh isn't (last I looked) allowed to run continuously (for battery reasons).
The main reason for the restriction to apple-only for notification services is battery life, and they've been proven right by bad behavior demonstrated on android.
Interestingly, if your a VOIP app you can actually circumvent a lot of the background networking restrictions, but it's still hard to do when you don't have an active call in place. You also have to be an actual VOIP app to get approved with that entitlement. Which wouldn't be hard to get approval for if you made a fork of signal for example, since it does have real VOIP capabilities inside.
Either way the battery life of your device would be worse with your custom VOIP app always keeping a connection open vs. apple's native OS notification system.
These APIs were removed a while ago. As an example, pure SIP clients (without a SIP<->APNs proxy operated by the app developer) are no longer possible for iOS.
Android seems to be headed the opposite direction from Apple when it comes to background service execution and network connectivity. I wouldn't be surprised if background network connections are the next thing to go.
> which means that federated stuff is basically out without providing your login details to the developer
It's definitely possible to support federated push, although it's admittedly more work for app/protocol developers: The app developer would have to set up a "push proxy" server that accepts push notifications addressed to a specific iOS device.
It would be nice if Apple was to allow optional sourcing of "anonymous" pushes for such use cases, but that doesn't seem to be in line with their desired level of control.
the main reason I'm switching to Android
You may be interested in reading this comment then: https://www.reddit.com/r/signal/comments/ap9lin/comment/eg7v...
Likely, iOS version of Signal uses the same “empty ping” technique, so you don’t have to worry about Apple reading your texts, unless you’re concerned with metadata leak. But unless they’re spoofing a websocket with fake packets, it will leak anyway.
First, that “server” is Signal server itself. When a message arrives at it, it simply commands Apple to wake up your app, for it to call home, and that’s it. It is preconfigured to do that (and GCM as well).
Second, all Signal messages are end to end encrypted and neither of Apple, Signal, Google, your ISP, any server on the route of it NEVER know its content, because the only mean of decrypting it resides in a memory of your client app. There is basically no way to see the contents before your client receives the message, by design. Even if that were not the case, various IM servers don’t have to send your texts to Apple, only if they want the text to be shown on a notification itself.
The only theoretical concern here may be that Apple can somehow pick the decryption key out of the app’s memory (because ios is a supervisor, obviously). But that can’t be the main reason someone swithces to android, which is a supervisor itself, and where the same issue exists.
In a centralized system where the mobile app is made by the same people as the IM server, of course the IM server can send a notification to the app (such as is done in e2e stuff like Signal, or in non-e2e such as Telegram).
That falls apart when you're talking about, say, ActivityPub on an instance you run yourself, or one not operated by the vendor of the IM app. The developer's server can't know when to send you a notification without having some knowledge, from your own e.g. IRC, ActivityPub, or Matrix server, that you have received a new DM.
The Matrix/Element people have addressed this by running one centralized notification service for every single client of the Matrix/Element iOS app.
Sorry, I misunderstood that.
Could you expand on this? I did a quick search but I don't see anything relevant that's more recent than 2016.
It's still relevant.
> In a nutshell, the Apple Developer Agreement is the biggest "problem" preventing a Pidgin build for iOS devices. We won't quote the exact text here, but the Agreement requires that developers allow Apple to impose additional restrictions on applications above and beyond the application's own license. Among these additional restrictions are the well-known "5-device limit" and a prohibition on redistribution of the application. It is also quite clear from the terms of the Agreement that the developer of an application is not the distributor of the application in the App Store--Apple is.
> The additional restrictions required by Apple directly violate the GPL Pidgin is licensed under (Pidgin is licensed as "GPLv2 or later," and cannot transition to GPLv3 for a number of reasons not suited for this topic). GPLv2 forbids adding restrictions above and beyond those included in the GPL's own text, thus any distribution via Apple's App Store is a direct violation of the GPL. This is the root of the problem.
Sorry, but I'm not familiar with this – could you share more please?
TIL it's now 10 devices...
I think the idea is that you don't tie all your friends' devices to your account to share apps etc., but I am just guessing.
It has subsequently been increased to 10.
Quick search reveals that up to 5 devices can be tied to the same Apple account: https://discussions.apple.com/thread/8030144
There are many ways to skin this cat.
It's not a commercial project with a CLA, it doesn't have a single owner, many of the people who contributed major parts have moved on or would object to a license change from copyleft to permissive, so it's not a matter of "just change" the license. And libpurple is the real meat of the project.
I followed a few of the developers for a bit as I really wanted to work there. I believed they got aquired into the g+ team (gchat? maybe?).
What is lost when they make Pidgin available on the App Store (under the restrictive App Store license) + under GPL (on their website) as opposed to not having an App Store version in the first place and releasing under the GPL only?
I don't see how the presence of a second, more restrictive license invalidates the GPL given that anyone willing to take advantage of something not allowed under the more restrictive license can still do so under GPL?
It's either GPL with all the rights that entails, or you can't (legally) redistribute it at all.
Now, if you own the copyright you can give out as many parallel licenses as you want. But pidgin & libpurple have been around for 20 or more years and have had many, many contributors, and they have to explicitly give up their copyright or consent to the license change to do what you propose. That's theoretically not impossible, but it's a lot of work.
This is why some projects require you to sign copyright-assignment agreement before they will take your patches—it gives the project more flexibility to change the license in the future.
So Pidgin (gaim for those of us old enough to remember those days) should run fine without a port.
The problem is the lack of SoC documentation. There is some progress for the camera though: https://source.puri.sm/Librem5/linux-next/-/issues/44#note_1....
Sure. Was saying that this should work out of the box (at least for the most part) on a linux phone. No port necessary.
I want to be supportive but holy hell am I frustrated.
I've kept an eye on other phones throughout the years, but nothing quite ticks the same boxes (and by far most things aren't even remotely close).
There are some other interesting phones on the horizon (Librem, PinePhone), but then again things like Maemo Leste are ready to breathe new life into the N900, so I might be using it for very long time yet!
You really need push notifications, but AFAIK, push tokens are tied to the app developer; you can't give an random server a token from your app, because they won't be able to push to you.
Also, I've used Pidgin as my main mobile IM client back in the day on the Openmoko Neo Freerunner.
The only thing I find is here: https://developer.pidgin.im/wiki/CHowTo (Their new website https://pidgin.im/development/ has nothing on making plugins)
But it does not explain things like How to create new chats/IMs, how to create new buddies, what the Buddy List is (Which I found out, the buddy list https://docs.pidgin.im/pidgin/2.x.y/blist_8h.html is NOT a list of buddies that you have, but is a list of things like all of your chats, a list of buddies, and some other things I have yet to figure out, and this is needed for libpurple to understand what chats you do and don't have).
They explain what their APIs do, but I have been typically finding it much easier to look though Matrix's libpurple plugin (or some of the more established plugins) to figure out how they do things like make a new chat room, add buddies, etc.
Perhaps it is also because I have only been looking through others code, but I feel like the APIs are a bit on the limited side (Like trying to add two pictures and text in a single chat, for example. Do I send two files then make text? do I add one picture at a time?).
I hate to say, it makes it really hard to try to make/support/extend plugins.
(For those curious, I have been working to add MMS support to libpurple: https://source.puri.sm/kop316/purple-mm-sms , so that the Pinephone can have MMS support).
The guy who ran the project back then was an arrogant sanctimonious asshole. Everything was a goddamn power play with him.
I left that project quickly for greener OSS pastures.
Maybe the v3 API is better, but tbh the v2 API feels very much like it was designed for the AIM/MSN days. Not that there's anything wrong with that, it just makes the plugin architecture feel very inflexible.
But the Chatty folks seem to be moving away from libpurple (for much the same reasons), so I don't know how much more I will work with it.
https://pidgin.im/development/faq/
I can say first hand that the info in "How can I create a conversation with someone?" is flat out incorrect. Look here:
https://github.com/matrix-org/purple-matrix/blob/master/matr...
Before you create a conversation, you need to add it to the blist (buddy list, which is NOT a list of contacts, but something different). If you don't, pidgin has issues displaying the chat!
https://github.com/matrix-org/purple-matrix/blob/master/matr...
BUT, that will immediately SEGFAULT if you don't have functions such as:
https://github.com/matrix-org/purple-matrix/blob/master/libm...
https://github.com/matrix-org/purple-matrix/blob/master/libm...
And a couple of others. I only found that because the Chatty dev was able to find this.
Even with that, it refuses to remember that you have a chat after closing pidgin. How to fix that? Well that is a great question....as I simply don't know.
The big obstacle to sending video back in those days was one of bandwidth and storage space - it's not difficult to add to the protocols. IRC is a pretty well-known client for easily sending files - it's purely a design decision not to display them in-line like Discord and Slack.
This is such an IRC user take. On the same level as not understanding what the point of dropbox is when FTP exists.
The failure of FOSS to understand what users actually want is the reason proprietary platforms took off. Matrix is the first attempt to create something similar to what users use and want.
I thought about writing a list of all the things I use on discord which IRC doesn't support but it would be a waste of time because its almost everything discord does. Even basic sending and receiving messages is close to impossible with irc on mobile unless you use a 3rd party service to translate the protocol in to something mobile friendly.
My past self never would have predicted the world has moved to a form of hieroglyphics of fuzzy animals to talk to each other.
I remember some early IM clients for the iPhone that you had to keep open to be alerted to a new message. Not fun.
I don't think Facebook will allow any client to support chat like they used to do back in the days, unless you do some wired bridging hacks like you have to do in Matrix
Edit - fixed typo
My biggest gripe is lack of support for latest Unicode emoji.
Does it require some bridge hack or something like that?
[0] Technically it's a Google Talk client, but it seems to be able to communicate fine with Hangouts users for now.
[1] Yes we use Hangouts at work for intradepartmental chat.
[1] https://wiki.bitlbee.org/HowtoPurple [2] https://200ok.ch/posts/2019-11-01_irc_and_emacs_all_the_thin...
I was thinking the other day how excited I got about Windows Phone 7 because of how they centralised chats and social feeds from multiple services under a single contact tile. Back then I could see a future where we wouldn't need to log onto Facebook to update our status, or sign into Skype to make a call, but we would instead have a single app which would aggregate all of our communication services into a single UI.
I don't know what happened to that vision. I seem to use so many different communication apps these days. On my desktop I normally have WhatsApp, Signal, MS Teams, Skype, Slack and Apple Mail open at all times and I also keep my phone near me for SMS and calls. Thankfully I don't use social media anymore, but if I did I guess I would also have at least one or two tabs open for Facebook and Twitter.
It seems in recent years platforms have been increasingly restrictive about what you can and can't do with their APIs and chat services such as Slack have ended their support for IRC and XMPP altogether. I understand the move from a business perspective, but it sucks as an end user of these services.
In a lot of ways it seems we've gone backwards from the days of XMPP and Pidgin.
> Modified 2019-04-17 by Anon
This is nearly two years ago, and checking archive.org for the same page (earliest copy is Jan 2020) [0], it seems not to have changed since then.
Knowing that protocols do change with time, this probably doesn't give a good overview of what is currently working with it.
[0] https://web.archive.org/web/20200129221838if_/http://www.pid...
In retrospect, I felt that skype was one of the first here to begin gaining momentum bridging many users into one platform. Not saying here it was good or bad, but an observation my own contacts migrating new a new platform. I had used pidgeon as long as I was actively using a desktop computer which was "always running" so I could see who is online, away, etc. It was a norm then, I find to believe to share your online status.
It's a pity that the font on the new website is too thin for me and very hard to read :\
If you're going to use it,
PROTECT CONTENT by using the OTR end-to-end encryption plugin https://otr.cypherpunks.ca/
WARNING: OTR is opt-in E2EE for every session, and that uses old cryptographic primitives (DH-1536 etc.). OTRv4 is in the works but that's going to take years before you have an upgrade: https://github.com/otrv4/otrv4 (Note that Pidgin-OTR v.4.0.2 IS THE E2EE PLUGIN VERSION, NOT THE PROTOCOL VERSION. The protocol version is still 3: https://otr.cypherpunks.ca/Protocol-v3-4.1.1.html)
In the meantime, use https://signal.org/ that uses modern primitives like Curve25519, and that you can't f up as it's not possible to use it without end-to-end encryption.
PROTECT METADATA by proxying your Pidgin connection via Tor from registration to use. Preferably register your XMPP account to an XMPP Onion Service server. This prevents you from accidentally conneting to the server without Tor which would deanonymize you. List of XMPP Onion Services can be found at
https://gist.github.com/dllud/a46d4a555e31dfeff6ad41dcf20729...
Ask your peers to do so too.
Note, since this is something that requires manual configuration, it's easy to mess up.
A better solution is to ditch Pidgin and use https://briarproject.org/ that you can't accidentally f up as you can't use it without Tor (unless they live in the flat above you, then you can use BT/WiFI), and you can't forget to use E2EE.
Can it work effectively with the more closed system clients that exist today though?
No MS Teams, though.
$ pkg search finch Sorting... Done Full Text Search... Done finch/stable 2.14.1 arm Text-based multi-protocol instant messaging client
finch-static/stable 2.14.1 arm Static libraries for finch
$
In the end I did not like the experience. inline images/web-previews, etc were not enabled (possible by plugin?), ui was a bit clunky and disorganized. Not sure if that is pidgin or the plugins fault.
Which leaves me more grateful than ever that browsers have (more or less) avoided this yoyo between segmentation and consolidation that messaging clients have. It's what keeps me feeling optimistic about the web vs any kind of alternative open protocol for two-way communication like Scuttlebutt.
Bummer, can't even remember my old logins. Not ICQ nor MSN, Jabber on Facebook doesn't work any longer, might be able to figure out the Yahoo, hmm.
I don't feel like downloading DLLs from GitHub and copying them into directories to get Emoji support or to update Plug-ins that break month to month.
I've debated several times switching over to the purple-hangouts plugin so that I can get proper groupchat support, but the last time I tried it wanted me to do some shady-looking stuff with signing into Google and using the Developer Tools to grab the authentication key.
It's cool to do a refresh but please bring the screenshots back and write a bit more about it on the about page - it's empty right now!
Nowadays I use it For Lync, the Business version of Skype.
It even had a Slack plug-in, though I found it too rough to use full time.
So sad that this has disappeared, and what has replaced it is not as good, and in many ways a regression.
All the FAQ for Matrix offers on this point is the ability to unify ones identity across services.
Anything else?
I suggest you actually click on the link and scroll down to the table.
Maybe then I should have asked why still use Pidgin over Element?
For example: https://inconsolation.files.wordpress.com/2013/01/2013-01-24...
I actually tried it again just a couple of months ago but the main thing I miss is syncing / download of server-side chat history.
The same is ultimately true for browser password managers also. Do you know both Chrome and Firefox let you export all your passwords as plaintext CSV?
If the drive is not encrypted, surely for Windows at least it's possible to reverse engineer the encryption secret. Maybe on Mac you could do something with T2, but now your config is not portable, and still doesn't solve the malware on the system case or the "your sibling/visitor/housemate whoever has physical access".
[1]: https://web.archive.org/web/20200830203837/https://docs.micr...
Yes, that's how git does it.
Anyone got fresh experience?
brew install pidgin
https://formulae.brew.sh/formula/pidginOn pidgin, I used to use it and have been considering using it again, but right now I lean more towards WeeChat because I like having the ability to CLI it off a vps but I guess I could proxy my pidgin stuff too which is half of the reason I like doing that. (friends don't let friends irc from home, especially without cloaks!)
There are things like popcon that you can opt in to, but those are optional ("opt in"), and aren't on by default.
Even just on macOS, neither nixpkgs nor macports will transmit your activities to anyone.
I think your "most" claim is inaccurate.
Remove the tinfoil hat, dude.
Everyone. Tracks behaviors to improve the product. It’s table stakes.
Often without a disclaimer!
Welcome to the internet.
Be upset about it if you must but it is not equivalent to “spyware.”
At the very least, they're doing a customer survey without compensation. Even if they have no more malicious intent.
Upset? More like resigned. This is just about calling a spade a spade.
It's a recent trend, but it's nowhere near ubiquitous, and it's still a major violation of consent to exfiltrate a user's data without asking, even if every piece of software in the world did it (as you erroneously claimed).
When software spies on you without permission, there's a name for that type of software.
Yes, HackerNews community member, but we’re talking about software in aggregate amongst products people out in the world use not just your favorite Linux distros.
Analytics are very common now, carry no malice, and are not spyware.
The term has implications that aren’t satisfied here but hey, it’s HN and YOLO. Everything is spyware everyone should use Debian, eat Arby’s etc
In any reasonable definition of spyware (it spies on you to the creator's benefit and not yours) then analytics goes in that category.
Try to give comments the most generous interpretation. That's what silly HackerNews community members agree to in the rules.
It appears we are at an impasse.
In the meantime, I and the vast majority of people will carry on using Homebrew without labeling it as loaded with “spyware” - whether you agree with it or not.
Google bought them and shut them down.
This is the way.
It has limitations, especially on media.
Like literally nothing to add just
"the main maintainer livestreams his work on pidgin on twitch"
"One of the main developers of pidgin streams on twitch"
Edit: of course I got downvoted when I pointed this out. Astroturfing is prevalent on HN as well.