“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.

Bar Bands – Complete re-write

The BarBands mobile app started a couple of years ago, when Ionic 1.x and AngularJS were in full swing. I’ve always liked this app and the potential it has, so I decided to upgrade it.

Since I’ve begun building my newer mobile apps with Ionic 3.x and Angular 5.x, I decided to take this one and upgrade it. This was not a difficult task, but a little time consuming as I was also building new processes/flows in my upgrade and build process. I want it to be smooth when I upgrade some of my older apps.

In addition, I added a few new features to the app which included:

  • a map of gigs closest to you
  • an easier way to submit gigs
  • an easy way to contact support with an email

The new Android version is finally complete and has been released. Take a look at it on Google Play.

What’s next for the app? iOS.

Once you have the Android version of the app built with Ionic, an iOS version is not difficult at all. For a developer that works in a Windows environment, like myself, it just becomes a little time consuming. I just simply need to build the app for iOS (usually using PhoneGap Build or Ionic Package) and then install and test on my various iPhones. I make sure all the plugins work and that my build scripts are kept up-to-date. But, I still use the same source code as the Android version. Most of the time spent on the iOS version is actually testing, which is a good thing, right?

AQuA – Another Quote App

We’ve recently released a new mobile app called AQuA, Another Quote App, to the Google Play Store.

https://play.google.com/store/apps/details?id=com.lionsdenmobile.aqua

What we used to build this:

  • Angular 5.2
  • Ionic 3.9.2
  • Cordova
  • Firebase with a real-time Database to store the Quote categories and the Quotes

This was an exciting project to start on, but it is a work in progress. We were really excited to use the Firebase backend. To add the quotes, we built an Angular frontend website to view the current quotes and add new quotes. It was great to see how quick and responsive Firebase and the Angular Firebase modules were. When we added a quote to the backend database, we didn’t even have to refresh the mobile app. The quote just showed up in less than a second on the mobile app.

Future Plans

  • Favorite a Quote and view a list of your favorites
  • Share a quote on social media
  • Get local reminders (such as a daily reminder at 8:00 am) to read a favorite quote

[UPDATE 04/08/2018] Now available for iOS on the App Store