ExperimentIn - Alpha

Synopsis

Currently, research institutions have to either appeal to wealthy backers; the government; universities; or special interest groups in order to be able to conduct scientific studies and projects. This forces them to only conduct experiments based on what their backers would like for them to research.

My aim would lower the barrier of entry for groups that want to conduct professional experiments of their choosing. ExperimentIn is an app idea which would act as a more professional version of applications such as Patreon or GoFundMe.

More Info

Platforms: Android Mobile Devices
Software Used: Android Studio; Adobe XD; Google Firebase
Languages: Java, XML
Development Window: November 2020 - December 2020
Group: Myself; this was a personal project
What I programmed, designed, and implemented

- Initial Prototyping in Adobe XD
- Networking with Google Firebase to store user data
- Programming the ExperimentIn App
My Thought Processes


Initial Prototyping

Since this was an application that I was designing entirely on my own, I chose to create an early prototype to figure out how the app would function. I took to working in Adobe XD to start my design. This is what I came up with.

Because this is an early prototype, I chose to use as simple of a design as possible, allowing the user to view different experiments posted by different research institutions. From there, a user can click on an experiment to find out more about it. Users would then have the option of being able to contact the experiment's conductors for funding.

I also added in place holders to allow the user to upload their own experiments to be funded.

After my initial prototype was finished, I started studying how to create and implement an online database to store all of my users' information.

Google Firebase

For ExperimentIn, I decided to go with Google Firebase as my online database for storing and uploading experiments. This is because Google Firebase is one of the most accessible online databases and did not require any payments for my needs, unlike some of its competitors.

After doing enough research, I was able to do the initial setup in interfacing ExperimentIn with Google Firebase. This required me to update several settings in my Gradle Scripts as well as my app's Settings.

All that was left was to upload and access data from within ExperimentIn itself.

Interfacing Firebase with ExperimentIn

This is where most difficulties arose. Uploading data to my Firebase database was not the most user friendly experience.

Really, this was only frustrating because there were little to no resources on what I should have been doing to properly access everything akin to an object's setters and getters in Java.

In the end, I concluded that I should create multiple java classes to format, upload, and access experiments hosted by users.

See the video demo here