Skip to content

Potential Features

bp2008 edited this page Oct 16, 2017 · 24 revisions

Potential Features

This page contains lists of features that I am considering or have considered implementing in UI3. This is mostly for my own notes, and should not be taken as a promise about anything.

Planned Features

"Planned Features" are those which I intend to implement some day.

  • Clicking the speaker icon should toggle volume between 0 and its last otherwise-set position.
  • Server-side ptz preset thumbnails that get shared with all users.
    • Requires server-side ptz preset thumbnails before I can even start.
  • Throttle rapid clip changes to prevent heavy Blue Iris server load.
  • Throttle rapid camera changes to prevent heavy Blue Iris server load, particularly for H.264 streams.
    • Maybe unnecessary since "fetch" streaming has been limited to 1 active connection at a time. Needs re-evaluation.
    • This was never a problem for Jpeg streaming.

Possible Features

"Possible Features" are those which I may implement eventually, or not. I have no immediate plans to do any of these things.

  • Multiple-server support (making the UI able to connect to other Blue Iris instances like UI2 can).
    • Not likely because it would force backwards compatibility and be a burden for ongoing maintenance.
    • I don't think most people would ever use it.
  • Admin login prompt could pass along a callback method, to refresh panels like the server log, server configuration, full camera list, camera properties without the user having to repeat the action that caused the login prompt.
  • Reduce wasted bandwidth by limiting the jpeg refresh rate when the camera's reported frame rate is lower than what we are actually capable of streaming.
    • This is not a common scenario, even on a LAN where bandwidth is abundant. It is particularly unimportant now that Jpeg isn't the only viable streaming option.
  • Timeline control. Simplified format at first. Maybe show the current day, the last 24 hours, or the currently loaded time range. Selecting a time will scroll the clip list (and begin playback of the most appropriate clip?)
    • Added complexity and screen-space usage, not necessarily useful without multi-clip simultaneous playback because the clip list is already a sort of timeline.
  • Allow an open clip to remain open even if the clip list no longer contains the clip.
    • I don't think this would be very useful, but after building this, it would become easier to generate URLs that open a specific clip.
  • Have a way to generate a UI3 link that points at a specific clip.
  • An alternate layout that automatically loads when the UI has significantly more height than width (e.g. portrait view)
    • This sounds like a lot of work.
  • An alternate layout that eliminates the tabs along the top and instead merges their functionality into one screen like UI2.
    • This sounds like a lot of work.
  • Mouseover of clip thumbnail causing it to animate a preview of the clip, as seen in UI2.
    • This requires better support from Blue Iris which will probably never happen. UI2's implementation is very inefficient with server CPU time.
  • Yes/No dialogs could perhaps respond to 'y' and 'n' and escape keys, and simple confirmation dialogs could respond to enter / escape.

Finished Features

These features, once in a list above, have been completed.

  • Single-click in the clip player does play/pause. Double-click enters fullscreen mode. Single-click action only occurs after double-click timer expires unfulfilled. See YouTube player behavior.
  • Dialogs that can use keyboard input should suppress other UI3 hotkeys.
  • Deletion failure for single clips could be handled better.
  • Add URL parameters for loading a camera, group, or fullscreen mode.
    • Fullscreen mode couldn't be triggered by URL parameter, as browsers require user input to trigger the change.
  • Make PTZ presets work better on touchscreens. Including the text box to set preset description on a phone. (android)
  • Implement JSON "users" command as a status panel like the Log panel.
  • Test large dialogs on phones.
  • Fix bug where incorrect stream length info is shown for clips in H.264 mode until the first frame is downloaded.
  • Implement "Copy image URL" with https://clipboardjs.com/
  • Preserve seek position and play/pause state when changing between player modules (N/A for live video).
  • UI Settings dialog.
    • Button to forget saved credentials.
    • Checkbox for: Long press to open context menus (enabling this should disable longpress to set preset, which is available in the context menu anyway). Affects few devices, e.g. samsung smart TV remote control
    • Idle Timeout (minutes). Enabled by default, overridable in local overrides script.
    • Option to force a particular UI scale/size.
    • Hotkey configuration
Clone this wiki locally