Extending logistics to a new platform
We worked with Grand Junction, a third-party logistics provider for local delivery services, to create an Android app their drivers can use to pick up packages, get notifications, and make deliveries.
Created an app that allows drivers on the Grand Junction network to find packages in their area and then deliver them. The app also let drivers get notifications when there were packages past due or due at the end of the day. We focused on building this app for Android because the drivers in the Grand Junction network are more likely to be using phones on that platform.
Built to match existing Grand Junction UX designs, including creating features that would work across several different types of handsets with different levels of functionality.
A fun development challenge here involved implementing features that were backward-compatible for older platforms. In other words, we created a lot of specialized components to take advantage of newer Android platform features on older devices (for example, specific gestures, pulldown notifications, and icons).
Customized work on an old code line to support features on a newer code line added some time but allowed us to make a good product that worked consistently across multiple devices.
We had weekly planning meetings and daily scrums, which allowed us to deliver updated builds regularly. We trained the client development team on what we did so that they could continue where we left off, and provided templates for every device to make the app look consistently across different devices. The client project manager was making changes to the code base by the time we were done.
Testing and Debugging
It's important to have collaboration with client engineering teams if working with their API. Having short turnaround time to get feedback on a feature is critical. We used TestFlight to distribute test builds, which had jut started releasing Android builds that distributed each change to the team, minimizing this turnaround time.
From a design standpoint, we worked with interface designs created by another company. This was an interesting opportunity to extrapolate what we needed to do from their documents rather than work hand in hand with a design team.
The mobile world represented a whole new platform for our client. They were previously a java back-end shop, and didn't have infrastructure aside from their software itself. Teaching them about Android and the development complexities we ran into was productive and gave them a chance to extend their development capabilities after we left.
Applying some of our previous work let us help a small company implement enterprise level security.