Rename the split pane machinery to Overview / Detail
Master / Detail is not great terminology.
Agreed.
We’ve used “leading” and “trailing” for this in our Swift sample version. That has a bit of layout-y-ness to it though.
Main / Detail? Works a bit better with Kotlin's MasterDetailScreen, where the master slot is the non-optional one:
class MasterDetailScreen private constructor(
val masterRendering: BackStackScreen<Any>,
val detailRendering: BackStackScreen<Any>? = null,
val selectDefault: (() -> Unit)? = null
) {
Still not great. :/
Parent / Child?
Found this in Learning Programming Using Visual Basic .NET:
As an alternative to the terms master and detail, we sometimes use the terms parent and child.
Parent/child are so overloaded, that seems like it could be more confusing than anything. Especially in a sentence like "The ParentChildContainer has two child screens – one is the parent screen, and the other is the child screen."
Yeah, nonstarter.
Well so far I think I like Main better than Index
The main screen is almost always a navigation screen, but there are probably too many exceptions to name it something navigation-related.
Some ideas in this thread: https://twitter.com/zachklipp/status/1268646364625293312?s=20
From the Twitter thread, I like Overview / Detail a lot.
I think the Detail terminology is pretty settled. So let's vote on the other one:
- 👍 Main
- 👎 Overview
- 😄 List
- 🎉 Summary
- 😕 Topic
- ❤️ Root
- 🚀 Primary (with Secondary for detail)
- 👀 Index
Please react on this message with your vote!
One of the arguments for Primary/Secondary is that it opens the possibility for other screens, like Tertiary, etc. I personally am not a huge fan, since it's using very generic words to refer to a very specific layout pattern.
I strongly dislike Primary / Secondary. It implies a genericness that is misleading — there's a reason we didn't call this SplitPaneContainer. And WRT to a theoretical Tertiary in our future, YAGNI applies to naming as much as anything else.
I like Overview/Detail over Main/Detail since one many contexts the detail screen is the “main” thing I’m interacting with.
We've discussed offline, and reached a majority agreement on the terms Overview/Detail.