“Hello, World!” Mobile App to a customer in less than 24 hours

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 can be used as a sanity check to make sure everything is working and that the systems or processes are running correctly.

Why release such a simple app to a customer?

  1. 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
  2. Having the customer or tester register their device and get an app installed is a necessary part of the entire process.
  3. Giving the customer version 0.0.1 shows they actually have their own app running and working on their phone. There is something!
  4. 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.

Disclaimers

  • 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

  1. Create a starter app using my development tools
  2. Change the text on the main page to “Hello, World!” or “Hello, [Customer Name]!”
  3. Create the appId in Apple developer account and update the apps’ code using this app ID
  4. Build and test locally
  5. Push my code to my git repository
  6. 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
  7. Copy various build steps from a previous app that I use, changing relevant pieces where necessary
  8. Create the Apple provisioning profile for my iPhone and upload to my CI/CD tool
  9. Run a build on the CI/CD server
  10. Test on my iPhone
  11. Setup App Center information, linking my CI/CD tool to automatically push new test versions to testers
  12. Invite testers through their email
  13. Once the invite is accepted, the tester will register their device to allow the test version of their iOS app
  14. Apple provisioning profile is updated with new devices from testers
  15. A new build is started that will go to the testers. This build gets deployed automatically to App Center
  16. Testers receive an email when a new version is available for them to download and test.
  17. 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.

Next Steps

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.