Page MenuHome

Rename 'View Frame' -> 'Go to Playhead'
Needs ReviewPublic

Authored by William Reynish (billreynish) on Dec 18 2019, 10:47 AM.

Details

Reviewers
None
Group Reviewers
User Interface
Summary

In our animation editors, we have a feature called View Frame. In my estimation, it is not self evident what this feature does. Does it show frame numbers? Does it show all frames? Does it frame the view? What this does, is it moves the view to where the playhead is. With clearer naming, we can communicate this much more clearly.

This is just a simple patch that changes the name from 'View Frame' -> 'Go to Playhead'.

Diff Detail

Event Timeline

I think it's a good idea to update this, indeed. The only downside I think is that "the current frame" is IMO a more intuitive description than "the playhead". The latter is fine by me too, but in that case I would request that the term be added to the glossary before this is committed. Just part of my battle against the use of undefined terms in Blender ;-)

And yes, I know the term "playhead" is used in multiple locations in the manual, but given that its origins are in old tape drives for audio, it's probably good to add it to the glossary.

Why not call this "View Current Frame" ? This is already used in quite a few places.

./bl_ui/space_dopesheet.py:391:64:
        layout.operator("action.select_column", text="Column on Current Frame").mode = 'CFRA'
./bl_ui/space_dopesheet.py:397:72:
        props = layout.operator("action.select_leftright", text="Before Current Frame")
./bl_ui/space_dopesheet.py:400:71:
        props = layout.operator("action.select_leftright", text="After Current Frame")
./bl_ui/space_dopesheet.py:655:42:
        pie.operator("action.snap", text="Current Frame").type = 'CFRA'
./bl_ui/space_graph.py:188:63:
        layout.operator("graph.select_column", text="Column on Current Frame").mode = 'CFRA'
./bl_ui/space_graph.py:194:71:
        props = layout.operator("graph.select_leftright", text="Before Current Frame")
./bl_ui/space_graph.py:197:70:
        props = layout.operator("graph.select_leftright", text="After Current Frame")
./bl_ui/space_graph.py:390:41:
        pie.operator("graph.snap", text="Current Frame").type = 'CFRA'
./bl_ui/space_nla.py:135:69:
        props = layout.operator("nla.select_leftright", text="Before Current Frame")
./bl_ui/space_nla.py:138:68:
        props = layout.operator("nla.select_leftright", text="After Current Frame")
./bl_ui/space_nla.py:243:39:
        pie.operator("nla.snap", text="Current Frame").type = 'CFRA'

Noticed "Playhead is used too, however not as much, we should probably go with one or the other.

@Campbell Barton (campbellbarton) That would also at least be an improvement.

But maybe really I would like to propose to change all of those instances to 'playhead' since IMO it's less ambiguous.

Debuk (Debuk) added a subscriber: Debuk (Debuk).EditedWed, Jan 22, 5:50 PM

@William Reynish (billreynish) I understand why you think Playhead is less ambitious. Words like "view" or "frame" are used for many different noncorrelating things. In both forms as noun or as verb. So they lead to misunderstandings in isolation.

But the words "frame" and "current frame" are heavily used terms in animation and common vocabulary used across a wide range of programs, so I find it quite awkward and unneccessarily complicating to use different terms here. I'd see it like @Sybren A. Stüvel (sybren) and stick with "current frame" for that.

As an alterntive to ease that in the long run it might be an option to reduce the usage of "view" as a verb and stick to less misleading terms
like "focus" like with "View Selected"->"Focus Selected".

Another misleading description that falls into the same word category is is "view camera". It should be renamed too. "Switch to Camera" or "Align view to Camera" would fit better, the result is not that the camera itself can be seen.

So to make the current renaming here fit to the bigger picture I think "Focus Current Frame" would a good choice.

I agree that "Current Frame" is more intuitive than "Playhead." It's not clear what "Playhead" means if you don't already know the word, but "Current Frame" is clear based on the meaning of two simpler words.

My problem with the use of "playhead" is more profound. It is true that other applications have, and use, a "playhead", but this proposed use of it is incorrect.

To be precise, our "playhead" is that little blue line that indicates and represents the position of the current frame. It is not the current frame itself and cannot be used interchangeably with it as they are a level of abstraction away from each other.

