iWitness Personal Safety App

AccelOne rebuilt the iWitness app for iOS and Android, which contains features designed to:
  • Protect users in unsafe areas: If the user feels unsafe, they can open iWitness, and the app will begin recording video and the user’s GPS location. The user can tap anywhere on the screen to automatically make a 911 call.
  • Prevent crimes from escalating: Tapping on the screen also sounds an alarm and causes the phone to emit bright light, which draws attention from others and makes it easier for the user to identify their attacker – this alone will cause many criminals to flee.
  • Facilitate contact with emergency response: In addition to calling 911 with one tap, the app also sends a text with the user’s location to pre-set emergency contacts.
  • Facilitate the capture and prosecution of criminals: Videos are stored to the cloud, meaning that even if your device is stolen or destroyed, video evidence of the crime will still be available.
iWitness is easy for people of all ages to use, including children.

THE CHALLENGE

The original version of the iWitness app was developed using legacy architecture for the back end and cloud infrastructure. This made the application complex for users to operate, lent a dated appearance to the app, and made use of an inefficient video processing server implementation. This inefficiency led to a slow video processing speed, as well as frequent failures. Some features were not working at all, and the original development team was no longer available to make improvements. iWitness brought on AccelOne to make usability improvements, fix features that were no longer working properly, update libraries and frameworks, and update the programming languages used to the latest versions. AccelOne needed to reverse-engineer the legacy architecture in order to rebuild the back end components.

THE PLAN

AccelOne’s team consisted of four members:
  • Senior iOS Engineer
  • Senior Back End Engineer
  • Technical Project Manager
  • QA Engineer
The project was divided into two phases.

Phase 1:
The goal of phase 1 was to implement immediate, partial updates to both the iOS and Android apps in order to get key features working again. As it was a priority for iWitness to fix these features first, AccelOne designed a solution that would allow those fixes to be done as soon as possible, with more complex overhauls handled in phase 2. AccelOne created a new backend using Node.js and Express, which ran in parallel with the original legacy backend, which powered some features but not the entire app. Both backends used the same database. This fix helped get several of the broken features working again, but problems with video processing speed persisted, as well as issues with user signups. The AccelOne team had developed a plan to solve these issues in the second phase.

Phase 2:
After implementing the immediate fixes necessary in phase 1, the back end was fully rewritten in Node.js and Express, and a much more modern architecture for the app infrastructure was created. This improved the app’s performance greatly. To solve the video processing issues, a Node.js-based media server was created. Using Node.js for both the app backend and the media server improved efficiency by streamlining the development process and reducing the likelihood of file corruption or problems with slow processing as videos move from the app to the cloud. The iOS app was migrated to Swift 5. Libraries were updated, and all app screens were tested and prepared to display correctly on the latest iPhone model, which at the time was the iPhone X. Issues with videos and signups in iOS were also corrected. Despite the significant amount of work involved, phase two was completed in only three months.

QA Testing
The Quality Assurance (QA) engineer assigned to the project worked with the development team from beginning to end, testing at every phase in order to ensure the proper functioning of each feature and a smooth launch after each phase. The app has been monitored with a QA framework for crash and bug reporting, and has proven to be stable in all current models of iPhone. The once-problematic video media server has been working without issue, and is providing usage statistics.

RESULTS

AccelOne’s version of the iWitness application proved to be stable, scalable, and resolved the problems of the previous outdated version. The new Node-js-based media server solved all the video processing issues of the previous back end platform, which means that videos are now always available and are processed significantly faster than before. The old application code had been updated to all the newest coding languages and frameworks, making it easier to obtain support for modern versions of mobile operating systems. All features now work as expected, and thanks to these updates, the iWitness platform is seeing new paying subscriptions every week. Additionally, as the app was updated for the latest model of iPhone, owners of this popular device now have a dramatically improved experience using the app. Because the code base for the app was migrated to the newest versions of its frameworks and languages, both the Android and iOS versions of the app are much more able to support modern versions of mobile operating systems.



HSBC INTRANET MORTGAGES MANAGER

THE CHALLENGE

