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.

  • Server-side ptz preset thumbnails that get shared with all users.
    • Requires server-side ptz preset thumbnails before I can even start.
  • Alert playback should behave like it does in other Blue Iris apps, where Alerts are basically just a bookmark into a clip.
  • Play audio for recordings when H.264 streaming is enabled.
    • Add a volume control to the playback controls bar.
    • Requires assistance from Blue Iris developer, as the modern audio streaming APIs are undocumented.

Possible Features

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

  • Show the playback controls in a limited fashion while live viewing on the Alerts/Clips tabs.
    • Possibly show this during live view on any tab, and move the audio volume and Streaming Quality controls to it.
      • Alternatively, float relevant controls when pointer is near, as done with Fullscreen button. Less intrusive this way? Increases consistency between UI tabs.
  • 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.
  • H.264 playback pipeline could be made to honor frame timestamps for rendering. Currently, frames are just decoded and rendered as quickly as possible.
    • I see little benefit to this because Blue Iris doesn't send data faster than it is intended to be viewed (no buffering ahead when streaming a recording). It works fine as-is in all my tests.

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
  • Clicking the speaker icon should toggle volume between 0 and its last otherwise-set position.
  • Throttle rapid clip changes to prevent heavy Blue Iris server load.
  • Throttle rapid camera changes to prevent heavy Blue Iris server load.
Clone this wiki locally