After talking to friends and employees, we realized that among some of the problems that affect everyday cruise passengers, is the long lines at places such as restaurants, or game rooms aboard. Because many people can congregate at one place a the same time, the traffic flow in the ship can become a hassle for many. Hence our idea of CruiseNav.

What it does

CruiseNav helps the user find the best times to attend his favorite activities. From our interface, a passenger can see how busy is a particular place aboard and decide an alternative place based on availability. In an ideal scenario, being able to scout the lines at the restaurant would prompt other users to find these alternative places that are less busy, and therefore, help with the traffic flow aboard the ship. The app also comes with the possibility of implementing a rewards program, giving points to passengers based on how many events or places they visited during their trip.

How I built it

The main component of the app is based on the IndoorAtlas API, which provides indoor positioning without the use of GPS, but rather based on the electromagnetic fields around a building and wifi hotspots. The app is built with the Cordova framework, which allows development of multiplatform native apps using HTML, CSS, and Javascript.

Challenges I ran into

We ran into many problems during the development of the app. Using Cordova for the first time was not a simple task, and only the set up of our device took a long time. Using IndoorAtlas also proved to be quite a challenge, since we had to find floor plans for the building, map waypoints to increase accuracy, and implement the API together with Cordova.

Accomplishments that I'm proud of

We are very proud of the fact that we successfully implemented the IndoorAtlas API, as it provided us with a very powerful tool for indoor mapping that we had never used before. Its application its highly scalable and we're excited to see how far we can push the technology.

What I learned

We learned a great deal about hybrid mobile development. Using a framework like Cordova, which doesn't use the traditional Swift or Java, has a high learning curve. While we didn't completely overcome this curve, we did learn yet another application of JavaScript and how it can be used for mobile development. We also learned about the possibility of having accurate indoor positioning. While using IndoorAtlas we learned how coordinates for longitude and latitude could be mapped into a custom location, making it easier to display a user's position within 2-3 meters.

What's next for CruiseNav

There are still many more features to be implemented in CruiseNav. We want to allow users to be able to check in at events with just simply being there and not worrying about anything else. Such feature would be implemented with NFC tags and a whole ecosystem dedicated to this task. We also want to give users the ability to have step by step directions to their desired place in the cruise, much like what Google Maps does in the land. We would also like to test this application in a real-world scenario, where we can see just how many people are at a certain place in real time and use machine learning to give recommendations about locations with similar purposes or locations that might interest the passenger.

Built With

Share this project: