Version 2 Design
The first thing I needed to do was tidy up the storyboard which is used to create the screens in an app. The storyboard is a visual and interactive screen designer within Xcode, the Apple development environment for apps. Each screen (also called scene) connects to another, mostly via navigation controllers which give the scene its navigation bar at the top and the toolbar at the bottom.
Below is an image of what the storyboard looked like before I started on V2. It’s a bit hard to read but it had every scene on the storyboard, eg Spots, Alerts, Sites and pick lists. Notice the lines between the scenes, these are the connections between one scene and another. I knew it was going to become difficult to work with especially when I started connecting to the Site Search and pick lists from multiple scenes.
I decided to break the scenes up into individual storyboards based on the main menu icons. These are Spots, Alerts, QSO Log, Find Sites and Settings. I also created a Main storyboard to hold all the reusable scenes like Search Sites. Of course, QSO Log hadn’t been developed yet but I created a storyboard for it anyway.
I moved all the reusable scenes to the Main storyboard. Then I created 5 other storyboards for the categories. This made it so much easier to work on. Below is the current Spots storyboard. The scenes might look busy here but in the app, they are much more readable.
Behind every scene is a code file written in Apple’s new programming language called Swift. The code controls everything that happens on the scene. Many programming languages these days have similar concepts, an Interactive Development Environment (IDE), screen designers, report designers and code-behind capabilities. Delphi is one such IDE for Pascal, Visual Studio for .Net development, even Visual COBOL (MicroFocus) has an IDE and many others. I’ve used all of these, including MicroFocus COBOL at various Companies throughout my career. When you are a programmer you have to learn the syntax of a language but they all do logic.