In many software, there is a list and a view panel. A user can select different items in a list to see different content in the view. For example, when you open Gmail, on the left you see a list of emails, and by selecting one of them, you see the details of that email. When these two views are organized horizontally, usually there is no confusion in how to design them. We put the list on the left and the content on the right. But the problem comes when we design it vertically, which should be shown on top?
1. Content on top and list at the bottom.
There are several examples where you can see the content shown on top.
(1) Mac OS Finder
Here you can view different pictures on top by selecting different items at the bottom.
(2) Visual Studio
Here you can view different errors in code by selecting different errors in the error list when debugging your code.
2. List on top and content at the bottom. There are also examples when you display the list on top whereas the content at the bottom.
In the above example, you see the details by selecting different items on a top list. Similar examples also exits in some mail applications, where the details of an email is shown at the bottom.
So here comes my question. Are there any rules/theories behind this? At the beginning I thought reading habits matter, because most people read from left to right, and from top to bottom. It seems that the "list on top approach" is always logical. But how do you explain the counter examples? When should we design the "content" on top, and the manipulation control at the bottom? When should we do it in the opposite way?