Mobile ArMS is a dedicated mobile application version of ArMS. There are a lot of reasons that Mobile ArMS exists, but solely it was an idea that I had pursued. ArMS itself is based off ASP.NET 4.5 MVC and is quite dated in terms of the framework. I wanted to build a native application utilizing React Native to see how easy it would be to create a simpler version of ArMS with React.JS.
Actually, I suggested that we pursue React.JS for ArMS development but was quickly shot down. So when I presented the idea of a mobile application we had a few application frameworks in mind. Ionic, React Native, and Xamarin. Xamarin was quickly tossed out by me. It was then down to Ionic and React Native.
Ionic is great, but it was simply not what we were looking for. I’ll spare you the details of that 1-month long decision, but we ended up using React Native.
Now, going into this I didn’t have any RN experience. So this was going to be both a challenge and a learning experience.
We wanted to create a version of our application that would be able to run offline in case a service technician was offline or in an area of poor service. We didn’t quite get this implemented before I left Arete, but the idea was to save data locally to the device and check device connection status on load. If the device was offline, we would then load stored data for application use.
The next requirement was that it was data friendly. Not all of our customers had unlimited data plans, nor did all of them have access to wifi endpoints wherever their technicians were.
The remaining requirements were that the application was pretty and easy to use. I wanted it to feel native to the user.
I, unfortunately, did not get too far into the application. But here is a list of what I was able to complete prior to my departure from Arete:
- Password reset with simple verification.
- Log Hours Functionality
- Schedule + Travel implementation.
- Basic Work Order functionality.
Though not much got done (I often got pulled away for other projects and wasn’t fully able to sink into this project), I learned a lot about React Native, and quickly.
This application was actually what sparked my interest in the framework, and what led to me creating other React Native applications for other clients, which is ultimately what led to me getting my job with BitLoft as a mobile application developer.
Though it never feels good to leave a project undone, sometimes you have to part ways. I hope that the team at Arete take what I have given them and run with it, as I feel that it will be truly beneficial to their company.