I've been developing in Xamarin on a Mac for a few years, but I still don't get wtf is going on in the upper left corner.
Take this example Forms app with a Droid and iOS project.
Why am I allowed to specify Debug|iPhone for a Droid project? What does that even do? You can see that there is no Debug|iPhone config in the Droid project. So what the hell is the app going to do when I press that arrow button on the left? Why am I even allowed to specify this? Shouldn't these choices gray out when I move from Droid to iOS and back? The way it behaves makes no sense to me.
When I press the arrow button, will it try to deploy to the device? I've got an app with an iOS release build I'm trying to deploy to a device. It never happens. The app builds, and never deploys. I've got it set to Release|iPhone. This takes at least 8 minutes each time. Sometimes the same thing happens in Debug|iPhone mode. Or maybe I accidentally set it to Debug (which shouldn't be a choice because that config DOENS'T EVEN EXIST) instead of Debug|iPhone, and there go 8 minutes of my life waiting for a deploy that won't happen. Except in some apps it deploys when on iOS in Debug.
While we're here - Why does the arrow button sometimes get a stripe thru it?
Why is there no ToolTip on this godforsaken button? What the hell is a blank stripe supposed to signify? What precious information am I, an experienced native English speaking developer, missing to give this design choice any context whatsoever?
I'm now recalling when I was at Evolve 2014 and someone from Xamarin went right to the menus instead of this incomprehensible cluster in the upper left. It's a UI nightmare. Maybe that's the solution - Monitor tape.
I'm so grateful that some of my client work is in Windows .NET development, where I press the arrow and the program, you know.. Runs.