Hey all, WhyEssEff here
Over the past two-and-a-half or so years of being the sort-of-official emoji czar, the emote repository has grown to contain approximately 2300 distinct pictographs. As has been remarked over my tenure, this has unfortunately come with a lot of disarray. In order to address this, let me break it down in order to give proper context for it all.
The Problem
Hexbear’s emote shortcodes are notoriously obtuse and lack enforced standardization. A patchwork fix was applied to solve this in the refork, being keywords, but these only work when you are searching through the emote picker, not when you are using :shortcode-notation:.
The primary reasoning behind why this problem is a conundrum to fix is what I will call ‘shortcode rot.’ Essentially, what this entails is that:
- an unintuitive emote shortcode, for one reason or another, makes it into the emote repository.
- enough time passes for said emote to be used across multiple posts and comments.
- the shortcode now cannot be altered without breaking these posts’ and comments’ use of said emote.
The sources of unintuitive/unstandardized shortcodes, as far as I understand it, tend to fall into these categories:
- attempts at brevity (e.g.
:biderman:
) - emote is older than my tenure (e.g.
:loser:
, though this was one that I vividly remember making and recommending it be added back when we were stuck in the lifeboat discord, so this one’s still technically my fault ) - emotions and natural language representation of pictures are ambiguous (e.g. linguistics)
- syntactical ambiguity and non-standardization (e.g. one way this is used advantageously is that this is how we have three representations of 1984 in our emote base,
:19::84:
,:1984:
,:nineteeneightyfour:
) - WhyEssEff trying to be clever (e.g.
:debate-me-debate-me:
and:kubrick-stare:
) - the other ones that I can’t think of.
The Proposals
To preface, these are merely the options I am considering at the moment. Furthermore, the subsequent poll is merely me gauging feedback on these potential options. I reserve the right not to enact or fully enact whatever the majority opinion falls behind, because I a) have a life and may not be able to address the issue meticulously, b) can’t please everyone with whatever shortcode schema we do end up with, and c) kind of am attached to certain wrinkles in the repository and would ultimately be operating on my own discretion no matter what as the head and sole maintainer of the repository.
With that out of the way:
PROPOSAL 1: Discretionary Rename Effort
Plan of Action: As I sort through the emote database, I change the ones that stick out as unstandardized and/or ambiguous by my own discretion, updating them as I go and making a pinned masterpost that I update when I change a shortcode so people can stay informed about new shortcodes.
Pros:
- The one that is the most realistic for me.
- Solves the problem for the most erroneous ones.
Cons:
- My discretion is biased and fallible.
- Changes to shortcodes that may break some older content.
PROPOSAL 2: Strict Standardization and Total Overhaul
Plan of Action: All emotes are strictly standardized according to an enforced style guide, on top of the previous proposal.
Pros:
- Most accessible.
Cons:
- 99% chance I'm not going to do this because it sucks to implement.
- Really really breaking changes to shortcodes.
- Ehhhhhhhhhhhh
PROPOSAL 3: Do Nothing
Plan of Action: It is what it is
Pros:
- No broken shortcodes, archive preserved.
- I can just keep to a standard in the future.
- I don't have to do anything.
Cons:
- The problem remains unsolved, so all the aforementioned issues.
The Poll
So, in order to collect feedback, here's what I ask:
Respond with the emote that corresponds to the proposal in a top level comment, except for the last option, which I'll explain below.
-
(:dean-smile:)
for Proposal 1: Discretionary Rename Effort. -
(:dean-malice:)
for Proposal 2: Strict Standardization and Total Overhaul. -
(:dean-frown:)
for Proposal 3: Do Nothing. -
(:dean-neutral:)
for something else, and explain what you suggest in your comment.
If you want to vote for a proposal that is suggested by someone else using , reply to their comment with a
Again, non-binding poll, I'm just trying to gauge the temperature on this. In about a week, I'll check this post again and tally it all up, and then I'll take that and decide how to move forward. Thanks all
IIRC the shortcodes are the key column of the emote. If you change them, then all previous uses in posts/comments will not load the emote. If you want to rename any, let me know and we can write a regex to go through and replace any instances in the database.
edit: also, its maybe possible we can enhance the inline emoji window to use keywords as well. would have to do some experimentation with it.
will keep this in mind, interesting option since keys are locked on frontend
I forgot, also we won't be able to update federated posts in other instances, so those will get forever broken.
I haven't explored other instances at all, but if updates sync is there an easy way to trigger the "there was an update to this post" push or whatever Lemmy uses to synchronize them?
Since the federation update, when I pick an emoji with the picker I get markdown to a URL that doesn't contain the shortcode.
For example inserts:
![dean-neutral](https://www.hexbear.net/pictrs/image/48c31f9a-8487-48f0-afce-9db1db5fb5d6.png "emoji dean-neutral")
Notice that the url to the png:
https://www.hexbear.net/pictrs/image/48c31f9a-8487-48f0-afce-9db1db5fb5d6.png
doesn't contain the shortcode.So right now the database has posts mixed between what I'll call the "old format"
:shortcode:
and the "new format" with the URL. The new format shows up in other instances and the old format doesn't.Shouldn't it be possible to run a migration in the database, and switch the old format with the new for all posts? Then disable this on-the-fly shortcode substitution that the frontend is doing.
From then on we will have to use the picker, but the emoji can change name without braking old posts. And eventually the frontend conversion can be added to the backend to restore the old behaviour.
This would simultaneously solve the issue where emojis don't show up in other instances some times.
Yeah we added extra code in our hexbear frontend to add handling for the 'old format' codes. We did sorta have plans to update all the old usages to the new one, but we just never got around to it during the big migration.
I'm glad someone has already said this because this is what I was going to suggest as well. It wouldn't be that hard to crawl with a simple python script.
(Note: this is not in any way an official statement by the admin team, I'm just a tech dweeb)
Proposal: Do Nothing, but improve searchability by making the shortcode autocomplete also search by tags, not just the canonical name.
We have the ability to add basically unlimited alt-names or descriptors to the tags for each emote, which has made searching in the emoji picker much more viable even for obscure emotes (provided they are well-tagged). Problem is, nobody uses the emoji picker, most people don't even know it exists.
Make sure the library is reasonably well tagged and make that tweak to the searching and this whole conundrum goes away.
Examples below of some existing tags from a previous effort to tag all the emotes:
ShowWe might also want to make the alt-text more descriptive for people with screen readers but that's a separate conversation
Edit: Oh it looks like a dev (comrade makotech222) has already chimed in on this below:
also, its maybe possible we can enhance the inline emoji window to use keywords as well. would have to do some experimentation with it.
This would also basically address the following other suggestions:
https://hexbear.net/comment/4396592
https://hexbear.net/comment/4397267
https://hexbear.net/comment/4396837
https://hexbear.net/comment/4396793
https://hexbear.net/comment/4396237
https://hexbear.net/comment/4395861
https://hexbear.net/comment/4397894
https://hexbear.net/comment/4395895
https://hexbear.net/comment/4397730
https://hexbear.net/comment/4397711
secondary option if this isn't feasible: remove the unicode emojis from the emoji picker so it goes straight to our custom emotes when opened, and make it more prominent in the UI somehow (highlight it in a different color, make it bigger, make it sparkle, idc). And still finish the job tagging them all
please! I'm sick of having to tell people the emoji picker exists every time this comes up
honestly my problem with the emoji picker is that it's often super slow. ofc as soon as i look at the picker it's actually pretty fine so maybe I just need to try using it again
I kind of like how obtuse it is. It's part of the culture.
Add duplicates of badly named ones with new standardized names. And filter out the old ones from the emote picker so they don't get used much again.
the emote repository has grown to contain approximately 2300 distinct pictographs
For reference there are 3,782 emojis specified by Unicode (counting every kind of combination like skin tone or gender modifiers).
We're catching up.
:dean-frown: I want us to have insane technical debt of 50000 emoji that are all pixelated elsagate pregnant Macron in a Spiderman costume named like :box:
I think the obtuse names picked on a whim from when the emotes were added is a funny aspect of the site's use
Rosetta Stone but for hexbear emotes, with Hebrew Latin and Greek side by side
:dean-frown:
I propose we keep the emotes the way they are. But to fix the problem of recognition, we should make an ANKI deck with all the emotes and names so new users can learn the language of emojis like it's literally a foreign language. Or someone(more talented than me) could make matching emojis to their names into a browser video game.
Hexbear emojis are a beautiful nightmare and I wouldn't have it any other way
We might not actually have that emote, it would be under Hexbear Heritage Haven if we did
Is there not a way to alias them such that the old shortcodes still display the same emote, but there's a new, canonical name? I guess it might not always work if multiple shortcodes map to multiple different emotes and it might complicate things a lot but idk, what if?
@WhyEssEff@hexbear.net I've pushed some changes to our test build that enhance the inline emoji autocomplete. It will now search by both shortcode and keyword. Looks like this:
ShowI've also improved image caching so the big emoji picker will also be faster at loading.
Mako you truly are the champion of the people, I really need to start dusting of my rust knowledge and helping out here
why make work for yourself?
don’t rename them all, but only rename the dancing roach erdogan