While driving a car a primary action is to "change your direction", not "alter compass indicator". You "increase speed", not "increase the speedometer amount". In blender we just "move objects", not "change object's location value amount"

So you cannot "go to playhead" any more than you can "go to speedometer". You CAN "go to where the playhead indicates" but that is the same as "go to current frame"

A few arguments in favour of 'playhead':

1, we already use it in the UI some places:

2, it's unambiguous. The words 'frame' and 'view' are ambiguous. It could refer to lots of things. In fact, some apps call moving the view to an item 'frame' Meaning that in this case it would be called 'Frame Frame' :)
With the word Playhead, there is no such issue. 'Playhead' is exactly one thing, not to be confused with other concepts.

3, It's a standard term. Many apps use the term 'playhead'. It's not a Blender invention. It comes from the world of film & video production.

@Harley Acheson (harley)
I don't think the distinction matters between going to the frame itself or the playhead. The result is the same. Just as with your example of the car - you can think of the car moving at 100 mph or you can say the needle is at 100 mph. In any case the car is going at 100 mph. Anyway, not sure that analogy is useful or not - all I care about is that the UI in Blender is clear, so users have a chance to guess what menu items do before invoking them or reading long tooltips.

In our example, the playhead is always at the current frame, meaning that 'go to playhead' is just as correct as 'go to current frame' - only less ambiguous.

Anyway, all of this is of course super bikeshedding stuff.

@William Reynish (billreynish) - I don't think the distinction matters between going to the frame itself or the playhead. The result is the same.

Not really. An avatar can represent you, but is not you. So in a game you move yourself, not your avatar. A pin can represent a location, but is not itself a location. So you can go to a location, or go to a pin's location, or location indicated by a pin, but "go to pin" is awkward.

@William Reynish (billreynish) you can think of the car moving at 100 mph or you can say the needle is at 100 mph. In any case the car is going at 100 mph.

Your car has a speed and that is indicated by your speedometer. It is straightforward to talk about changing your speed, increasing your speed, or decreasing your speed. So quite normal to yell to your taxi driver to "slow down" but awkward and strange to tell him to "decrease your speedometer value". You really don't care what that value is. In fact you wouldn't care even if he had no speedometer or if it was broken. The thing you want changed is the speed, not the speedometer. It is the same here with blender. You want to change the current frame, and that is completely independent of how that is represented to the user.

I guess my primary point is that we do indeed have a "Playhead" that is a real thing that has a real purpose. It is that blue line that indicates the current frame. We also have "frames" and a "current frame". The playhead is an indicator of the current frame, but it isn't itself the current frame. It is a blue line that shows the user what the current frame is.

So you can "move playhead" by dragging the blue line or otherwise directly manipulating the playhead itself. But for other actions you are changing the current frame and the playhead just (afterward) indicates where it went to.

The primary action is changing of the frame, not the changing of the indicator.

@William Reynish (billreynish) - all I care about is that the UI in Blender is clear, so users have a chance to guess what menu items do before invoking them or reading long tooltips.

Agreed. And I think the primary problem is the use of ambiguous things like "view frame". The word "view" is ambiguous as is the "frame". For unambiguous you want something closer to "move to current frame" or "go to current frame". It doesn't help to replace "current frame" with a proxy like "playhead".

@Harley Acheson (harley)
I guess my primary point is that we do indeed have a "Playhead" that is a real thing that has a real purpose. It is that blue line that indicates the current frame.

Right - and that's where the view region moves to when you invoke this menu item. To where the playhead is. So I must say I don't see an issue there at all. Only a less ambiguous menu item :)

@William Reynish (billreynish) - Anyway, all of this is of course super bikeshedding stuff.

God no. Bikeshedding here would be endless debate between synonyms. Here the words are not. Using "playhead" in place of "current frame" is making it more ambiguous because it is adding an extra layer of redirection in there for no reason.

@William Reynish (billreynish) - Anyway, all of this is of course super bikeshedding stuff.

God no. Bikeshedding here would be endless debate between synonyms. Here the words are not. Using "playhead" in place of "current frame" is making it more ambiguous because it is adding an extra layer of redirection in there for no reason.

There is no extra layer though. It moves directly to where the playhead is. There is no indirection in that at all.

Take the example of a man walking a dog. The dog only goes where the man goes. If you say 'go to where the dog is', that will take you directly to the dog, even if the dog only moves to where the man goes.

