Conveying the selected state of a 2 option toggle button is especially tricky.
Which is the active state and which is the inactive state? Flat design and Apple interfaces make this distinction even more difficult.
Depends on the surroundings. If the rest of the buttons are hollow, then the full one is the selected state I guess....
Agreed. If it's not clear, then the visual design needs to change, not the interaction pattern itself.
The sort function should always catch user attention first
This is pretty loony. What if the sort function is only used by "power users"? What if there's something more important to show in that space? What if there are more than two sort options?
How about this in instead: "the visibility of an element should just be in proportion with its importance to the user or likelihood of use." Understand what users are trying to do and design a UI for that use case.
For ex: Google image search uses dropdown filters for things like size and color because only a few users need that stuff. This article would have them build a massive two-tiered tab bar between your search query and the results.
When you have two items.