Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make seekbar and player controls appear at bottom of video and take full width #6007

Conversation

ChunkyProgrammer
Copy link
Member

@ChunkyProgrammer ChunkyProgrammer commented Oct 29, 2024

Make seekbar and player controls appear at bottom of video and take full width

Pull Request Type

  • Other - subjective ui change

Description

A subjective design change to move the seekbar lower and make the controls take the full width of the video on larger screens. This removes padding and increases width of player controls.

Screenshots

image

Testing

  • go to a video and make sure everything is behaving like it's supposed to (no element is overflowing, etc.)

Desktop

  • OS: Linux Mint
  • OS Version: 22
  • FreeTube version: 0.22.0

@github-actions github-actions bot added the PR: waiting for review For PRs that are complete, tested, and ready for review label Oct 29, 2024
@FreeTubeBot FreeTubeBot enabled auto-merge (squash) October 29, 2024 04:48
@absidue
Copy link
Member

absidue commented Oct 29, 2024

On mobile it's probably best to leave it as it was before, because buttons burried right at the edge of the screen and in corners was a big problem with the previous player because they are really difficult to tap. Whereas with shaka-player's default layout that is not a problem, because they are far away from the edge.

@ChunkyProgrammer
Copy link
Member Author

ChunkyProgrammer commented Oct 29, 2024

On mobile it's probably best to leave it as it was before, because buttons burried right at the edge of the screen and in corners was a big problem with the previous player because they are really difficult to tap. Whereas with shaka-player's default layout that is not a problem, because they are far away from the edge.

It should be resetting itself back to normal here on mobile:

@media only screen and (width <=1000px) {
:deep(.playerFullscreenTitleOverlay) {
font-size: large;
}
:deep(.shaka-bottom-controls) {
padding-bottom: 2.5%;
width: 96%;
}
:deep(.shaka-controls-container[shown='true']~.shaka-text-container) {
bottom: 15%;
}
}

I will update it for better clarity though

absidue
absidue previously approved these changes Oct 29, 2024
@kommunarr
Copy link
Collaborator

Thanks for looking at this! This looks nice, although two subtle things still seem off to me.

  1. The padding around the icons is so small that the size differences in the svgs is especially noticeable.

Screenshot_20241029_072239

  1. The top and bottom padding of the icons appears uneven due to the Shaka seek bar having its bottom edge defined by the seeker, not the bar itself. This was already the case, but the low padding makes that especially noticeable as well now.

Screenshot_20241029_073016

I hate to defer to the other app so much, but I think their solution can shine light on how to mitigate these problems. They have a 48px height for the controls section, and their seek bar is directly on top of the icons, not a half-seeker's distance away.

Screenshot_20241029_073410

@ChunkyProgrammer
Copy link
Member Author

I hate to defer to the other app so much, but I think their solution can shine light on how to mitigate these problems. They have a 48px height for the controls section, and their seek bar is directly on top of the icons, not a half-seeker's distance away.

Not sure what you mean by half-seeker's distance away.

This is what it looks like when I set the height to 48px:
image

And this is what it looks like without that height set:
image

@kommunarr
Copy link
Collaborator

kommunarr commented Oct 29, 2024

I'm referring to the visible seek bar being vertically displaced a bit by having the seek pointer not intersect with the controls container:

Screenshot_20241029_073016

The easiest way to fix this, I'd imagine, is to add a negative vertical margin such that the visible bar is touching the bottom of the allocated container size.

This is what it looks like when I set the height to 48px:

This looks a bit better, although I'd like to see the icons sized at 48x48 as well, as now the horizontal padding is noticeably smaller

@absidue
Copy link
Member

absidue commented Oct 29, 2024

We probably shouldn't move the controls and seek bar too close together otherwise it increases the chance of misclicks, YouTube's seek bar has a much bigger target area and they also expand the seek bar when you hover over it, which is why it is okay for them to put them so close together.

Additionally just want to reiterate again that none of these changes in this pull request should affect touch screens and mobile users as fingers are a lot bigger than a mouse pointer.

@ChunkyProgrammer
Copy link
Member Author

This looks a bit better, although I'd like to see the icons sized at 48x48 as well, as now the horizontal padding is noticeably smaller

This is what it looks like when setting the font size to 48px (some of the icons look too big and the fullscreen icon looks a bit off imo):
image

This is what it looks like if we only increase the size of the play button:
image

@kommunarr
Copy link
Collaborator

kommunarr commented Oct 29, 2024

To clarify, my suggestion was to make each icon element 48x48, not to increase the icon size. Am fine with not modifying the seek bar here since increasing the vertical padding should also make the discrepancy less noticeable.

auto-merge was automatically disabled October 30, 2024 15:14

Pull request was closed

@github-actions github-actions bot removed the PR: waiting for review For PRs that are complete, tested, and ready for review label Oct 30, 2024
@FreeTubeBot FreeTubeBot enabled auto-merge (squash) October 31, 2024 16:48
@github-actions github-actions bot added the PR: waiting for review For PRs that are complete, tested, and ready for review label Oct 31, 2024
@efb4f5ff-1298-471a-8973-3d47447115dc

What would be the pro's and cons of this implementation versus current implementation?

