Platform Selection

Languages:

  • Swift:
    • Pros:
      • Can be used throughout the entire application
      • Works well with both frameworks in the application
      • The language is fast and concise which helps with development
    • cons:
      • Not all members are familiar with this language

Using Swift as out programming language is a requirement that was given to us by the client.

Repositories:

Choices:

  • Person Github
  • iKalman Github

iKalman Github

  • Pros:
    • We will have access to releveant code that will help with further development of the app
    • Parts of the codebase is necessary to our development specifically the kalman filter
    • Integration to the rest of the codebase would be simpler
  • Cons:
    • Could be hard at times to keep organization with all of the other code and members branches
    • The application’s development code is provided to us for simulation and testing.

Personal Github

  • Pros:
    • Easier organization for the team in regards to the different components we are working on
    • Have our own repository to show our changes and integrate as necessary
  • Cons:
    • Integration to the codebase would be more difficult
    • Parts of our project need code from the app for development which would cause some serious roadblocks

We have decided to use the iKalman Github and make branches off of the current project for out development. The decision to use this repository came down to easier access to code that is necessary for our development

Front-End:

Choices:

  • SwiftUI
  • UIKit
  • SwiftUI:
    • Pros:
      • Works well with the watchOS development that is needed for tracking movement
      • Can be integrated easily into the current code base
    • Cons:
      • Some members of on the team are not familiar with this framework
  • UIKit
    • Pros:
      • Most of the codebase uses UIKIt so this would maintain consistency throughout the codebase
    • Cons:
      • Not as good when it comes to watchOS development
      • No one on the team has used this framework

Overall, we have made the decision to use SiwftUI due to it’s superior technology for watchOS development and more familiarity amongst our team.

Libraries:

  • Gyroscope API
  • Accelerometer

These libraries are required by the client for our development regarding the tracking of the surgeons movements with the Apple Watch