arrow_backAll projects

Fabrik

Android app for FABRIK

Click an image to view full image

I prototyped a joint simulator using Python and Factorygame, then transformed it into an Android app using Java and Android Studio. With a SQLite database, users were able to save and load joint chains for easy access.

Features

  • Mobile target - Android phones are used by many people. As Google Play Store is the primary way to install apps on Android, it was the ideal platform to release my app to a wide audience.
  • Simulation - I decided to use the Forward and Backward Reaching Inverse Kinematics method because it is very efficient and takes the past positions into account for highly natural movement.
  • Testing - The accuracy of the joint simulation was crucial. That's why I wrote an extensive test suite using the popular library, JUnit. This guided me to understand the quirks of Java compared to the programming languages I typically use.
  • Project Details

    The CS50X online course was split into four tracks. I chose to learn about mobile development for Android using Java and iOS using Swift. These both had many similarities, but I decided to focus on Java because my phone is currently an Android which I was able to use to physically test the app and ensure a high standard.

    I chose Java to write the app because of its popularity and large collection of existing libraries. I utilized the JOML and JUnit packages to write and test the mathematical simulation parts of the app. I also used various AndroidX packages and the Android material package to design my touchscreen UI with a similar aesthetic to other Android apps.

    With the mobile market increasing in popularity, more apps are being developed instead of traditional desktop programs. However it requires totally different design considerations due to the small screen. Seeing a different perspective improved my user interface skills, particularly for icon buttons which I would usually avoid.

    External Links