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

mobile-friendly UI #68

Closed
5 tasks done
scottlamb opened this issue Jul 10, 2019 · 5 comments
Closed
5 tasks done

mobile-friendly UI #68

scottlamb opened this issue Jul 10, 2019 · 5 comments
Labels
enhancement help wanted javascript Pull requests that update Javascript code
Milestone

Comments

@scottlamb
Copy link
Owner

scottlamb commented Jul 10, 2019

The current (table-based) UI is meant to be temporary (see #32) but will probably last a while longer.

It's quite unpleasant to use on a phone. Some ideas to improve this:

  • the page is too wide. Maybe the div#nav on the left could be a pull-out menu, or just stacked on top rather than on the left. Maybe the column list could be trimmed to the essentials (just start and end time really).
  • time entry is awkward. there's probably some input attribute to create a keyboard with just number keys and colons, not all the alpha keys.
  • it should be easier to switch from main streams to more bandwidth-friendly sub streams, rather than tapping literally all the checkboxes. Maybe default to sub streams. Maybe make the "main" and "sub" table labels themselves clickable and toggle everything.
  • when you tap on a video, it opens a window that's meant to be draggable and resizable, but I'm not sure that's even possible on mobile. And when it's a sub stream, it's too small to manipulate at all (I think the go full-screen button is missing on Chrome/Android). It might make more sense to just always open full-screen instead.
  • the error handling is poor, which is particularly noticeable on a flaky connection like a freshly-connected captive portal. It sometimes shows the (cached) main page and no streams (because the api requests have a dynamic url parameter that makes them non-cacheable). Anything would be better, like a butter-bar at the top.
@scottlamb scottlamb added this to the 1.0 milestone Jul 10, 2019
scottlamb added a commit that referenced this issue May 5, 2020
nav div changes:
* make it togglable (on all devices) by hamburger button
* on narrow devices, make it closed by default and
  be at the top rather than on the left

open zoomed by default

trim some arguably less important columns on narrow displays,
and reduce some horizontal padding

always show videos full-screen on narrow displays
scottlamb added a commit that referenced this issue Jun 9, 2020
* make it togglable (on all devices) by hamburger button
* on narrow devices, make it closed by default and
  be at the top rather than on the left

Improves #68 significantly
@IronOxidizer
Copy link
Contributor

<input type="time"> is a viable option for time entry but it lacks sub-second granularity as well as time zone adjustment:

Screenshot_20200907-163019_Brave
Screenshot_20200907-163010_Brave

@scottlamb
Copy link
Owner Author

Thanks for pointing that out! That certainly looks more pleasant. Does it have to be minute granularity? I think giving up subseconds isn't a big deal but going all the way up to minute granularity means giving up a lot in terms of ability to create a clip of just an event of interest. I suppose as a last resort, there could be a checkbox in the UI for using that time picker or not, similar to the output time format.

@IronOxidizer
Copy link
Contributor

IronOxidizer commented Sep 8, 2020

<input name="start-time" type="time" step="1"> enables seconds level of granularity.

<input name="start-time" type="time" step=".001"> enables milliseconds level of granularity, and so on,

Screenshot_20200908-110813_Brave

On a side note, do you prefer PRs on separate branches, or in master?

@IronOxidizer
Copy link
Contributor

Also, for cips, I was thinking that scrub bar markers would be more intuitive. Simply move the start and end marker on the scrub bar / timeline, then losslessly export (nearest key frame split) the clip for downloading in the web client. This would be akin to a video editing workflow.

@scottlamb
Copy link
Owner Author

The new react-based UI has an actual time picker. (It also has some annoying time zone flaws as mentioned in #111 but overall I think it's an improvement.)

I missed a couple comments from way back, sorry!

On a side note, do you prefer PRs on separate branches, or in master?

For small stuff, master is great. I use branches myself for longer-running development like completely rewriting the UI or a new database schema version.

Also, for cips, I was thinking that scrub bar markers would be more intuitive.

I definitely want this! And I think the server-side components are ready for a real Media Source Extension-based scrub bar UI. The live view is based on this, but it should also be possible to use for looking at historical recordings.

scottlamb added a commit that referenced this issue Apr 1, 2021
Questions about how to contribute come up from time to time, eg:
#84 (comment)
#68 (comment)

I hope this helps answer them. I think github adds a couple links to
a file called CONTRIBUTING or CONTRIBUTING.md so this filename gives it
some extra visibility.
@scottlamb scottlamb added javascript Pull requests that update Javascript code and removed js labels Sep 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement help wanted javascript Pull requests that update Javascript code
Projects
None yet
Development

No branches or pull requests

2 participants