Building an Object Oriented API Application

Building an Object Oriented API Application

Object Project.

To use this project, simply type in the names of popular youtubers whose channel you know the exact name of.  It will load in the most recent videos from that channel, up to 10. The primary demographic for this app is tablet users. There are a lot of hoops to jump through as a tablet user to find youtube videos; most notably becacuse you have to log in through their app, find your desired channel, search, etc. This app cuts through most of those steps.

The hardest part of this project was certainly getting the YouTube Data API functioning. It's incredibly finnicky, and I must have spend two full weekends (~30 hours) of stubborn coding on stack overflow just to get a request through. Turns out I am using the API right at the crux of the transition period between v2 and v3. Some of the most notable differences is the switch between accepting a youtube username and a youtube ID.

If I had more time to work along with this API, I would create a caching and autocomplete system to find channels and data that has been previously searched. It would also be nice to display channel views and likes along with just the image and the description.

For the design, my goal was to create something that's similar to the youtube interface, without being too similar to get me sued. I like having a more open layout that's optimal for tablets, but usable on desktop too. Mobile is coming in the near immediate future, if it's not already up by the time you're reading this.

Making this project was a bit like pulling a rabit out of a hat. I ended up learning a lot about the synchronization of Object Oriented Programming (OOP) and how it can (for better or for worse) be aligned with the Model View Controller model. One particular point that I wanted to make was how I disagree with how this methodology handles the response value from the server. During class we were taught to pass the return value as a JSON object and use JavaScript to render the object into the DOM. The user should not have to wait on the client to see the information after the server has done all the heavy lifting. In LCHH architecture, the server directly sends HTML response content to the container. This cuts right through JavaScript execution time, and therby cutting latency.