We continue our series on the business processes at TRIARE. After having covered estimation and design, we introduce the technical part. Notably, this comes in two stages: creating an architecture and developing a product. Release and post-release support follow but we won’t focus on those much.
Android Application Architecture
Until now, project managers have understood the challenge posed by a client. There are clear tasks for the app and relevant samples from the management. There is a ready design that helps to make the estimates more accurate.
Generally, there is always a Raw Estimation. This document describes a common functionality and time required for its realization.
Basic time estimates in hours (excluding SDKs and features).
Numbers in parentheses are cases when navigation or localization is needed
Based on it, we can quickly find a common ground regarding a project the customer wants. For individual approaches, we choose the most relevant tech stack. It depends on:
- Data load
- Data cache required
- Data visualization (on device screens) and UI modules
- Additional frameworks for each application
- The necessary architecture for the overall project
It is important to note that we offer our own architecture for new projects. It pays off for delivering a modern and correct system from the start since it minimizes bugs in the future and is easier to support by other teams at later stages. For instance, we would support the 5th version of Android SDK, although modern standards suggest using 6 to 10+ versions only.
We also leverage a clean architecture approach. Its details should not bother our clients; in fact, the outcomes matter. Clean architecture allows to:
- Minimize the number of bugs
- Guarantee easier support and seamless changes in future
- Separate logic to handle remote control, cache, data formatting, and UI which translates into evident time saving
Clean architecture approach preferred in Android development
Android App Development
Once we selected a proper architecture, TRIARE team starts preparing the logic for the app. We also transform a ready design into a functional MVP. Notably, the architecture dictates the entire development logic. In other words, how the app interacts with data and a device screen. Below are the steps we follow.
UI implementation. Remember that UX design toolkit we talked about in the previous article? Now, our Android dev would implement the screen according to the provided style guide. It is when each mockup block becomes interactive. Also, the rules for showing the output data are encoded in the app.
Animation. There needs to be a smooth transition between screen and elements. Our developers pay special attention to the right image resolution to ensure quality and avoid unnecessary overload for the app. This would vary between web versions and even mobile platforms (see our article on iOS).
Be aware of the differences between
Android and iOS development.
This might come as a surprise but there are various licences one needs for a mobile application (and a website too) like the font license. Sometimes font licensing for mobile applications is more expensive. Unlike iPhones, Android devices do not support Vector graphics. Instead, they rely on Rust icons which are good only in certain sizes. Besides, there is a peculiar interaction with a sidebar and no force touch option. By this stage, our designers have thought of these specifics.
Testing. We then run a series of automated tests. After filtering out simple bugs, we ask our pedantic QA engineers to try each feature and give immediate feedback. Human-centered design is at the heart of our work.
Alpha version. You will see this version of the app. While still called “raw,” the application will work and look very close to what the client wanted in the beginning. Alpha testing allows bringing in the first users and gathering more valuable feedback to polish the core features.
Submission and Post-Release Support of Android App
Notably, soft skills of a developer are equally important to the cold coding mind. A large part of the job is communicating with our clients — the owners of services we are developing. Our partners range from an advertising business in Israel to a video production agency in France. Literally, all over the world. It is why the ability to find common ground is critical to our work.
Although it is true that a project manager bridges all the steps of the work, TRIARE team strives to be on the same page with each stakeholder, including the end-user. Before submission, we may A/B test a beta version of the app in Play Market. This additional feedback helps us polish the result and transition from execution to marketing — both being the pillars of a successful product.
After that, the product release follows. Usually, it takes 2 days but we assume a week-long window. At this stage, and during all the iterations, our mobile app developers remember about representing the company and the customer. They are indirect brand ambassadors; it is our mission incorporated into the DNA of TRIARE.
Ongoing support is guaranteed. We keep up with the times and are continuously exploring the needs of our customers. As we meet their needs and realize new brave ideas, we are improving too. This flywheel spins the Earth, and we are proud to contribute to this process.
In this article, we provided you with a brief overview of our mobile development process, Android in particular. Read the next part of this series where we talk about iOS development and business goals of our clients.