7 ms·
No, it’s the consequence of permitting background tasks at will. Apple took some heat, and there is learning curve associated with doing it their way, but they
by CodeWriter23 8y ago
No, it’s the consequence of permitting background tasks at will. Apple took some heat, and there is learning curve associated with doing it their way, but they actually thought it through and created an energy-efficient architecture that addresses common use cases. And apps that don’t fit those use cases - what are they doing with your device?
- anc84 8y agoCan I run XMPP or IRC on an iphone by now or does it still only receive messages when foregrounded?
- dmitriid 8y agoSlack receives messages with no problem. If XMPP/IRC can’t provide that, it’s not iOS’ problem.
- fixermark 8y agoI don't know why you were downvoted; it's a solid-and-concise critique of the difference in protocols.
- amaranth 8y agoSlack works because of push notifications. A random IRC app can't handle push notifications for you because they aren't the IRC server and aren't running a bouncer for you. On the other hand, the IRC server can't handle push notifications for you because they don't have an app signed with Apple's key sending the notifications. Basically protocols as a general thing can't work on iOS, only individual apps/services which get to read all your messages and access your login credentials work.
- dmitriid 8y ago> Basically protocols as a general thing can't work on iOS, only individual apps/services which get to read all your messages and access your login credentials work. Which I think is a reasonable requirement for a chat service, especially on mobile.
- dithering 8y ago"Use a bouncer" might be the answer there. All engineering is compromise, and needing a bit more compromise to support legacy applications is not unreasonable. (In fact, why are you running a stream-oriented application over such an unreliable connection at all?)
- lol768 8y ago>"Use a bouncer" might be the answer there. Weechat and weechat-android are great choices here. Best CLI and Android IRC clients I've used, and I've tried quite a few.
- anc84 8y agoA bouncer is not a satisfying answer, then I could just use something web-based anyways. My Android tablet is on a stable WiFi network at home...
- admax88q 8y agoMy XMPP client works perfectly on my Android phone. Prompt and reliable notifications of new messages. Better than most "Push Message" based clients I've used for other chat services. It's consistently the last in battery usage as well. Honestly I don't need the OS to protect me from poorly engineered apps, I just need it to correctly blame the apps so I know which ones to stop using.
- apexalpha 8y ago>Honestly I don't need the OS to protect me from poorly engineered apps, I just need it to correctly blame the apps so I know which ones to stop using. No, but the other 6 billion people on the planet do.
- ndiscussion 8y agoWhich is why Apple is so big. Also Walmart. Also Top40.
- vxNsr 8y ago
- rootusrootus 8y agoI run Cisco Jabber on my iPhone, and it seems to run fine. AFAIK that is XMPP.
- JustSomeNobody 8y agoGetting messages should not/does not have anything to do with running in the background.
- lol768 8y agoGetting messages requires an open TCP connection, hence it really is quite important (at least with IRC) that the app stays running in the background.
- JustSomeNobody 8y agoThis is what the push message API in iOS is for. It wakes up the app when messages come in.
- jabberthemutt 8y agoWhich means there is a third party eavesdropping on chat.
- lol768 8y ago> This is what the push message API in iOS is for. It wakes up the app when messages come in. IRC isn't reliant on a proprietary push message API, though (be that provided by Apple or Google). I'm sure there are long-lived bouncer plugins that will integrate with said APIs, but the core IRC protocol is not suited to or designed for devices that aren't capable of a long-lived connection.
- feikname 8y agoReceiving messages (aka "listening" in server jargon) is essentially a background task, constantly probing to check for any changes.
- jsjohnst 8y agoI think the point being made is that’s a terrible use of resources, not only are you keeping the app running, but you are also forcing the power hungry LTE radio to stay on more. This idea that the end device should do all the work is not a sustainable approach. There should be a server side component that is handling this for you and sending push notifications when your app needs to wake up for new data.
- deleted 8y ago[deleted]
- zeveb 8y ago> And apps that don’t fit those use cases - what are they doing with your device? What I, the owner of my device, have directed them to do. Apple's approach makes easy things difficult (because one must use their APIs) and difficult things impossible (because Apple have decided that purchasers of their devices shouldn't be permitted to do things Apple wishes them not to do). I want a general-purpose computer that I own & control in my pocket, not some stripped-down communicator owned & control by someone else.
- fixermark 8y agoYou've definitely made the case that you don't want an iOS device. ... the market appears to be making the case that you are not the average consumer, but that's an independent variable.
- AnthonyMouse 8y agoThe market has consistently been choosing Android phones in higher volumes than iPhones for years.