This morning, Apple approved my enrollment in the developer program. However, I didn't waste the time until that point -- instead, I devoured all of the official documentation on app design provided by Apple. That led me to some drastic changes in direction:
- I will try to use (where it makes sense) standard Apple design patterns and make the app feel 100% native.
- This includes trying to use standard theming because the "glass" appearance is too good not to use.
- Try to get users right into the action. No onboarding process, if possible.
So, although I said I would start with onboarding screens, I want to avoid that and instead get right into the meat of the main interface: Your Rig.
Side note: the provisioning profile issue was that I needed to magically know to look on the other side of the laptop notch to discover the "Window" menu where half of Xcode's functionality is hidden. Inside that menu, the "Devices" window was what I needed.
Jumping right in
I want it to feel completely intuitive and straightforward to use this application while maintaining all the power needed for the prosumer-level features. The app's main screen will consist of the controls for the receiver -- and, eventually transceiver. To start with, I'm making a bunch of placeholder controls. I'll cover most receivers' features and the means to control them, though the interface moves beyond controlling an SDR or other radio.
The controls for the radio are secondary to the app's primary purpose. This app is about listening to and (once implemented) transmitting on the radio to communicate - the purpose of amateur radio itself. For this reason, I want to avoid making the standard controls of radio the primary point of interaction. They should be handled automatically. The user usually interacts with the panadapter display.
It's fun to build a UI like it's Lego. Though Xcode doesn't benefit from it - how am I supposed to know about the plus sign on the top right of the window and determine it's for adding stuff to the preview window nested 5 levels in? Xcode, I'm telling you as a friend: having multiple windows with distinct toolbars is okay.
I quickly ruled out the "split window" - there's no need for a persistent browser. The app should avoid switching contexts, and using a browser is a significant way that occurs.
I played around in Xcode a bunch and determined that I'd like to try a designing app for mockups before bothering with implementation. I got some hands-on experience, and I know what components I want and what things I will need to build myself. There's a bunch that I will need to make myself.
In the next post, I'll cover the overall layout of the main app screen.