Indian Register of Shipping
Internship
Skills:
Angular
Ionic
TypeScript

Summer Intern

Indian Register of Shipping

June 2019 to August 2019
As a Summer Intern at the Indian Register of Shipping, my main role was to work on the IRClass Maritime app. The work done during the internship added various new features to the app and improved its performance. Existing bugs and errors were also fixed.

Contents

Technologies Used

Name Description
Ionic The Ionic Framework is an open-source UI toolkit for building performant, high-quality mobile and desktop apps using web technologies — HTML, CSS, and JavaScript — with integrations for popular frameworks like Angular, React, and Vue.
Angular Angular is a platform and framework for building single-page client applications using HTML and TypeScript.

Summary of Work

  • The original application was built using Ionic 1 and AngularJS 1.x. This app was upgraded to Ionic 4.x and Angular 7.x.
  • Upgrading the Ionic and Angular versions improved the app load times by at least 50% and made the overall user experience a lot smoother and faster.
  • The user interface of the application was improved to make it cleaner and bring it in line with the industry standards.

Initial Research and Analysis

Before starting the work of upgrading the app, the original app was tested thoroughly to find any bugs or issues in the app and to find any potential components which can be updated. Additional research was carried out to study the products offered by competitors to understand the areas where the original app could be improved. After receiving the source code for the app, the structure of the app was studied in further detail to understand the functioning of the app and to find any other potential bugs or issues.

Upgrading the Codebase

The first step after studying and analyzing the app was to upgrade the codebase to Ionic 4.x and Angular 7.x. This upgrade alone massively improved the performance of the app. Even though it is hard to quantify the performance improvement in terms of numbers, initial testing showed that the app-load performance had improved drastically. The load time for the old version was approximately 5.54 seconds whereas the load time for the new app was 1.42 seconds (average of 5 runs). This translates to a 75% improvement in the initial load time for the app. Other improvements from the new version of Ionic were also reflected in the app which meant that the app ran at 60 FPS at all times and provided a smoother experience for the users.

User Experience Improvements

The original app used the in-app browser to display information from the company's website. This saves a lot of time by making it easier to make changes to the information or adding new content. However, when a user is not connected to the internet, the in-app browser is unable to load the content and display it. The default browser-provided error page was unappealing and gave away the fact that a web page was being displayed to the user.

To solve this issue, custom error pages were added to the in-app browser which is displayed to the user when they're not connected to the internet or if a page fails to load.

Other Updates and Improvements

Updates to the app were primarily focused on improving the user interface. Some examples of this include the sidebar which contained links for navigation. In the original version of the app, the sidebar had links arranged in the form of bubbles which made it look cluttered. This was updated to a list of buttons that had a clearly defined tap area and looked neater.

Another example of an improved user experience was the login page. Clearly defined form validation was added to the login page to make the user's login flow smoother and the error messages were updated to provide more accurate information to the user.

Learnings from the Internship Experience

  • This was my first internship experience and it provided a glimpse into what it takes to be a developer working for a company. This experience also taught me about effective communication in a professional environment.
  • The internship experience helped to get a better understanding of mobile and web technologies and how to build projects while collaborating with teammates.
  • Finally, the internship gave me an opportunity to test my skills and to find my weaknesses, and work on them.

Home

Projects

Work

Resume