Challenge Overview
Challenge Overview:
Welcome to the Razorfish Night Watch App - Apple Watch App POC (iOS) challenge! In this challenge, we need to build a proof-of-concept Apple Watch app called Night Watch. The Night Watch is an app for night shift workers, such as paramedics and security guards. In other words, it will target people who are awake at night (such as overnight workers, etc). The app will detect when the user falls asleep, and will then help them stay awake by beeping and displaying an offer for something like a free coffee at a nearby restaurant that is open 24 hours.
For this challenge, we need you to complete a POC (native iOS) for the Apple Watch application and have it ready to demonstration the key functionality.
NOTE: This is the first challenge in a series of iOS development challenges for this project!
Project Overview
The client for this project has decided to build an Apple Watch app for night shift workers. The Nightwatch app should help users stay awake. It can do this in a couple of different ways:
1) Detect when the user falls asleep (should include sensitivity settings that we can change for demo purposes).
2) Show the user an offer for something to help them stay awake, such as a voucher for a free coffee at a nearby 24 hour restaurant.
We already have screen designs for the new Apple Watch application and the iPhone companion app (attached).
Competition Task Overview:
In this challenge we are looking for you to develop a proof-of-concept (POC) Apple Watch app, without a fully-integrated backend (backend is out of scope for this challenge), that can demonstrable functionality and a consistent look-and-feel. The main goal of this challenge is to determine the feasibility and development options for creating the working functionality, and to test the hypothesis that functionality to detect falling asleep will be based on movement from the accelerometer combined with heart-rate reading.
NOTE: We are not 100% sure it will be possible to have the app detecting sleep "live" using the heart rate and accelerometer. For example, it could be too draining for the batteries - hence we need to find out if it will work before we build the prototype. We are open to any other recommendations you have for detecting when a user is falling asleep. We are open for you to explore the options to make this functionality work using Apple Watch technology. Figuring out a solution to this is the primary goal of this challenge.
Requirements:
For this challenge, we need to build the and have it ready to demonstration the key functionality, including the following requirements:
1) Build an iOS / Apple Watch app that matches the storyboard, it must also have the correct screen flow
2) This will be a British app - so please use UK spellings and £ currency etc.
3) App needs to detect wearer is falling asleep - we are open to recommendations for the best way to accomplish this.
4) The app will need sensitivity settings that we can change for demo purposes (so we don't actually have to be falling asleep!)
5) Code will be written in SWIFT / Objective-C (note: SWIFT preferred)
6) The code should comply to platform best practices and coding conventions
7) Use Core Data for persistence (you may use test data stored in Core Data to test features, but test data should not be part of the app when building it for production purposes)
8) Supports iOS 8+
9) Supports Apple Watch (native iOS)
10) Required Screen Sizes: Apple Watch (companion app should work on iPhone 6 or 6S).
11) This challenge should cover all the Storyboard screens mentioned in the requirements section (below).
12) In the POC we need some way of setting the heart-rate and activity boundary conditions for the watch to trigger (for example, this may need to be set in the companion app).
NOTE: Storyboard is attached, register to download it.
App Workflow:
For this challenge you will need to implement the following screens / functionality:
App Workflow:
1) App is opened and runs in the background
2) Sensors detect wearer is falling asleep - watch vibrates and beeps.
3) Wearer is displayed a relevant offer, such as a voucher for the use to redeem a free coffee
4) The wearer is shown the location of a nearby 24 hour restaurant and has the option to view a map on their mobile phone with directions to the restaurant.
Screen designs have been provided (attached) to show how the app flow should work.
A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials
Technology Overview:
- iOS 8 (native app)
- Apple Watch
- Xcode 6 (latest version)
- Objective-C / SWIFT
Documentation Provided:
- Screen Designs: Screens and source files attached
Testing:
- No testing is required for this challenge. We are only looking for a POC.
Final Submission Guidelines
A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials
Below is an overview of the deliverables:
- Code that covers all requirements
- A complete and detailed deployment documented explaining how to deploy the application including configuration information.