Introduction to Prototyping
If a picture is worth 1000 words, a prototype is worth 1000 meetings.
How many times have you heard of someone say, "I got an app idea!"
Probably you already got one. So what's the next step?
Now that you have some basic concepts of iOS programming and SwiftUI, should you just open Xcode and start coding your app?
As I always said, coding is just a part of the app development process. Before you begin to code your app, you will have to go through other preparation stages. This is not a book about software engineering. I am not going to discuss every stage of the software development lifecycle. Instead, I want to focus on prototyping, which is an integral part of the mobile development process.
Every time I mentioned prototype to beginners, two questions pop up:
- What's a prototype?
- Why prototyping?
A prototype is an early model of a product used for testing a concept or visualizing an idea. Prototyping has been used in many industries. Before constructing a building, an architect needs to draw a plan of the building and make a model of the building. An aircraft company builds a prototype of an aircraft to test any design flaws before building and assembling an airplane. Software companies also build software prototypes to explore an idea before creating the actual application. In the context of app development, a prototype can be an early sample of an app which is not fully functional and contains a basic UI or even sketches.
Prototyping is the process of developing a prototype and offers many advantages. First, it helps you visualize your idea and better communicate your idea to your team members and users. While you are now learning and developing an app on your own, app development rarely happens like that in a real-world environment.
You probably work in a team of programmers and UI/UX designers to build apps for your clients. Even if you're an indie (or solo) developer, you're probably developing an app that targets a specific group of users or a niche market. Or you hire a designer to design the app UI for you. You have to find some ways to communicate the app idea with your designer or test your idea with your potential users. You can explain your idea in words, tell your users how the app works but this is not effective enough. There is no better way than showing your app idea as a fully functional demo.
By creating a prototype, you can involve everyone (developers, designers, and users) of the project earlier. All the involved parties will better understand how the app works and figure out what's missing at the early development stage, way ahead of the final product is built.
Prototyping also allows you to test an idea without building an actual app. You can show your prototype to your potential users and get early feedback before an app is built. This saves you both time and money. Figure 7-1 illustrates the benefits of prototyping.
To access the full version of the book, please get the full copy here. You will also be able to access the full source code of the project.