olive icon indicating copy to clipboard operation
olive copied to clipboard

[UI] Workspaces

Open frink opened this issue 5 years ago • 8 comments

In several of the por recent editors (Davinci Resolve, HitFilms, Blender, Lightworks, etc.) The concept of workspaces have become key to efficient workflow. The idea is to have different tool layouts depending on the workflow task that the editor is performing. Rather than requiring a specific workflow ad most editors do it makes more since in Olive to be flexible with workflow and allow users to setup their own workspaces for different tasks.

Essentially all this means is multiple layouts that are saved instead of a single overriding layout. My suggestion is to allow flexible naming of workspaces and making them available viat tabs either at the top or bottom of the screen. A number of years ago Blender tried to do a workspace selection from a drop down menu and found it quite restrictive. As we move into more pro-focused workflows the need to focus on the task at hand and hind non-relevant tools quickly becomes paramount. Workspaces allow each editor to create their own workflow which can be saved and repeated through various workspace layouts...

frink avatar Mar 03 '19 18:03 frink

Here's how Blender's guide workspace as of 2.8

image

This means there would be something like separate tabs, with different window configurations. Good idea as my 1080p screen could only handle so much.

ghost avatar Mar 04 '19 00:03 ghost

Exactly!!!

I actually found Olive as a result of reviewing Blender 2.8 changes and someone mentioned it. After reviewing the goals and code of Olive it made me a believer even in the alpha state.

Seems like there is more hope of Olive reaching the status of pro-grade NLE before Pitivi ever becomes what most would consider pro...

frink avatar Mar 04 '19 07:03 frink

I think that at first you can make the initial layout of windows as in the attached figure. olive_4 Since when viewing, we need two spaced windows, a project and a media viewer. And when editing, there are also two windowed effects and a sequencer view. The timeline window I propose to knead below.

dma3000 avatar Mar 04 '19 18:03 dma3000

Layouts (workspaces) is a very interesting problem, lets look at two examples: Blender & DaVinci Resolve:

Resolve:

  • Layout for every stage of video production pipeline
  • Modal Layouts, the whole program changes in different layouts, look & feel
  • Layouts can not be modified or added
  • Panels within windows can not be moved

Blender:

  • Layout for many stages of pipeline
  • Non-Modal, windows are constructed from base panels which are reused
  • Layouts can be modified and added
  • Panels within windows can be moved

Olive is currently using QDockWidgets to provide panel widgets, (such as Viewers, Sequence Editors etc). These Widgets can be docked (placed in a window) or floating (the panel is a window). Such a layout is most similar to Blenders way of constructing an interface, and is very flexible.

However, there are positives to Resolves locked design:

  • Panels can completely change depending on the workspace layout
  • Developers can concentrate on function, without having to design panel UI's that works in every permutation
  • Resolve looks the same regardless of where it is installed, UI is consistent between users

The most important aspect of a locked design is that we can get radically different panels that are custom designed for the job at hand, yet are similar to panels in other workspaces.

An example of this is the sequence viewer which changes into a clip viewer in color workspace.

It will be important to identify in the future which panels need multiple views and even have a toggle for different views per panel.

I think it would be very powerful to have the sequence viewer turn into a clip viewer for example, but this would have to be a different view of the sequence viewer. Then different workspaces would not only change the layout of widgets, but also their display view.

alcomposer avatar Mar 05 '19 04:03 alcomposer

Yes. You end up with many tiny tools that have similar function be slightly different feature sets. I think that is probably unavoidable in a project of this magnitude. For a long time Blender had a generic viewer window from which you could toggle the source of the view. I think that having several modes of one general widget type like how Blender does things may allow the most flexibility.

Lightworks has been praised by its users for not forcing one workflow on anyone but providing the tools for users to create their own workflow. I think having sane defaults similar to HitFilms and Davinci Resolve probably make sense. But allowing power users to customize their workflow more completely is probably also an important consideration...

frink avatar Mar 05 '19 05:03 frink

@frink at the end of the day power users will use the most powerful software for their job. Currently if that job is Color Grading Resolve is the No.1 choice, regardless of how much (or no) customisation of the interface is possible.

My point was that @itsmattkc has to find a good balance between spending time on interface - or backend. I think using generic Qt interface design is a good idea. Having a few different view's of the same panels will also help to make this a reality without having to spend years on the UI.

alcomposer avatar Mar 05 '19 06:03 alcomposer

@alcomposer - Power Users consider "most powerful" as being the the most scritable or accessible interface not necessarily the easiest or most popular tool. Open Source software has a leg up on competition from day one for Power Users if we expose interface configuration, workflow considerations and scriptable API/ABI. Olive has a great start on this front.

I agree with you on using a generic interface. All I'm suggesting is to embed that in a tabbed component which is itself a generic interface and then storing these layout tabs in a generic way. No need for rocket science here unless I'm missing something.

frink avatar Mar 08 '19 17:03 frink

I see this is an old issue and I have no idea on the ideas moving forward with Olive. I use Screenflow and really like the clean UI layout.

Screenflow-UI

Bottom left zoom in/out. Timeline - push up/down to see more or less of the timeline. Play rewind/forward time. Top - focused space. The screen. Top right. Icons to open various sections. At the moment I have the media library open showing two video files.

paaljoachim avatar Nov 22 '21 12:11 paaljoachim