Terje Norderhaug is one of the bright developers, who not only took part in the Wearable Hackathon but also won the 2nd place with his Airport.AI prototype for a mobile app that allows travellers at the airport to “leave trails” and share their experience with fellow travellers thus providing updated airport traffic information.
So, we decided to quickly view the world through his eyes and learn how he experienced working with indoo.rs SDK as well as to hear about his app and his future plans for it.
indoo.rs: Tell us more about the app you created?
Terje: We created an indoo.rs based app to more intelligently navigate places like the San Francisco International Airport. The app tracks fellow travelers as they move around, rewarding them with free airmiles for sharing issues such as long waiting times or closed bathrooms. It’s a bit like Waze for airports, or more generally, finding your way around on foot. There is also a web-based administrative dashboard, providing a live map showing the flow of people and their feedback.
indoo.rs: Where did the idea come from?
Terje: The idea come from biomimicry, taking inspiration from nature. A busy airport is like an ant colony. Our app helps travelers find the way to their destination by following the trails of others ahead of them, with our system applying swarm intelligence to determine the best directions and recommend suited activities.
indoo.rs: Who would be using the app and how would you envision the use-case?
Terje: The app targets air travelers, but the concept can be generalized to any complex pedestrian/indoor situation. The use case is large buildings with many people trying to figure out where to go and what to do, benefiting from crowdsourcing the discovery and decision making.
indoo.rs: You used the indoors SDK. How was the use of the SDK? Was it easy to use? What was difficult? How was the development process?
Terje: The indoors SDK is very convenient and easy to use. I followed the instructions in the SDK Guide to create a basic mobile indoors app in Xcode, then added custom functionality. I integrated the San Francisco airport map from indoors, but changed it to have a perspective appearance by tilting the view along the vertical axis and applying a 3D transformation and a UIKit motion effect. I also added an overlay to display custom visualizations. The app periodically communicates with our server, which provides a Clojure based restful API on the AWS cloud platform. I developed the mobile app in Swift, Apple’s new programming language.
indoo.rs: You wrote the indoors based mobile app in Swift! Why did you choose Swift?
Terje: Apple is clear about Swift being the successor to Objective-C, so it’s an obvious choice for any new projects on the Apple platform. Swift is a well designed modern programming language, substantially speeding up software development. Using Swift with the indoors SDK required some adaption, as the documentation was written for Objective-C and the current version of the indoors SDK has been implemented with Objective-C conventions in mind. But that’s a minor inconvenience.
indoo.rs: Do you have any tips for future SDK users?
Terje: For those new to the SDK, I suggest starting with the sample project provided by indoors before working on your own app. You may even use it as a starting point for your own exploration. Savvy developers can use the header files for the indoors framework for functionality not officially documented, at least when exploring the functionality. With the disclaimer that relying on undocumented functionality for production apps has its pitfalls. Professional developers would of course be better of with a license to peek into the source code of the SDK.
indoo.rs: What are your further plans with the app?
Terje: I am interested in exploring use cases that go beyond San Francisco airport. Got one?