Support for converting ASCII emojis like :) to real emojis should added. Signal currently only supports shortnames for emojis, like :thumbsup:.
Writing :) instead of :smiley: is much quicker and it's what many people are used to with other chat applications, like Hangouts and Skype.
Here are some lists of emoji conversions that might be useful:
https://demos.emojione.com/ascii-smileys.html
https://aprescott.com/posts/hangouts-emoji
https://support.skype.com/en/faq/FA12330/what-is-the-full-list-of-emoticons
https://en.wikipedia.org/wiki/List_of_emoticons
My most used ones:
:P - :stuck_out_tongue: - :stuck_out_tongue:
:D - :smiley: - :smiley:
D: - :anguished: - :anguished:
:O - :open_mouth: - :open_mouth:
:'( - :cry: - :cry:
:/ - :confused: - :confused:
;) - :wink: - :wink:
(Y) - :+1: or :thumbsup: - :thumbsup:
(N) - :-1: or :thumbsdown: - :thumbsdown:
Note sure preventing the user from sending ascii smileys is a good idea, since some people dislike emojis. An emoji-picker would be more appropriate, as it is tracked in #194.
I think majority of users would appreciate it. A simple toggle could be added in the settings for those that don't.
Cutegram has this feature for Telegram and I LOVE IT. Just make it a toggle and we can go back to sending cat emojis to our mothers like real men.
I appreciate that Signal doesn't have any options yet that I need to disable, like one to avoid corrupting text that incidentally includes one of those strings.
Would it not be the best to fit all the needs, if it would possible to have an option to activate/deactivate this feature?
Since the mobile app is supporting emoticons, I'd also expect them in the desktop client. Makes the user experience only more consistent. Additionally, if they are already displayed, but you can't answer with an emoticon.

Of course it would be nice for those who dislike them to have the same configuration on the Desktop as they have in their mobile client.
@turnschuhadmin The current Signal-Desktop beta has emojis so it's just a matter of time until everyone has them.
Thanks for the fast reply, can't wait for them to get published :)
Especially for the desktop clients this would be an enormous improvement for usability. I tend to type a lot and switch between windows using key shortcuts, so typing something like :) or :* or (Y) would be a lot faster and less error prone (at least for me: despite typing all day I suck at it and always switch at least two letters in phrases longer than 3 or 4 characters) than typing :grin: :kissing_heart: or :+1:.
Some of the chat clients allow you to customize, what strings are changed to which emoji - e.g. QIP or Pidgin. That would allow setting up combinations that "avoid corrupting text that incidentally includes one of those strings" and also would allow to set no combinations at all, keeping it text-only - that should be the default.
For me, it sucks very much that the oldest smiley in the world :-) has to be typed out as :slightly_smiling_face: (you can tell I'm very serious, since mostly I just smile on the internet instead of laughing).
I agree. It may well be a required initial set-up thing, maybe with a more general purpose. Add a automatic text replacement list that is initially empty. I'd be more then happy to set up a list myself to configure that
:) needs to be replaced with :slighty_smiling_face
And it could also be used to automatically replace
STFU with 'I'm currently busy right now, I'll get back to you as soon as I can'.
That way, it will not bother anyone not interested in automatically creating emoji's from ASCII emoticons, It will be more generally applicable and it will not destroy texts like @ivan suggested, unless you explicitly configured the app to do so yourself.
While at it maybe there could also be pre-configured lists of these replacements that users can enable or disable according to their own preferences.
Any news on this?
Guys c'mon, lack of that simple feature is just super annoying and this request here is for almost two years...
I have to agree. Every other app has this: whatsapp, Skype, Slack, Telegram... It's really clear that auto-converting :-) to 馃檪 is the common UX expectation nowadays - or at least automagically showing the emoji as a suggestion in a hover, similar to what github does:

For the record, I am one of those users who does not like my ASCII emoticons being replaced by emoji.
If this feature request ever happens, I hope there is at least an opt-out.
Recent Sig desktop user long time mobile. Surprised to see this feature wasn't included and surprised this issue has been open so long. I'm finding that after using Skype all day at work, this is a sorely missing feature. A preferences toggle would be nice!
I was thinking - how about making a setting window where you can map strings to another string? That way it's generic.
And you can turn it on and off with a hotkey or select it in a menu like Edit -> Use text mapping.
So you have a text file that has a default set of mappings like
":)" "馃檪"
":D" "馃榾"
etc.
Anything in the quotes will be parsed an replaced in your text as you type it or as you paste it. If you do want to paste without translating using those mappings, you disable the option on beforehand. Or do CTRL+SHIFT+V in windows (formatless paste)
Later this could be made into a dictionary / lookup feature which can suggest the words including emojis.
With a few likes, I could actually attempt to make a PR with this feature if anyone's interested.
I am currently writing a PR for this. :wink:
@sitnarf Before you make the pull request, we'd like to make sure we know what you're planning to build so you don't waste your time. Could you give us an overview of what you're going to build and how you're going to build it? We'll run that by our Design team to see if it makes sense.
@EvanHahn-Signal I added a new Quill module. The emojis are substitutes while typing. They should not be substituted when copying from the clipboard. There is also an option to disable it. There are still few minor things and UI tests to be done. Here is the code: https://github.com/sitnarf/Signal-Desktop/commit/33befe42138a9c23b5f1bdb995f9a097a644c120.

Of course, the original emoji suggestions are preserved.
I implemented this feature for Wire a few years ago, I would suggest to make the replacements not right away, but only on Space keypress and right before sending the message. The reason is, with instant replacement you will make it impossible to type messages where people want to preserve text e.g. :P, say RE:PUBLICA. You can read up on our discussion about this with Wire's design team in that PR, for example starting from here. I can attest that after using the implemented behavior in Wire for several years, it still feels very good, and never stood in the way of typing messages with any content.
I am happy to provide more feedback and help with testing, and looking forward to see this implemented in Signal!
@maximbaz Thank you for your suggestions! It makes sense!
I finished @sitnarf's work in the PR linked above.
@maximbaz I read and thought about the issue you guys were having in Wire. Here it is kind of different because:
Therefore I would suggest to stick with the current implementation.
I think the annoyance was not that emoji was sometimes not replaced, the annoyance is that algorithm is too eager to replace, if there is at least one case when it replaces when it shouldn't, it becomes crazy annoying to go back and do some tricks to make the app keep text representation.
So with your implementation, is it currently impossible to type RE:PUBLICA?
@dasois Hey, great! Could you also post the code? @EvanHahn-Signal Anyway, how is it with the Design team? Has it been already looked on?
@sitnarf please see #4942
@maximbaz thanks for your input, I like the idea!
I would be willing to reprogram that and file another pull request, if I get the ok from @EvanHahn-Signal.
It would be currently possible to type RE:PUBLICA by doing REP -> RE:P -> RE:PUBLICA, so you would need to go back and insert the colon.
Most helpful comment
I think majority of users would appreciate it. A simple toggle could be added in the settings for those that don't.