Qksms: Support for Apple's "tapback" messages

Created on 15 Oct 2018  ·  8Comments  ·  Source: moezbhatti/qksms

DESCRIPTION

Apple implemented a usele^H^H^H^H^H _wonderful_ new feature in their "iMessage" app, that allows iPhone iUsers to "Like", "Laugh at", etc. a given text message. Since there is no way to know if another Apple product is on the other end, it just sends another text, which is the full text of the one "liked", with the word "Liked" prepended to it (and so on for the other actions).

Even if full support for tagging the "liked" message according to the action in the "reply" isn't added, maybe some way of hiding these non-replies would be easy enough. I can think of a few options for handling them:

  1. Do nothing (the default).
  2. Display them, but don't activate the alert or update the "unread" message count.
  3. Do the above, but also style them a different way (smaller font, darker text, etc.)
  4. Full support for adding a heart, laughing emoji, or whatever to the affected message, according to the action sent.

There's a whole slew of other things that could be supported, but this is the only one that's annoying me, at the moment.

This is actually the reason I came looking for a FOSS messaging app for Android. I figured, even if the main developers don't want to do it, I could take a whack at it myself (although I'd have to install a ton of development stuff and learn how, first…)

feature

Most helpful comment

I'm still looking for an Android app that has this feature. I'm hoping QKSMS will be the one!

Here's an example conversation:
me: Let's eat ice cream
iperson: Liked "Let's eat ice cream"

So iperson saw my message on his iPhone, tapped the message, and tapped the "like" button.
What should QKSMS do with that reply?

I think it should:

  1. Notice that the message starts with Liked " and ends with "
  2. Extract the part between the start and end quotes and attempt to match that part against the last N messages in the conversation. N = 50, maybe.
  3. If it doesn't find a match, just display the message normally
  4. If it does find a match, then identify the message that matched. Update the display of that message by putting a 👍 icon next to it.
  5. (Bonus) Keep track of who liked what, and when I tap a message with a 👍 icon, then tell me who liked it.

There are a few other expressions -- "Loved", "Laughed at", "Questioned", etc. -- that would all be handled the same way except for the icon.

All 8 comments

This is really cool, haven't thought about implementing this before!

You're already planning how to start adding it, right? I can tell… :wink:

never done any Android development, but so many of my friends use iPhones and drive me nuts I started looking for a way to implement a solution myself. 100% with you @runnerpack lol!

Might be a lot to bite off, but I'm thinking I might jump in the mix here and give this a shot. Have you downloaded the SDK yet and taken a look at what this would take?

@jake-hebert No; in fact, I forgot all about this until I got a notification 😆
The friend who was sending me these “reactions” has since switched to FB messenger…
However, time-permitting, I'd like to help out with your implementation. Once you nail down a minimum set of downloads to get this to build (with command-line tools on Windows, preferably), please let me know!

I wonder how Apple handles it, if they received that text back, would it parse it as a reaction? If so, that would open the door to sending reactions too.

I'm still looking for an Android app that has this feature. I'm hoping QKSMS will be the one!

Here's an example conversation:
me: Let's eat ice cream
iperson: Liked "Let's eat ice cream"

So iperson saw my message on his iPhone, tapped the message, and tapped the "like" button.
What should QKSMS do with that reply?

I think it should:

  1. Notice that the message starts with Liked " and ends with "
  2. Extract the part between the start and end quotes and attempt to match that part against the last N messages in the conversation. N = 50, maybe.
  3. If it doesn't find a match, just display the message normally
  4. If it does find a match, then identify the message that matched. Update the display of that message by putting a 👍 icon next to it.
  5. (Bonus) Keep track of who liked what, and when I tap a message with a 👍 icon, then tell me who liked it.

There are a few other expressions -- "Loved", "Laughed at", "Questioned", etc. -- that would all be handled the same way except for the icon.

I tested this with a friends iPhone, sending them a message formatted the same way (Bryce Liked "text"), and it doesn't actually like that message, so it's clearly a fallback mechanism for non-iMessage users.

I tested this with a friends iPhone, sending them a message formatted the same way (Bryce Liked "text"), and it doesn't actually like that message, so it's clearly a fallback mechanism for non-iMessage users.

Maybe there are some zero-width characters in there as well. Try copy-paste into a hex-editor.

Was this page helpful?
0 / 5 - 0 ratings