As a major financial institution, effective receipt and processing of loan applications is an essential part of an organization’s ability to keep up with its growing business. For years, HSBC had been relying on legacy mainframe applications to support their loan application process, which, over time, became limited in functionality, expediency, and unable to scale with the increasing amount of data quality that was required. Furthermore, because of its antiquated platform, it was becoming harder and harder to find developers to support and maintain the system.

​As a result, HSBC decided to upgrade its mainframe applications to web applications.

Initially, HSBC contracted another company that underperformed on the project, generating errors and critical delays that required them to seek out a new team to complete the project.


THE SOLUTION

The chosen solution, named the Intranet Mortgages Manager (IMM), was a system that would allow lending operators and credit officers to follow all the credit approval processes, from the beginning of a loan application from the prospective borrower, through to the last point of approval to fund the applicant. The process needed to start from the collection of data from the loan candidate, along with relevant relative’s data, through to the time at which the mortgage was granted.

​HSBC wanted to keep its core apps of the business in the AS400 and mainframes system for reasons of continuity and protection, but the rest of the systems needed to be revamped, starting with standard back-end interfaces and three-tiered architectures.


THE EXECUTION

In order to achieve the goal of moving all of HSBC’s applications to the web-based IMM, it was necessary to create an architecture and programming standard based on Microsoft .NET platforms and XML messaging between back-end and front-end interfaces, as well as to integrate different and disparate applications used throughout the group seamlessly.

A team of 10 was configured to execute the project, which included a project manager, team leader, architect/DB expert, senior business analyst, (5) senior .NET developers and a senior web designer/UX expert.

The project was divided into modules that followed the logical flow of the application. Milestones were associated with those modules or their respective sections. The first version was released three months after the project had started and provided the first and most complex step of the mortgages tracking process. The main purpose of this version was to perform QA on a real-world data sample and evaluate the tool and its User Experience (UX). The second version was released after six months and was deployed immediately for use.


THE RESULTS

After six months, a fully functional version was deployed for immediate use and regionalized to several different countries in which HSBC maintains operating facilities.

​Based on the further discovery of the commercial loan officer’s daily work requirements, a third version of the product was released, which further improved both the UX and performance.

This loan application product continues to be used to this day, providing the service quality required by HSBC’s Global Bank Group.



You may be interested in reading this


Notice: Undefined offset: 2 in /var/www/accelone/wp-includes/class-wp-query.php on line 3271

Notice: Trying to get property 'comment_status' of non-object in /var/www/accelone/wp-includes/comment-template.php on line 1243

Notice: Undefined offset: 3 in /var/www/accelone/wp-includes/class-wp-query.php on line 3271

Notice: Trying to get property 'comment_status' of non-object in /var/www/accelone/wp-includes/comment-template.php on line 1243

Notice: Undefined offset: 4 in /var/www/accelone/wp-includes/class-wp-query.php on line 3271

Notice: Trying to get property 'comment_status' of non-object in /var/www/accelone/wp-includes/comment-template.php on line 1243

Notice: Undefined offset: 5 in /var/www/accelone/wp-includes/class-wp-query.php on line 3271

Notice: Trying to get property 'comment_status' of non-object in /var/www/accelone/wp-includes/comment-template.php on line 1243

Notice: Undefined offset: 6 in /var/www/accelone/wp-includes/class-wp-query.php on line 3271

Notice: Trying to get property 'comment_status' of non-object in /var/www/accelone/wp-includes/comment-template.php on line 1243

Notice: Undefined offset: 7 in /var/www/accelone/wp-includes/class-wp-query.php on line 3271

Notice: Trying to get property 'comment_status' of non-object in /var/www/accelone/wp-includes/comment-template.php on line 1243

Notice: Undefined offset: 8 in /var/www/accelone/wp-includes/class-wp-query.php on line 3271

Notice: Trying to get property 'comment_status' of non-object in /var/www/accelone/wp-includes/comment-template.php on line 1243

Notice: Undefined offset: 9 in /var/www/accelone/wp-includes/class-wp-query.php on line 3271

Notice: Trying to get property 'comment_status' of non-object in /var/www/accelone/wp-includes/comment-template.php on line 1243