paint-brush
Coding For Changeby@JustineBethKay
619 reads
619 reads

Coding For Change

by Justine KayJanuary 12th, 2016
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

I’m a maker. I love building things.

Company Mentioned

Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Coding For Change
Justine Kay HackerNoon profile picture

“Life’s most persistent and urgent question is, ‘What are you doing for others?”

-Dr. Martin Luther King Jr.

I’m a maker. I love building things.

And not too long ago I decided to learn how to build things in code.

A large part of my decision to learn to code was based on my desire to serve. I believed that the best way I could fulfill my passion to create was by becoming a developer and building applications that would make a positive impact on the world.

A bit idealistic?

I’ve been known for that.

Does acknowledging that stop me from working hard to fulfill those dreams?

Not at all. I’m willing to put in my 10,000 hours and more to unlock the potential of this new tool.

I’m currently working on a video uploading app for the Black Movement — Law Project. It’s an iOS app that allows you to easily record video and immediately save the footage to your personal cloud storage. The app will help provide vital legal evidence to support activists during mass demonstrations and arrests.

A challenge for a newbie developer, but who ever said that saving the world was going to be easy?

The project is in its very early stages and I’ll be documenting its progress here as it is developed.

So far, I’ve been able to get my MVP up and running in order to start experimenting a bit. The most basic functionalities are in place but need more tweaking and it doesn’t look pretty inside and out just yet. It’s been my goal to just iterate, iterate, iterate. From there I can refine, refine, refine.

The first time you open the app you’re prompted to sign in to your Google Drive account. Sign in once and that’s it, no need to sign in again the next time. After successfully signing in, you’re presented with the camera view filling the entire screen.

I’ve implemented a custom camera overlay in order to modify the appearance and behavior of the camera and it’s view. I’ll go over the technical details of this in another post.

Currently there are two floating buttons on the top of the screen. One to switch on and off the flash and another to switch from the front-facing camera to the user-facing camera. I’ll be revising the user interface elements once everything under the hood is functioning smoothly.

Just tap twice on the camera view screen to begin recording. Tap twice again to stop the recording. When the recording is ended the video is not only saved in your photo album, but also immediately uploaded to your Google Drive. Stored safely away in the cloud in the event your phone is confiscated or “lost” indefinitely.

Once that was working with shorter videos of 10–15 seconds, I began experimenting with longer videos and continuous recording. I set the maximum duration of the video to be one minute. The delegate method was set to upload immediately after the recording was ended and restart the camera to immediately begin recording again. The session would be ended by shaking your device.

In theory, this would continuously upload a one minute video every minute until you ended the session with a good shake.

In theory.

The shake gesture was working nicely and the video was being saved to the photo album, but… suddenly the video was not being saved to my Google Drive any more…

To be continued…

I’ll follow up with the resolution of this problem, why we decided to trade in the shake gesture for a different feature, and much more in upcoming posts.

Would you like to be a beta tester?

- Steve Jobs

Update 04–2017

This project is currently in the process of being updated and rebuilt in Swift! The github repo will be made public once the foundation has been laid. You can find the original repo here

If you would like to contribute to the project please be in touch!