App icon indicating copy to clipboard operation
App copied to clipboard

[$1000] Make emojis larger in other contexts than just single character messages

Open jboniface opened this issue 4 years ago • 94 comments

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


This issue covers several related scenarios:

Scenario 1

Action Performed:

Add an emoji with other plain text characters in a message in the composer.

Expected Result:

The emoji should be larger (19pt) compared to the default size for text (15pt) in the composer. The emoji and text should appear vertically centered with respect to eachother, such that the baseline of the emoji is below the plain text and the middle of the text vertically aligns with the middle of the emoji (like the right-hand-side of this example.

Actual Result:

The emoji is the same size as the rest of the text.

Scenario 2

Action Performed:

Send a message with emoji and text.

Expected Result:

The emoji should be larger (19pt) compared to the default size for text (15pt) in the chat history. The emoji and text should appear vertically centered with respect to eachother, such that the baseline of the emoji is below the plain text and the middle of the text vertically aligns with the middle of the emoji (like the right-hand-side of this example

Actual Result:

The emoji is the same size as the rest of the text.

Scenario 3

Action Performed

Draft a message (of any length) with only emoji.

Expected Result

The emoji should appear very large (27pt) in the composer.

Actual Result

The emoji appear very small (15pt).

Scenario 4

Action Performed

Send a message (of any length) with only emoji.

Expected Result

The emoji should appear very large (27pt) in the report history.

Actual Result

The emoji only appear large in the report history if there is only one emoji in the message.

Scenario 5

Action Performed

Go to Settings -> Profile and add emoji(s) to your last name 😎

Expected Result

The emoji should appear larger (19pt) than the rest of the text (15pt) in the text input. The emoji and text should appear vertically centered with respect to eachother, such that the baseline of the emoji is below the plain text and the middle of the text vertically aligns with the middle of the emoji (like the right-hand-side of this example

Actual Result

The emoji appear the same size as the text.

Scenario 6

Action Performed

  1. Go to Settings -> Profile and add emoji(s) to your last name 😎.
  2. Save your profile.
  3. Open the Settings RHP and look at your name:

Expected Result

The emoji should appear larger (21pt) than the rest of the text (17pt) in the text input. The emoji and text should appear vertically centered with respect to eachother, such that the baseline of the emoji is below the plain text and the middle of the text vertically aligns with the middle of the emoji (like the right-hand-side of this example

Actual Result

The emoji and text have the same height:

image

Scenario 7

Action Performed

  1. Go to Settings -> Profile and add emoji(s) to your last name 😎.
  2. Save your profile.
  3. Open a chat with another user and send them a message. Take a look at your message in the report history.

Expected Result

The emoji should appear larger (19pt) than the rest of the test (15pt). The emoji and text should appear vertically centered with respect to eachother, such that the baseline of the emoji is below the plain text and the middle of the text vertically aligns with the middle of the emoji (like the right-hand-side of this example

Actual Result

The emoji appears the same size as the rest of the text.

image

Workaround:

no

Platform:

all

View all open jobs on Upwork

jboniface avatar Jul 16 '21 15:07 jboniface

Triggered auto assignment to @Christinadobrzyn (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

MelvinBot avatar Jul 16 '21 15:07 MelvinBot

@stitesExpensify

Which of one of these we want to do?

  1. Make emojis bigger in all contexts, but single emojis should still be even bigger.
  2. Make emojis in all context as big as our current singleEmoji, and single emojis are no long bigger than usual.

I was about to open a PR with some improvements for the isSingleEmoji function that I wrote for https://github.com/Expensify/Expensify.cash/issues/3712, but I'll hold until we sort this.

rdjuric avatar Jul 16 '21 15:07 rdjuric

If this issue is a pass. I think it is a good time to minimize the regex used for comparison.

parasharrajat avatar Jul 16 '21 15:07 parasharrajat

this is the original spec:

The default text size is 15, so when there is text inline with the emoji the emoji will be size 19, and when the emoji is sent by itself it will be size 27.

but I'd like @stitesExpensify to confirm whether we diverged from this plan over the course of design since this feature was on hold for many months.

jboniface avatar Jul 16 '21 15:07 jboniface

Thanks @jboniface. If we end up following the original spec I think a good proposal would be

  1. Modify our ReportActionItemFragment of type COMMENT to check if our fragment.text has emojis - but only if it fails our isSingleEmoji test.
  2. If it has, modify our Text to include nested Texts containing emojis with a modified style

rdjuric avatar Jul 16 '21 16:07 rdjuric

Triggered auto assignment to @ctkochan22 (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

MelvinBot avatar Jul 28 '21 02:07 MelvinBot

This issue has not been updated in over 15 days. eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

MelvinBot avatar Aug 27 '21 19:08 MelvinBot

@jboniface, this Monthly task hasn't been acted upon in 6 weeks; closing.

If you disagree, feel encouraged to reopen it -- but pick your least important issue to close instead.

MelvinBot avatar Nov 09 '21 19:11 MelvinBot

Why didn't this get worked on? @ctkochan22 (or another engineer) can this be worked on by an external contributor? If so, can you add the External label so we can get this posted?

I'm going to reopen for now cuz I think it'd be nice to have multiple-emoji messages show larger image

mallenexpensify avatar Mar 09 '22 23:03 mallenexpensify

Yeah this can be worked on by an external contributor. I'm not sure why I didn't add the label, my bad.

ctkochan22 avatar Mar 10 '22 17:03 ctkochan22

Triggered auto assignment to @JmillsExpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

MelvinBot avatar Mar 10 '22 17:03 MelvinBot

Oh I love this one, great issue! Upwork job is here: https://www.upwork.com/jobs/~014ad72dfc29342e5e. Applying the exported label so that we can re-ignite proposals.

JmillsExpensify avatar Mar 11 '22 17:03 JmillsExpensify

Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat (Exported)

MelvinBot avatar Mar 11 '22 17:03 MelvinBot

Triggered auto assignment to @roryabraham (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

MelvinBot avatar Mar 11 '22 17:03 MelvinBot

I think this issue need to be more specific. I'm really not sure what the requirements are.

roryabraham avatar Mar 22 '22 20:03 roryabraham

Originally I asked @stitesExpensify for specification, but I'm not sure -- maybe we should ask Design? Again, the original spec was:

The default text size is 15, so when there is text inline with the emoji the emoji will be size 19, and when the emoji is sent by itself it will be size 27.

I'm not sure if that's what was implemented, and the values were just too small or what

jboniface avatar Mar 22 '22 21:03 jboniface

Super fair feedback. @jboniface do you want to take this back to #design?

JmillsExpensify avatar Mar 23 '22 04:03 JmillsExpensify

@JmillsExpensify posted in slack

jboniface avatar Mar 23 '22 17:03 jboniface

Hi, what exactly needs to be fleshed out here? Are we discussing the sizes for emojis in all contexts?

michelle-thompson avatar Mar 23 '22 18:03 michelle-thompson

@michelle-thompson yeah, we're trying to clarify what those contexts and sizes should specifically be

jboniface avatar Mar 23 '22 18:03 jboniface

If we test the following: Text - 15pt Inline emoji - 19pt Standalone emoji - 27pt

We get something like this, which looks good to me. image

The only other suggestion I have is that standalone emojis stay at 27pt, so long as there is no text. Said another way, no max number of emojis before reverting back to 19pt.

Thoughts?

michelle-thompson avatar Mar 23 '22 19:03 michelle-thompson

Yeah, I like that. I think the size limiting is kind of arbitrary when the only thing on the line is emoji.

jboniface avatar Mar 23 '22 19:03 jboniface

For sure, just wanted to point it out since it seems like only one emoji is currently allowed before reverting to smaller type.

michelle-thompson avatar Mar 23 '22 19:03 michelle-thompson

I like @michelle-thompson 's mockup above. Since there are only two lines with emoji, do you think there are other examples where text/emoji are mixed and matched (on same and different lines) where they might not look clean? or.. look crowded. ie. the ❤️ was under Zany's name and there were a line of only large emoji below that

mallenexpensify avatar Mar 23 '22 21:03 mallenexpensify

Here's a few more emojis thrown in for good measure! I think it still holds up pretty well. image

michelle-thompson avatar Mar 23 '22 22:03 michelle-thompson

Looks good, a few of the emoji look like they're 'raised up' a bit, is that 'to be expected' because of the increased size/ratio of emoji to text? image

mallenexpensify avatar Mar 24 '22 01:03 mallenexpensify

a few of the emoji look like they're 'raised up' a bit

Agree, maybe we can fix it by standardizing on a line-height of 19pt to match the larger font of the emoji (even for lines that contain no emoji)? Not sure

roryabraham avatar Mar 24 '22 05:03 roryabraham

Yes, since emojis are a different size they're not gonna be aligned perfectly. You can see in Slack the same also happens: image

michelle-thompson avatar Mar 24 '22 15:03 michelle-thompson

@roryabraham we can certainly try, but I actually don't mind how it looks now! I wouldn't want to increase line height so much that regular text looks oddly spaced out.

michelle-thompson avatar Mar 24 '22 15:03 michelle-thompson

Hmmm to my less-trained eyes that slack emoji looks vertically centered with respect to the text (where the screenshot from our app above does not). Notice how in your screenshots of NewDot, emoji share the same baseline with regular text, but in Slack that's not necessarily the case:

NewDot Slack
Screen Shot 2022-03-24 at 1 09 30 PM Screen Shot 2022-03-24 at 1 11 38 PM

roryabraham avatar Mar 24 '22 20:03 roryabraham