insanelab.com insanelab.com

Mobile Development

LiveHelpNow App

Live Chat System by LiveHelpNow opens the door for your business to connect directly with its customers. Our live chat software allows you to interact directly with your website visitors in the same way you would in a traditional retail store. You would not ignore customers in your store – so don’t ignore the customers that are visiting your website every day.

Overview

What?

Live Chat System by LiveHelpNow opens the door for your business to connect directly with its customers. Our live chat software allows you to interact directly with your website visitors in the same way you would in a traditional retail store. You would not ignore customers in your store – so don’t ignore the customers that are visiting your website every day.

Services

Xamarin, MvvmCross, Fenix (Sockets for Phoenix/Elixir), OneSignal (Push Notifications), Bitrise (CI)

Platform

Mobile - iOS & Android

Goals of the

project

  1. Look and feel

    At the time we decided to work on the new App for LiveHelpNow, the current apps in Apple and Google stores were almost 8 years old. The main objective was obvious: Refresh the look and feel and improve the UX.

  2. Real time data

    There was another, high degree of complexity technical objective: To use Phoenix sockets for all communication channels the App was to be using. Eliminate polling altogether and use near real time data exchange socket channel provides.

  3. Updated technology

    Phoenix framework was new, but provided extremely powerful advantages to anything else out there as it was leveraging Erlang VM + beautiful Elixir syntax. Finding developers familiar with Phoenix, Elixir and Erlang VM proved to be challenging. We are glad we succeeded with Insane Lab willing to learn the framework.

This is How we’ve

done it

  1. Xamarin

    With the help of Microsoft-owned technology, Xamarin, we were able to create an application for both Android and iOS in record time.

  2. Xamarin Test Cloud

    Using one of the best sets for testing mobile apps, we were able to ensure that the software was optimized and ready for launch in a very short amount of time.

  3. Proper Design

    Over the years, our team has discovered and established best practices for developing user-friendly web applications. We relied on our extensive UX knowledge and design experience to successfully create a clean, functional product.

This is what we've

achieved

  1. Real time communications

    The new, beautiful app for iOS and Android was developed on Microsoft Xamarin framework fully utilizing Phoenix sockets for near real time communications.

  2. Call Management

    In addition to live chat module, call management module was also added to the app allowing LiveHelpNow clients to manage call requests in addition to Live Chat communications being facilitated by LiveHelpNow Help Desk System for their businesses.

  3. Improved notifications

    Notification system was also improved by a high margin providing flawless conversation management for the operator using the app and no longer requiring constant interaction with the app to conclude each conversation.

With the Technology handpicked

for the project

Mobile Development

The LiveHelpNow application was written for Android and iOS utilizing Xamarin and a 100% native API. This method produced the same results that would have been provided by writing in Objective-C/Swift for iOS and Android/Kotlin for Android.

One of the biggest advantages of using Xamarin is that it enables code sharing among all platforms (Android and iOS). The source code for applications is written in .NET C# (for which there is a lot of common code). The average amount of code sharing can be as high as 70 percent, speeding up the development process.

The application’s user interface has a native look on each platform, proving it is impossible to distinguish a UI created with Xamarin from one created with tools dedicated to each platform (like Xcode or Android Studio). Furthermore, Xamarin allows native libraries to be easily linked. This way developers were able to use any library without having to worry about its compatibility.

The foundation of this project relied on MvvmCross, the most robust Xamarin framework available.  MvvmCross made it possible to share business logic related elements and even some platform specific ones, like navigation flow. To facilitate communication with HTTP’s REST API, we used Refit, a library that made it possible to extract network specific code where possible. This choice resulted in a quick and clean API communication module. In addition, in order to integrate with LiveHelpNow!’s Core service (a.k.a. real-time live chat), we used a Fenix library and implemented socket integration.

Additional Technology

Aside from code, we also integrated other various services. For example, we used OneSignal, which helped us to manage PUSH Notifications and AppCenter Diagnostics. AppCenter Diagnostics prevent the application from crashing and log every event that occurs within the app. This allowed our team to diagnose and fix bugs quickly. Thanks to extended logs, we were even able to proactively resolve issues in REST API, a feat that would not be possible otherwise.

Lastly, for our development process, we always use continuous integration. This means that instead of manually building this app, we automated the project flow with Bitrise. Typically, releasing a new version of a mobile app across multiple platforms can take up to an hour. When we finished implementing a new feature or a hotfix for LiveHelpNow!, our developers merged their code into stage branches, resulting in a release of staging builds. When those builds passed QA testing, our developers merged their code into the production branch. This automatically uploaded a new version of the app to Google Play and the Apple Store, speeding up release time.

What is your challenge?

Tell us with any means provided. We'd love to hear from you!