MOBILE APP OWNERSHIP CHECKLIST
Here is a non exhaustive list of things to have in order to establish ownership over a mobile application.
✔️ SOURCE CODE
Your codebase is not just a collection of files—it’s your most valuable asset. It’s the blueprint that enables your development solution to function and scale effectively. Each file represents a piece of the puzzle that makes your app tick. Keep it organized, readable, and well-structured. This clarity ensures that as your project grows, you can adapt and scale with ease.
Organization: Treat your codebase with the same care you would a prized asset. Ensure it’s neatly organized and consistently formatted. This makes it easier to maintain, debug, and expand.
Beware, sometimes code can be delivered in an ‘uglified’ or ‘obfuscated’ state. Intentionally made difficult to edit. Make sure the code has nice indentation and a consistent readable style. Here is an example:
Here are some example codefiles names
- main.java
- AppDelegate.mm
- index.js
- App.ts
- MainActivity.kt
It’s normal for a large projects to have lots of nested folders with code scattered all throughout. It should be neatly organized and human readable.
✔️ THE LATEST BUILD
A build is the tangible result of your code—the APK for Android or the IPA for iOS. Builds are what you distribute to users, so they need to be reliable and functional.
While Android builds can be tested and installed directly, iOS builds often require TestFlight or App Store distribution. Establishing a build pipeline will help you stay prepared to address and resolve issues swiftly.
Troubleshooting When encountering build issues, don’t settle for “It works on my machine.”
When transitioning between developers, errors linked to missing files and undocumented configurations may surface. Work with your developer to extract and analyze crash logs and build outputs to ensure a complete deliverable.
✔️ DOCUMENTATION
Documentation is the user manual for your app’s lifecycle. It should cover everything from build commands to software dependencies and versions. Comprehensive documentation ensures that anyone interacting with your codebase understands how to work with it effectively.
Formats: Place essential documentation in the README.md, package.json, or an external wiki. Keep it up-to-date to reflect the latest changes and dependencies.
✔️ KEYS
Keys are your security gatekeepers. They come in two forms:
Server Access Keys: These are vital for accessing and managing backend systems.For example, SSH keys or passwords for cloud systems like GCP or AWS. Other examples include Push notification keys for Firebase Messenger or APNS should also be considered.
Secure these diligently, and consider revoking and regenerating keys/passwords if trust issues arise.
Build Signing Keys: Files such as *.keystore for Android or p12/p8 for iOS are used to sign your builds and establish your identity with app stores. Store these keys offline to protect them from unauthorized access.Build signing keys are linked to a Bundle ID or Package Name. They are used to sign the app and verify its authenticity. If you lose these keys, you will not be able to update your app on the App Store or Play Store.
$_
By following this checklist, you can ensure that your mobile app is in safe hands. Ownership is not just about having the rights to your app—it’s about having the tools and knowledge to maintain and grow it effectively.
By following this checklist, you treat your codebase as the invaluable asset it is. You can confidently navigate the development lifecycle, knowing that you have the resources to address any issues that arise.