That’s right! In todays mobile app world, it’s easy to get a basic “Hello, World” mobile app into the hands of a customer or tester in less than 24 hours!
What is “Hello, World!” ???
A “Hello, World!” app is a very simple app that displays the text “Hello, World!”. It is usually the very first software program taught to developers since it can be used as a sanity check to make sure the development environment is working and that the systems or processes are running correctly.
Why release such a simple app to a customer?
- The initial development and automation of the release process can be done very quickly. We are, in effect, testing this by releasing to the customer
- Having the customer or tester register their device and get an app installed is a necessary part of the entire process.
- Giving the customer version 0.0.1 shows they actually have their own app running and working on their phone. There is something!
- Iterative development is a key piece of software development. When a new milestone is made, it is very easy now to push the changes to the customer to get their feedback.
- I already have a Google and Apple developer account. Setting these up can take a few hours to several days depending on your requirements.
- I have built many apps in the past, so I can re-use some of my most basic configuration and automation tasks. I also have any necessary developer certificates or keys setup because of this.
- This assumes the customer/tester replies to emails and invites (from the App distro tool) in a timely fashion.
Simple steps to get this done
- Create a starter app using my development tools
- Change the text on the main page to “Hello, World!” or “Hello, [Customer Name]!”
- Create the appId in Apple developer account and update the apps’ code using this app ID
- Build and test locally
- Push my code to my git repository
- Create a new build configuration for this app in my CI/CD tool, linked to my new git repo so that new pushes of code will kick off new builds
- Copy various build steps from a previous app that I use, changing relevant pieces where necessary
- Create the Apple provisioning profile for my iPhone and upload to my CI/CD tool
- Run a build on the CI/CD server
- Test on my iPhone
- Setup App Center information, linking my CI/CD tool to automatically push new test versions to testers
- Invite testers through their email
- Once the invite is accepted, the tester will register their device to allow the test version of their iOS app
- Apple provisioning profile is updated with new devices from testers
- A new build is started that will go to the testers. This build gets deployed automatically to App Center
- Testers receive an email when a new version is available for them to download and test.
- Tester installs, starts the app and sees “Hello, World!”.
Hmmmmm…..now that I think of it, it’s more like a few hours, given that I don’t run into any weird snags or it’s not football season.
Now that the guts of the app are working, its time to start on the various features. I begin development while testing on my Android and iPhone regularly. Once a major milestone is hit, I simply push a button and the new features are released to the testers.