Geolocation iOS App for Real-Time Trip Cost Estimation and Comparison

  • iOS mobile client to stock monitoring web service
  • Configurable stop triggers and templates
  • Notifications and alerts 
Expertise
Mobility
Verticals
ISV
Logistics

It took Iflexion 3 months to provide a UK-based automotive company with a rich-functionality mobile app for iPhone users - an iOS counterpart to the existing Android application - in the absence of any documented project specifications.

Calendar
3
Duration
Months
Gears
3
Efforts
Person-months

Context

Our Customer is an innovative electronic vehicle (EV) technology provider for commercial vehicles from 2.5 to 26 GWT, including trucks and buses. Having a full-featured IT team in charge of multifaceted development activities on board, the company, however, relies on Iflexion for ondemand involvement and niche expertise.

Business Objectives

To promote usage of EV technology, our Customer aimed to launch a geolocation tracking mobile app for Android and iPhone users that would demonstrate convincingly the trip cost advantages of hybrid electric vehicles over conventional trucks.

When development of the Android app in-house was nearing the end, the company turned to Iflexion for delivery of its iOS counterpart with corresponding functionality. 

Challenge

The principal project challenge lied with lack of requirements formalization or any other documented artifacts. The offsite iOS developer was only to be provided with UI designs and access to the Android app codebase. 

How We Made It Possible 

Iflexion arranged Customer interview with a senior-level iOS developer that could be engaged in the project asap upon the Customer’s approval.

The developer’s expertise level allowed him to immerse into the project specifics on the fly and deliver custom solutions to the features that could not be implemented using out-of-the-box tools. Thus, fuel consumption algorithm, as well as the app’s user interface components, including switch controls and fuel consumption line, were implemented from scratch.

Two weeks later, a mobile app QA engineer was involved for end-to-end testing of the both iOS and Android solutions. The Customer received a high quality, fully tested solution in only 3 months upon the project initiation.

Solution

The application tracks geolocation data for real-time estimation and comparison of trip costs depending of the alternative types of power that could be consumed (electric vs. hybrid vs. fuel). 

Key Features

  • Uninterrupted location tracking. The app collects location updates not only when active on foreground or in the background, but also when killed by system or suspended.
  • Real-time costs calculation and comparison. Calculations are made according to the consumption model based on real tests. Users set electricity and fuel price per unit in the Settings tab.
  • Trip modes. There are two modes available in the app: a demo mode (the data is pulled from the local database to simulate a trip) or a real-life mode (in this case, the app uses the current geolocation data). Real-life trips are saved in the History tab.
  • Trip play screen allows for changing electric vehicle parameters to estimate fuel consumption depending on different benchmark data.

Technologies

The app is structured according to the Model-View-ViewModel (MVVM) architectural pattern, introducing enhancements to the traditional MVC model to assure optimized interaction between the model (data holding) and the view (interactive user interface) components.

The fuel consumption algorithm is structured as a chain of several behavioral design patterns(GOF):

  1. State is responsible for tracking locations.
  2. Strategy is responsible for consumption calculations.
  3. Template method is responsible for individual (per engine) consumption calculations.
  4. Visitor is responsible for data delivery to interested objects.

The list has a step-by-step order: the algorithm begins at the State pattern and finishes at the Visitor pattern.

The following Xcode toolset and frameworks were used at the project:

Screenshots

Want to start a project?

It’s simple.

Contact us