Bridges Over Troubled Water - a React Native mobile application with in depth integrations

Mobile application for managing bookings,
accessing hotel facilities and controlling
access to the premium WiFi service.

Overview

Imperial Hotels are a successful hotel chain based in the heart of London. With a busy website already driving large amounts of business to their hotels, they wanted a mobile application to supplement the website and give their guests a better experience during their stay.

The key requirement for the application was to make gaining access to the premium WiFi service as quick and pain free as possible, while also supporting opportunities for additional marketing.

With our expertise in React Native and the benefits of developing in the framework, Solid State were drafted in to assist with the development of the mobile application and the necessary improvements to the backend.

Challenge

The biggest challenge was accessing and controlling the WiFi settings of mobile devices using React Native. This was done via a combination of accessing the local network hardware through the device’s network interface and also accessing multiple integrations to verify the device’s user and their booking details to prevent unauthorised access to the WiFi.

A common misconception with React Native is comparing it to WebView based technologies such as PhoneGap which can often have technical and performance based limitations. Although React Native does a lot of the work upfront to developing native mobile apps, it is flexible enough for developers to integrate any native functionality may be required.

To achieve the required functionality, our developers wrote their own bridging logic (written natively in Java - Android, Objective C - iOS) to access some of the native device functionality in JavaScript.

Solution

Solid State’s agile approach allowed us to get the core features of the application developed as early as possible so that we could begin testing. We focused on the difficult functionality of controlling access to the WiFi settings first and put that into testing while the rest of the features were worked on. This allowed us to iterate on this functionality, raising possible issues as early as possible.

As part of the solution, we also needed to interact with 3rd party APIs to verify the device users’ booking details and grant them access to the wifi. This interaction needed to be possible without having authenticated WiFi access, meaning more complications in the process, however, the solution was fairly simple and required whitelisting the relevant URLs with the Hotels’ network providers.

Technologies used

Highlights

  • Developed bespoke bridging software in Java and Swift to access low level device functionality
  • Contributed to the React Native community
  • Helped Imperial Hotels track more information about their ‘guest’ users who haven’t made the bookings themselves and therefore haven’t provided any details previously