@absidue
Copy link
Member

absidue commented Nov 3, 2024

Pros:

  • Users stop complaning constantly about the controls overlapping over the video too much, which is good for the team's mental health.

Cons:

  • Different UIs on desktop and mobile
  • More custom CSS

@ChunkyProgrammer ChunkyProgrammer force-pushed the remove-padding-increase-width branch 2 times, most recently from 6d768e4 to c62e153 Compare November 4, 2024 03:03
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but i will wait for @kommunarr blessing first

@kommunarr
Copy link
Collaborator

Sorry for the late response. You know, because of *gestures broadly*. I do still feel that the anemic icon bar height makes the icon height differences on the far right oddly visually dominant and off-putting. Here's my suggestion with making the .shaka-controls-button-panel > * height 40px instead of 32px.

Before After
Screenshot_20241122_095143 Screenshot_20241122_095042

@ChunkyProgrammer
Copy link
Member Author

@kommunarr I added a height of 40px and a line-height of 0.5

@kommunarr
Copy link
Collaborator

Thanks! I didn't see this before, but now I notice this makes the titles intersect with the seek bar now :(

Screenshot_20241124_134216

@ChunkyProgrammer
Copy link
Member Author

Thanks! I didn't see this before, but now I notice this makes the titles intersect with the seek bar now :(

Screenshot_20241124_134216

This should be fixed now :)

@efb4f5ff-1298-471a-8973-3d47447115dc

Hmm if i go fullscreen the controls dont use allot of width space. They dont appear as big as in the video.js player.

@ChunkyProgrammer ChunkyProgrammer force-pushed the remove-padding-increase-width branch from 8d38a4f to f4a7bfe Compare December 7, 2024 02:10
@efb4f5ff-1298-471a-8973-3d47447115dc

Hmm if i go fullscreen the controls dont use allot of width space. They dont appear as big as in the video.js player.

Idk if this is an issue but i thought it was worth pointing out and collecting the thoughts of other members on this

@kommunarr
Copy link
Collaborator

Idk if this is an issue but i thought it was worth pointing out and collecting the thoughts of other members on this

I do think that's a fair concern from an accessibility & usability perspective. I have seen a good deal of user reports regarding issues with the target size. I haven't re-tested the PR in a bit and do not know if that has already been addressed.

@PikachuEXE
Copy link
Collaborator

PikachuEXE commented Dec 9, 2024

Uploading new vs old coz I don't see one here...(not tested yet)
Not sure if mobile is changed, you should test

New
Screenshot 2024-12-09 at 09 35 09
Old
Screenshot 2024-12-09 at 09 36 34

@PikachuEXE
Copy link
Collaborator

Idk if this is an issue but i thought it was worth pointing out and collecting the thoughts of other members on this

I totally don't understand what you have said

@efb4f5ff-1298-471a-8973-3d47447115dc

Pika im talking about video.js icon size vs shaka

@PikachuEXE
Copy link
Collaborator

Oh, video.js, I read it as not as large as shaka player lol
I can't compare without screenshots~

@efb4f5ff-1298-471a-8973-3d47447115dc

Hmm on a second thought moving controls to the bottom didn't affect the icon size. If its an real issue than it could be addressed in a separate PR. But i doubt that this is an issue as users didn't report any issues with the size of the icons so im not going to look into it too much

@FreeTubeBot FreeTubeBot merged commit fdcebd5 into FreeTubeApp:development Dec 9, 2024
5 checks passed
@github-actions github-actions bot removed the PR: waiting for review For PRs that are complete, tested, and ready for review label Dec 9, 2024
PikachuEXE added a commit to PikachuEXE/FreeTube that referenced this pull request Dec 10, 2024
* development: (96 commits)
  Move Invidious API calls into Invidious file (FreeTubeApp#6313)
  Translated using Weblate (Spanish)
  Use word-break on live chat error message (FreeTubeApp#6327)
  Bump youtubei.js from 11.0.1 to 12.0.0 (FreeTubeApp#6323)
  Bump shaka-player from 4.12.3 to 4.12.4 (FreeTubeApp#6318)
  Make seekbar and player controls appear at bottom of video and take full width (FreeTubeApp#6007)
  Fix 'Object has been destroyed' when FreeTube is passed a URL with no windows open on macOS (FreeTubeApp#6278)
  Bump mikefarah/yq from 4.44.5 to 4.44.6 (FreeTubeApp#6324)
  Translated using Weblate (French)
  Bump sass-loader from 16.0.3 to 16.0.4 (FreeTubeApp#6319)
  Bump webpack from 5.96.1 to 5.97.1 (FreeTubeApp#6322)
  Bump sass from 1.81.0 to 1.82.0 (FreeTubeApp#6320)
  Bump lefthook from 1.8.5 to 1.9.0 (FreeTubeApp#6321)
  Bump @intlify/eslint-plugin-vue-i18n from 3.1.0 to 3.2.0 (FreeTubeApp#6317)
  Translated using Weblate (Estonian)
  Translated using Weblate (Basque)
  Translated using Weblate (Icelandic)
  Translated using Weblate (Hungarian)
  Translated using Weblate (German)
  Fix channel home page list view (FreeTubeApp#6316)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants