DEV Community

Broad Digix
Broad Digix

Posted on

The Integration Decisions Behind Effective Mobile App Development in Austin


Inventory
In reality, there is likely an existing tech stack in place. You will need to understand what systems need to be integrated with, what should stay separate and what will happen if they don’t integrate. To start with, understand the systems currently in place that are providing value. If your project involves integrating payment services, scheduling, maps and customer accounts, you need to make sure you are not designing a new project from scratch. Understand who owns the systems, what limitations there are to integration and what data they contain. Start by creating an integration diagram with the tools you already have in place. Knowing who owns the existing technology will make the technical infrastructure of your mobile application development austin easier to maintain.
For example, if the booking is successful on the mobile side but not on the calendar, it makes it easier to understand why. Consider including any informal tools in your inventory. Whilst a daily used spreadsheet might be more crucial to your operations than an expensive but unused platform. Understand how the customer will be passing information between the payment services, scheduling, maps and customer accounts whilst trying to complete their task on the go. This will also help to understand what systems are the source of truth. Document what tools you currently have and who owns them. Often decisions around the existing technology in mobile application development austin will determine if you have a great demo or something reliable.
Source of Truth
Perhaps during the weekend launch you notice some interesting users come in and you realise there was an issue with time zones. Consider what source of truth your systems will have. There might be two different applications both containing the same field, but different meanings. Decide on a source of truth for each key value, who can update it and how it should be updated. Without this one successful API call could secretly cause issues for another system. Knowing who owns the data will make the technical infrastructure of your mobile application development austin easier to maintain.
Whenever there are shared fields, there should be a clear source of truth. Deciding who owns each field. Whilst there may be multiple systems containing customer address, payment status or workflow status, generally one should own the source of truth at any given time. Decide on how conflicts will be resolved and document it. Don’t add any syncing until you have agreed what will happen. Decide on what application owns each shared field. Often decisions around data ownership in mobile application development austin will determine if you have a great demo or something reliable.
Handle Failures Between Systems
Sometimes systems will fail midway through a process. Perhaps an event is duplicated, or a service times out. Design your retry logic, prevent duplication and create reconciliation processes whilst it is still easy to make changes. For example, a fictional café owner could run a simple collection process to see if it works before investing in a loyalty system. Knowing who owns the timeout and retry processes will make the technical infrastructure of your mobile application development austin easier to maintain.
Design your retry, prevent duplication and reconciliation processes. A timeout doesn’t indicate if the last action was successful. Design your idempotency, retry processes and reconciliation. If an appointment request is made and there is an unreliable connection, blindly retrying could cause duplication or inconsistent data. Often reliability will depend on these decisions rather than the integration itself. Design your systems to handle failures in distributed operations. Often decisions around timeout and retry processes in mobile application development austin will determine if you have a great demo or something reliable.
Security
When integrating systems, you should also consider your security. Before going live, consider what authentication, authorisation and logging you need. If you are improving the booking process for a regular local service through a mobile experience, decide what processes really need write access and what can be read only. Don’t give extra data out for ease of use. Your secure connector shouldn’t be an open door. Knowing who owns the secure interfaces will make the technical infrastructure of your mobile application development austin easier to maintain.
For example, perhaps you want local apps to be more contextual whilst reducing unnecessary notifications. Whilst this is a hypothetical example, always use the least amount of permissions for your connections. Secure your authentication, validate inputs and keep your logging useful. Decide what processes need to mutate data and what can be read only. This can greatly reduce the impact of a compromised integration. Secure your connections with limited authorisation and sensible logging. Often decisions around secure interfaces in mobile application development austin will determine if you have a great demo or something reliable.
End to End Testing
Perhaps you need to improve the booking process for classes at your local neighbourhood studio. This means you need to consider what decisions to make before building. Whilst an individual endpoint may pass all tests, the customer journey may not. Ensure you are testing the full journey including payment services, scheduling, maps and customer accounts. Add in error handling and rollback as required. Knowing who owns the end to end testing will make the technical infrastructure of your mobile application development austin easier to maintain.
A unit test won’t show that your full business process is working. Design tests for full scenarios including create, update, cancel, recovery and reconciliation. Try to include slow responses and unusual values. If your system is reporting success but nothing is changing in another application it can give a false sense of security. Ensure your end to end checks match what the user will see. Often decisions around end to end testing in mobile application development austin will determine if you have a great demo or something reliable.
Change Management
As systems change, APIs may be restricted, field names changed and staff who knew about the original integration leave. Document what mappings, responsibilities, error handling and deployment processes there are so that in the future, whoever is working on the project can quickly fix the issue. Perhaps your founder realises the customers prefer a quick mobile site over downloading an app. Knowing who owns the change management will make the technical infrastructure of your mobile application development austin easier to maintain.
Document your integration decisions so that changes can be made safely in the future. Document what to do if a job fails, how to change a credential, update a field mapping and how to find the source of an error. Give these to specific roles. Having good documentation will reduce reliance on the original developers and will allow future teams to make changes to your mobile experience to make booking a regular local service easier. Documentation is key if the original developer isn’t available. Often decisions around change management in mobile application development austin will determine if you have a great demo or something reliable.
Be Purposefully Flexible
Sometimes the best architecture is the simplest. Ensure you are using the right technology for the expected load, keeping data secure and allowing reasonable changes. If you can’t explain why a component is needed to solve the problem then perhaps it shouldn’t be there. Complexities should have a business reason. Knowing who owns the long term architecture will make the technical infrastructure of your mobile application development austin easier to maintain.
Perhaps halfway through registering, the user changes phone and loses their incomplete application. Consider what decisions to make before building. Be flexible with your architecture but ensure it is for valid reasons. Don’t over complicate with abstract processes when a simple connector with clear ownership would work. However, don’t compromise on traceability. The perfect balance is a system that can be managed by today’s team but can be extended by tomorrow’s team. Aim for the simplest solution to support the expected growth. A good architecture will allow changes to be made. It won’t force every team to rebuild the same bridge. The aim is not to have complex technology but to have a reliable relationship between systems and users.

Top comments (0)