Challenge Overview
Overview
The CMX Mobility Services API, SDK, and developer tools are used to enhance and personalize services provided by the Cisco Connected Mobile Experiences (CMX) solution to help increase visibility into the network and customize location-based mobile services. These tools allow you to use real-time intelligence from the Wi-Fi network to connect devices, people and processes with technology to interact more effectively.
The challenge is to use the CMX Mobility Services API and CMX in a new app using a simulated environment for a meeting host to automatically launch a WebEx conference, based on the location of the conference room where the meeting is scheduled. Can you create an iOS or Android mobile app which uses real-time location updates to trigger a context-aware push notification? Let the challenge begin…
Challenge Requirements
The objective of this challenge is to develop an iOS – or – Android App (develop your submission using either platform) which delivers a location aware experience for meeting participants arriving to a WebEx meeting location, using the provided CMX SDK and the simulator app (with a Virtual Zone created for a conference room simulation). We expect this mobile app to trigger a push-notification for the mobile-user upon arrival into the meeting location in the virtual zone (i.e. launch a notification when the user enters the designated meeting room).
Functional Requirements (Application is required to address this Use Case Scenario)
- A meeting host user enters the meeting room (a CMX-capable facility, i.e. a resource in the Virtual Zone)
- As soon as the user approaches the conference room, your mobile app will launch a push notification to the user prompting “Do you want to initiate and join the meeting?” with action buttons of both “Dismiss” and “Join”
- If the user clicks “Dismiss”, the notification is removed and the activity ends; no further action is expected from the mobile app
- If the user clicks “Join”, this action should launch the native “WebEx” app allowing a valid login (if one is installed; if none is installed, then open the AppStore with “WebEx” in the search parameter), and the activity ends here for the mobile app
���Stretch Goal
- Upon valid WebEx login, app auto-dials a dummy conference room phone number and joins the WebEx meeting call
Note: The app should use “zones” in the simulator to simulate a person walking along a path. Using the simulator, you will note the zone changes as a person moves; you may also physically move the user location dot yourself to a desired location.
Interface Requirements
The Mobile app for this challenge may only need a single interface to set the configuration parameters like the host settings. You can keep this as minimal as possible; no other interfaces are expected in the Mobile app.
References
- Solution Overview: An Overview of Connected Mobile Experiences
- Developer Overview (Includes REST API Reference, CMX Mobile App Guide)
- CMX Android JavaDoc Reference
- CMX iOS Framework Reference
- Cisco WebEX APIs
- Cisco Mobility Services API Discussion Forums
- Sample Code
- Sandbox:
- You may use the CMX Mobile App Server Simulator or the Local Sandbox. Simulator package (Node npm module - * available to registered participants in forums) Cloud Server Simulator Readme
- CMX Mobile App Server Simulator (for CMX Android/iOS SDK development only): connect with your app to https://64.103.26.61:8081 (no credentials); to move your app: https://64.103.26.61:8081/cmx-cloud-server/demo/start
- MSE with simulated data: REST endpoint host https://64.103.26.61:443
- Local Sandbox: Download CMX Cloud Server Simulator from https://developer.cisco.com/site/networking/mobility/cmx-mobility-services/downloads/index.gsp and follow readme instructions
Architecture Considerations and Requirement
- Code Aesthetics. Code must be clean (no commented code fragments, unused variables etc), tidy (4 space indents) and well commented. Please use Contest/Challenge names in comments instead of developer names. Please utilize good clear and purposeful naming for variables, classes etc.
Final Submission Guidelines
This solution will need to be a quality functional asset. Submission requires:
-
Project Code elements for the iOS / Android Project and metadata elements
-
Source code; please call out any external references used within the code
-
A brief demo video covering application functionality end to end and an overview of the application code blocks.
-
High level documentation (i.e. a readme doc) which covers the install and configuration steps.