Hi,
I would like to share some ideas I had that we briefly discussed about the pin and new view features.
Let my start by stating that the current proposed patch for the pin feature was demoed to internal users who found it too restrictive. These users would expect to still be able to navigate a view that has been pinned.
That being said, I think it might be a good idea to separate the concept of pinning the 'trace' and pinning the 'time' (for this discussion pinning 'time' refers to synchronizing both the window range and the time selection).
When you create a new view instance, it's not really useful to have the new instance unconstrained by both time and trace. Otherwise you have two views that show exactly the same thing (well, you could scroll up and down and have different filters, but that will be still be possible with my following suggestion...). What I would suggest is that a new view instance should be pinned by 'trace' permanently. Furthermore, all such views pinned to the same 'trace' should be 'time' synchronized together permanently.
So for example if you have two traces opened, Trace A and Trace B. Trace A is the active trace and Control Flow view (CFV) and Resources view (RV) show Trace A. If you create a new instance of CFV, you somehow have to decide which trace it should be pinned to, let's say Trace B in this example.
Now you have CFV-B and you pin it in 'time' so that it is no longer synchronized with Trace A. If you then create a new instance of Resources view RV-B pinned in 'time', I don't think we want to have three independent time selections. You would have to manually browse in CFV-B and RV-B separately to keep them aligned. Hence the proposal to have CFV-B and RV-B permanently time-synchronized. And they would also be time-synchronized with their pinned trace Trace B so that you could correlate the trace events with the selection in those views.