DEVELOPMENT CASE STUDY
WINTERFRIEND IOS APP A story of building a navigation app for snowboarders and skiers.
PROBLEM Project Team Project Manager Designer Backend Developer iOS Developer QA Engineer
“I really like winter. It is a time for Christmas, presents and, of course winter sports. Main purpose of developing the application was to allow user and his friends to find each other on the resort, or to send an alarm to the friends, when you got injured. Hope it will help people to feel more confident on the hill.” Aleksandr Project Manager
Any person, who has ever spent a winter vacation at a skiing resort, has encountered the problem of locating friends or relatives, and gathering them all for a common lunch or coffee break. And for larger groups this problem can be even worse. With advancements in mobile technologies connections have become available in almost every corner of the globe, and with this you would assume that the easiest option would be to give your friends a call. This may be true, but what if you are spending your winter vacation abroad? Roaming charges and inconsistent connections could cost you hundreds of dollars and eat into your vacation budget.
Our mobile application development team decided to take on this challenge and develop a GPS phone tracking app, which
“We often attend misc events, sometimes sponsoring some, in London specifically. Everyone needs apps now and this is where Mobilunity with its literally unlimited access to very skilled and very affordable talent definitely stands of a crowd. This app was a good project to do. Nevertheless I prefer androids :) but android apps are a subject for way different case study.” Alfonsine Williams Director of Business Development
would allow its users to: Easily add contacts of friends Locate and track your team on slopes Communicate with friends Send instant alarms in case of emergency Avoid spending money on calls
The outcome of the project is a new skiing app we call, Winter Friend, available for iOS which we encourage you to download on the App Store.
1
THE CASE STUDY MARKET RESEARCH & BUSINESS ANALYSIS
As with any internal project, we started our GPS app development process with initial market research. Our Project manager analyzed popular skiing apps with similar functionality to deďŹ ne the key advantages of the new product and the Top 4 apps were compared using the following criteria:
Criterion
Find My Friends!
Friends tracker
Phone tracker for iPhones
Friend mapper
Resort maps
-
-
-
-
User location
+
+
+
+
Friends location
+
+
+
+
Covered distance
-
-
-
-
Speedometer
-
-
-
-
Chat
+
-/+ (SMS)
-
-/+ (SMS)
Social streaming
+
-
-
-
Add locations
-
-
-
-
Push notiďŹ cations
+
+
-
+
The analysis showed that the apps currently on the market lack two main features: 1. The ability to communicate directly with friends and send them alarms/alerts 2. A database of detailed resort maps And these features were fully implemented in our new app.
2
TECHNICAL REQUIREMENTS
Once we identiďŹ ed and agreed upon the key advantages of the winter app over its competitors our Project Manager proceeded to writing technical requirements for the mobile application development project. This included deďŹ ning the milestones for the MVP version of the app. At Mobilunity we use various tools for project planning and tracking, and one of them is Redmine. Here is a screenshot of the project:
Screenshot of Winter Friend project in Redmine
3
UI/UX DESIGN
In line with project requirements our team proceeded to develop the design for the sports app using Photoshop. Our designer prepared the wireframes and 13 app screens in total which were required for the following modules: Registration/login through facebook Friends Current resort map List of resorts
Additionally we developed a logo for the app, default images for the start and proďŹ le screens and a set of icons. To provide a better user experience we use InvisionApp for all of our design projects, you may review the screens for our app here:
Prototypes of Winter Friend app done in PhotoShop
4
BACKEND APP DEVELOPMENT
The process of travel app development was divided into 2 parts: backend and frontend development. With both teams working on Google Maps integration, Facebook authorization and GPS data procession. The Backend team was tasked at solving a list of issues to allow the app to do the following: Send user profile data to the server including the fieldsbirthday, first_name, last_name, photo, & email through Facebook’s API Integrate Google Map’s API to receive the maps of the most popular resorts Change API to POST parameters list Collect, store and receive GPS data to be reflected on the map Implement the alarm functionality using a custom push notification library
FRONTEND APP DEVELOPMENT
Our iOS app developers were working on the following functionality: App authorization through Facebook Retrieve information on resorts through Google Maps API Get information about friends via Facebook API Send GPS data on current location to the server Implement friends search in the app Slice all designs for iPhone ski resort app Add sound to alarm messages in the app Optimize the app for lower battery usage
Solving problems with integration of third-party services is not an issue when you hire an iOS app developer with Mobilunity! 5
TESTING & BUGFIX
Once our Objective C application was ready for testing, it was thoroughly reviewed in developer mode by our QA team on Apple devices including iPhone 5, iPhone 6, and the iPhone 6S. The following features were reviewed for bugs: User registration User’s friends list Ability to display user and his friends on Google Map User profile Search through friends list Alarms Resort list Web cam/web site
11 bugs were reported and fixed in the process of testing, and our ski track app was ready to go over to testflight on the AppStore. It should be noted here, that in-depth testing is an integral part of the mobile app development services we provide.
PROMOTION
Our marketing team’s task was to promote the new ski app in order to get more app downloads. The team started working according to the following plan: Analyze competition and define app keywords Optimize the AppStore description Launch a dedicated website for the mobile application Plan the app’s landing page design Create the app’s demo video explaining features of the new application Find relevant portals dedicated to winter sports and interested in mentioning new apps in articles Submit the app for review to specialized websites
The outcome of this activity was the launch of the new app website, which explains in detail how the app works and who may benefit from using it. 6
CHALLENGES & SOLUTIONS GPS app development with Google Maps and Facebook integration has a number of constraints, which should be taken into consideration. Our MVP mobile app development team has faced and successfully solved several of them: Friends list Adding friends to your account is one of the common problems, when you want to use a new social app. That’s why our Objective C developer decided to use facebook’s API for user registration. When a user logs in, using their facebook account, the app automatically gets a list of friends, who use the application.
Maps Currently the market provides plenty of map services, so there is no need to create your own. Leaders in the industry include: Google Maps, Yandex Maps, Apple Maps and Open Street Maps. Some of the services are free, and others require payment for some of the functionality features. For example, Apple Maps require an iOS device to use them properly, so it wouldn't be the best solution, if you are looking for cross platform app development. Yandex Maps are well detailed but only for the former Soviet Union. Open Street Maps is less detailed so it would not be as useful with an app designed to help you find your friends. After critical analysis of all existing features, we decided to use Google Maps API.
High battery consumption Geolocation is a process that, if done incorrectly, can cause a major strain on a device’s battery. To avoid this issue, our team set the accuracy to 20-30 meters, increased the intervals between requests to the server, and implemented an algorithm which monitors the customer's location regulating when location data is sent to the server.
Network load To avoid overloading the network with constant downloading of new images, our developers implemented image caching, and Core Data object graph framework to minimize the Internet consumption after the applications first launch.
6
TECHNOLOGIES USED The new snowboarding app Winter Friend became a mix of Facebook and Google Maps integrations elegantly coded using Objective C as its programming language. The key technologies we used included: GPS for location tracking Facebook API for registration, authorization and friends list GoogleMapKit based on Google Maps API for resorts map visualization and user geo location deďŹ nition Objective-C for iOS app coding AFNetworking to send the data to the web server Core Motion and Core Location iOS frameworks to receive and process motion data FastImageCache iOS library for storing and retrieving images Core Data iOS framework for image optimization Google Analytics for Mobile Apps for app analytics
Let’s make your dream come true and develop the app for your business!
https://mobilunity.com
sales@mobilunity.com 6