News for hackers. Stuff that matters.
Re:The Absolute Minimum Every Software Developer Must Know A... by arp242 on Monday October 02, 2023 @09:56AM (#37738179)
> Unicode doubled down with composed Emojis.

Not just emojis, in general I believe Unicode has just said they're not going to add new pre-composed characters and that using combining characters is the Right Way™ to do things (well, the only way for newer scripts).

One of the downsides of writing down specifications is that they tend to attract people with Very Strong Opinions on the One And Only Right Way and will argue it to no end, and essentially "win" the argument just by sheer verbosity and persistence.

That's certainly what I've seen happen in a few cases, and is what happens on e.g. Wikipedia as well at times.

But yeah, emojis is even worse. Something things can look rather different depending on which invisible variation selector is present. We've got tons and tons of unassigned codepoints and we need to resort to these tricks to save a few of them?

Firefighter is "(man|woman|person) + ZWJ + firetruck". Clever, I guess. Construction worker is "Construction worker (+ ZWJ + (male sign|female sign))?" (absence is gender-neutral). Why are there 2 systems to encode this? Sigh...

All of this is too clever by a mile.

[1]: HN will strip stuff, but try something like:

  echo $'↔\ufe0f ↔\ufe0e'
May not display correctly in terminal, but can xclip it to a browser – screenshot: https://imgur.com/a/iFmBDQk
Re:The Absolute Minimum Every Software Developer Must Know A... by d3w4s9 on Monday October 02, 2023 @01:30PM (#37741535)
The first time I heard that Unicode would support emoji, I knew it would be a recipe for disaster. And I definitely was not disappointed.
Re:The Absolute Minimum Every Software Developer Must Know A... by arp242 on Monday October 02, 2023 @02:26PM (#37742359)
I mean, I don't dislike the concept personally. I actually really hate how HN strips them.

But the technical implementation? Yeah, that could have gone a lot better IMHO.

One must also wonder if some things really had to be added in the first place, e.g. for people kissing it's:

  (person|man|woman)(skin-tone)? ZWJ <heart> ZWJ <kissing lips> ZWJ (person|man|woman)(skin-tone)?
This is NOT a complaint about that they added diversity as such, in principle I'm all for that, it's just that few seem to actually use these emojis, and both in terms of code and UI it all gets pretty complex; there's 98 combinations to choose from here.

I don't really get why <heart> or <killing lips> or <kissing face> isn't enough. That's actually what most people seem to use anyway, because who finds it convenient to pick all the correct genders and skin tones from the UI for both people?

Re:The Absolute Minimum Every Software Developer Must Know A... by nottorp on Monday October 02, 2023 @02:30PM (#37742420)
> I actually really hate how HN strips them.

Oh. So that's why HN discussion always looks sane. They strip the pollution.

Re:The Absolute Minimum Every Software Developer Must Know A... by pests on Monday October 02, 2023 @03:19PM (#37743065)
> there's 98 combinations to choose from here.

Less than that since a default skin color can be set in most apps. I'm sure setting a gender will come soon so the entire first part of that emoji can be auto-guessed. Then its just showing the other options in the UI. Really all of this is UI design as even with the 98 combinations you can still display it as 4/5 options you drill down.

> who finds it convenient to pick all the correct genders and skin tones from the UI for both people?

I just checked and searching "kissing" in my iOS emoji keyboard inside Messenger showed just 4 of the emoji's your describing - defaulting both skin tones to my settings and then the four M/F pair ups. Plus some non-related kissing emojis like the cat kissing.

Re:The Absolute Minimum Every Software Developer Must Know A... by arp242 on Monday October 02, 2023 @03:56PM (#37743597)
> defaulting both skin tones to my settings

But that's kind of wrong, no? The entire point is that you can choose both sides individually. What if you set it to black and want to kiss some white bloke?

If anything that only underscores my point that it's too complex and that no one is using them (certainly not as intended anyway).

Re:The Absolute Minimum Every Software Developer Must Know A... by pests on Monday October 02, 2023 @04:38PM (#37744084)
That's on Apple not on emojis.

In the Windows 11 emoji picker it works like this:

1. Search "kissing". See two generic yellow people kissing. Notice a blue dot in the bottom right corner.

2. Clicking the emoji brings up previously used versions of the kissing emoji, with a + button.

3. Clicking + brings up a dialog like I described previously. Two generic figures at the top, then a row of skin tones.

4. You can click on each generic person and choose a gender, then select a skin tone. You can do this for each person in the group.

5. Click done. This emoji is now in your default emoji list and you won't need to recreate it again.

Re:The Absolute Minimum Every Software Developer Must Know A... by arp242 on Monday October 02, 2023 @04:49PM (#37744219)
That seems like a lot of effort when you could have sent <kissing-lips>, <kissing-cat>, <kissing-face>, <heart>, or any number of other emojis, which is what my point was.
Re:The Absolute Minimum Every Software Developer Must Know A... by pests on Monday October 02, 2023 @04:51PM (#37744238)
You still can! People who want more customizations can do so too. Plus it only takes the initial setup per emoji at least.