And, in our example you could also argue the opposite: When you drag the playhead, the current frame follows the playhead. So you could just as well argue that the current frame is a result of the playhead being a certain place, just as much as the opposite. In the end it doesn't matter since they are always in one and the same place.

What matters is that 'frame' can mean 'to frame something', which is kind what this operator does. It can also mean 'the current video frame'. So in this case, where we are talking about framing the frame, another, more precise word is helpful - one that we use elsewhere in the UI already.

@William Reynish (billreynish) - So I must say I don't see an issue there at all.

Probably not a big deal. We could always change the default language shown in the blender UI from "English" to "English as a second language". LOL

@William Reynish (billreynish) - Take the example of a man walking a dog. The dog only goes where the man goes. If you say 'go to where the dog is', that will take you directly to the dog, even if the dog only moves to where the man goes.

In this example I am saying that you can go to where the dog is, and you can go to where the man is.

But I am saying don't say "Go to where the collar is". Yes, the collar is always where the dog is. But if you want to talk of the dog, talk of the dog. Don't use a stand in like the collar, or his fleas, even though they might indicate the same location.

Did you miss me? LOL ;-)

Probably not a big deal. We could always change the default language shown in the blender UI from "English" to "English as a second language". LOL

I don't see what this is supposed to mean? You mean that only native English speakers should comment, or the opposite, that Blender should not include English words that aren't included in basic English primary school foreign language lessons? If so, that ship has sailed ages ago - Blender is full of specific names for things and doesn't use kindergarten-level terms. We try to be unambiguous and correct in the terms we use.

Re. the dog thing - I don't agree that the playhead is the collar. Anyway, these analogies don't seem to help at all.

While some minor tweaks like this can be OK as patches, the term "current frame" is used all over Blender at the moment including the Python API and C code as there isn't much agreement, would prefer this be handled similar to other naming changes T56648: Blender 2.8: Naming Conventions

While there are some existing uses of playhead, they are in the minority, and probably wouldn't have been added if we had been more consistent in checking use of terminology.

Currently these contrast each other:


It's kind of referred that View All means View all Frames because View Frame is bundled together in the section.
If it was Go to Playhead, View All would have to be renamed something else, as there's not a easy way to work it out.
View All Playhead :}

Actullay these all seems wrong, it should be "Frame Playhead" or in Blender case Cursor, "Frame All" & Frame Selected" not View or Go To, and hopefully in the future we get "Auto Frame"for Selected Curves which makes some of these options less necessary.

Actullay these all seems wrong, it should be "Frame Playhead" or in Blender case Cursor, "Frame All" & Frame Selected" not View or Go To,

No, this is how it is done...

Actullay these all seems wrong, it should be "Frame Playhead" or in Blender case Cursor, "Frame All" & Frame Selected" not View or Go To,

No, this is how it is done...

If we're going to copy another Software sure, but as you can see,they're under the Frame Menu & most of them start with "Frame ------" except Current,start/end.

In the end it's relatively unimportant if we use the verbs "frame" or "focus" or "go to" in this case. Personally I like "go to" not that much as frame and focus are geared more towards moving a view or a scope and that is what is happening here.

Nothing wrong with being precise. Also there is nothing wrong with using names that are widely used so using current frame doesn't make you a copycat. And as @Campbell Barton (campbellbarton) stated, current frame is sort of standard in blender too.

There may be cases that are worth for blender to think about being different, but naming elements is none of them, especially not if it's solely about being different.

Hehe indeed, and there lies the issue. We might want to call it Frame Current Frame which of course is silly :)

I think Go to Current Frame is also quite clear from the context, and at least much clearer than before. Either that, or Go to Playhead (slightly less ambiguous) I think are acceptable. I will consult a few other UI devs to make final decision so we can move on to bigger and more important topics.

Still unclear to me why this is an argument against "Focus" as a verb, but yes there may be more important topics indeed.

@Debuk (Debuk) Because 'Focus' means something rather specific, especially in a 3d app, which would potentially introduce ambiguity and confusion.

Anyway, this was a nice little bikeshedding topic. We'll make a decision and move along.

Calling it 'Zoom to Frame' or 'Zoom to Current Frame' would match the settings in the user preferences. Consistency on that front, whatever you end up calling the operator, shouldn't be overlooked.