Dave Powers

I create things with words and/or code.

SpotCheck Has Been Approved

I previously wrote about my reasons for developing my app, SpotCheck, and what I hoped I would accomplish. It has since been released into the wild, and I’m pleased to finally share it with others.

My aim was to solve the problems I’d faced myself while working in video post-production, and I was able to accomplish the main functionality of my initial feature list. This includes creating private projects with different roles for each member, direct-uploading of video using Amazon S3, and leaving a comment referencing a certain time in the video. I was able to accomplish the “time-tagging” feature using Popcorn.js.

There were a lot of challenges along the way, but I learned a lot by running into problems and having to think about things differently. The aforementioned security/privacy roles were tricky, since users can have many projects, and projects can have many users. Additionally, each user will have a specific role for a particular project, which determines which actions they are allowed to perform. A join table I called “Memberships” was used to allow this, which force me to really think about all everything functioned together. For example, I initially was looking up memberships to verify viewing ability, but had to adapt the code to deny a user if the membership was nonexistent, or nil.

I gained a lot more understanding of working with controllers, and how to redirect traffic if the viewing criteria was not met. I also learned more about environment variables and how to properly configure them to avoid sharing your sensitive account information with the world.

For the front-end, I really enjoyed working with Zurb Foundation to style the application. Once you learn the basics of the grid system and how to customize common interface elements like buttons and flash messages, it doesn’t get in your way and allows you to design as you please. Foundation allowed me to create the modal slide-in for the sign in and sing up forms, and also the responsive design on smaller screens, including videos associated with a project.

As I continue to work on the app, I’m planning to incorporate more JavaScript features. This was my first real foray into using JavaScript, and it definitely isn’t going anywhere soon. One specific example, based on feedback I’ve gotten, is that it would be much better (and user-friendly) to have a button to grab the current time, rather than forcing the user to manually enter it. This also eliminates the chance for user-error, which is always a plus.

I’d also like to thank my former coworkers that took a look at the app and gave their very honest feedback. The audience for SpotCheck is smaller than most apps, so it’s very helpful to have some targeted users that are familiar with the market. On the other end of the spectrum, it’s helpful to have inexperienced testers to ensure that the function is straightforward enough. Hopefully I can strike a good balance.

If you’re still reading, there’s a chance you might like to actually check out the application: SpotCheck