MYCam-Mobile

MYCam Mobile Application

Contact License: TBD

The Swift 4.0 codes of the MYCam app. The MYCam mobile application includes user interfaces and communication with the Amorgos server in the IAM Lab. The user interfaces consists of main screen, training, scanning, and a list of items as shown below. The user interface of the app was designed based on the screen size of iPhone 8.

You can access the codes here. https://github.com/IAMLabUMD/MYCam-Mobile

Overview of the MYCam app (Click to see a bigger image)

Requirements

In order to run the MYCam app, you will need to meet the following requirements:

- A Mac with Xcode 13.0 or later
- Git command line tools or a git source control client like Tower. 
- iOS 12.1 or later
- Download and run the MYCam server codes

MYCam server codes are here.

Getting started

To build and run the MYCam app, please follow these steps,

  1. Clone the repository. You can use the following command or GUI tools.
    git clone https://github.com/IAMLabUMD/MYCam-Mobile.git
    
  2. Open the project in Xcode by selecting MYCam-Mobile.xcworkspace
  3. Set your Apple account as a developer of the app in the Signing & Capabilities tab. Add and select your Apple account for ‘Team’ and use any name for ‘Bundle identifier’ (see the example below).

Signing and capabilities (Click to see a bigger image)

  1. Connect an iPhone to your computer
  2. Run the app

Signing and capabilities (Click to see a bigger image)

Structure of the app

The source codes are organized based on their functionalities (i.e., main screen, teach, scan, list of items, communication with the server, and logging).

Main screen

MainViewController.swift

main screen main screen when training is in progress

Teach

Teach MYCamVCs/ARViewController.swift

Teach MYCamVCs/ReviewTraining.swift

Teach MYCamVCs/TrainingVC.swift

training interface with feedback review with attributes enter the name of the object

Scan

MainViewController.swift (selecting the scan item button on the main screen)

result of recognition

List of items

View ItemVCs/ChecklistViewController2.swift

View ItemVCs/ItemAttrAndInfoVC.swift

list of items information of an object information of an object

Communication with the server

Model/HTTPController.swift: a class with functions to communicate with the Amorgos server (e.g., send an image, receiving the attributes of photos from the server)

Logging

Utilities/Log.swift: logging the users’ actions

Publications

Under review

Acknowledgement

This work is supported by NSF (#1816380) and NIDILRR (#90REGE0008).

Contact

Jonggi Hong (Lead researcher) jhong12@umd.edu

Hernisa Kacorri (Principal investigator) hernisa@umd.edu