Developing a Data Collection Application for Android, iOS and the Web.
Full Service Application DevelopmentLocale Central is enjoying a full service application development that delivers and markets the application across all platforms.
The Challenge
Locale Central is a data collection app that makes it easy to record data out on the field. As part of our full service application development, we needed to create an application for the web, Android phones, and iOS/Apple phones. Additional to this, a serverless website was also needed to be created that communicates the benefits of Locale Central and onboards prospective users.
The Process
Planning & Research
The first step was to identify how the application would work, and how people would use the application. To do this, we researched a variety of industries to produce use-cases that included designing flowcharts for how each professional role would like to use the app and what data they would need to record. As part of producing these use-cases, we interviewed a variety of professionals including Spray Contractors, Health and Safety Managers, Real Estate Agents, and more to ensure we correctly understood their needs.
With these use-cases, we compiled a list of functional requirements for the application, as well as an outline of the selling points for the application to use for our marketing materials.
Design
There were 3 main types of designs we had to create: A desktop application design, a mobile application design, and a website design.
To create the designs, we used one of the fastest growing design tools, Figma. Figma allows us to prototype our designs so we can make the static designs feel like the final product by setting up transitions and animations within the design when you click on elements to test the user experience. As part of our design process, we factored in the needs for our variety of use-cases to produce a consistently good user experience no matter how you used the app.
Development
The first step in development was designing the database architecture. This was done by identifying the data that we needed to store and how we would want to access it to design a database architecture that would delivery results in a fast and cost effective way. We chose the NoSQL database DynamoDB because it means everybody’s data is secure and the delivery of that data is incredibly fast and cost-effective.
Next we created a plan for user authentication, utilising AWS Cognito to provision and manage user roles. The API schema was designed and developed using AWS AppSync, which allows us to use GraphQL queries authenticated with AWS Cognito to make secure requests to our other AWS services.
With AWS AppSync, we also set up real time syncing of user’s data, so if someone makes a change on their end your end updates as well, making it easy to collaborate. The integration with AWS AppSync also provides offline capabilities, so people can record data on their mobile phones without any internet connection, which automatically syncs when they connect to the internet.
After the backend was completed we designed the web and mobile applications which interacted with the API we created to request and transform data.
To create a website that visitors see, we used GatsbyJS. Gatsby uses GraphQL to pull our content from Prismic into the page, the great part about Gatsby is how fast everything loads, and Google loves that.
To automate future updates and maintain a standard of quality, we created a continuous integration and continuous deployment workflow using GitLab CI/CD so that any future changes are tested and seamlessly synced with the live application after they have passed our rigorous tests.
Launch
Before we launch, we perform a full quality assurance to ensure every process works as expected with no surprises, this involved testing on a variety of mobile devices, web browsers, and screen resolutions as well as stress testing the application with large datasets and concurrent requests.
After the website passed all of our QA tests, we deployed it all live with no issues.
The Results
Locale Central is now available on both the Google Play Store and Apple App Store for mobile, as well as on the web at https://localecentral.io/ for desktop computers.
As well as loading in under 1 second on average, Locale Central's new website has passed all of the tests to achieve the status of a Progressive Web App, meaning it's proven to be:
- Fast - Smooth animations that respond quickly to user input
- Reliable - Loads instantly even in uncertain network conditions.
- Engaging - Works smoothly, providing an immersive user experience.
You can create an account for free to see the functionality of the app yourself at https://localecentral.io/