Web Queue was to be a web application that enabled faster, better queue management than what's made available by Netflix.
I stopped working on Web Queue in 2011 in favor of other projects.
Netflix does not offer good queue management from mobile devices. The web interface is clearly not meant for mobile consumption and the iOS app is slow to the point of frustration.
A simple, responsive web application can offer much more flexibility while remaining fast enough to get out of the user's way.
Unfortunately, this will only work for instant queue management. Netflix has removed disc queue API access.
Working on API access
The instant queue is available, but management is not in place.
Title search works but has no pagination.
Currently, I am learning how to use the Netflix API. I can retrieve objects based on both signed and protected calls, and am working on parsing them into meaningful objects and making them available to the user.
After basic calls are in place, a basic user interface using only HTML will be the next step. After that I will layer on styles using media queries for an ultimately responsive design.
GET /queue (TODO)
The instant queue. This is the launchpad and will allow the user to move or remove items in their instant queue.
GET /search (TODO)
Searches Netflix's entire catalog.
GET /search/titles (TODO)
Searches Netflix's title catalog.
GET /search/people (TODO)
Searches Netflix's people catalog.
Web Queue is written as a Ruby on Rails web application. It uses a SQLite database to store OAuth credentials for each user.
The Netflix interaction is all in lib/netflix and is meant to serve as an independent library. It may eventually be spun off into a gem if I take the time to make it full-featured.
config/netflix.yml contains Netflix configuration.
The key configuration values are
The others relate to Netflix API endpoints and will likely remain the same for a while.
Resources in this namespace belong to a specific user and may not be retrieved or modified without user authorization.
A utility class that constructs a queue (see next section) after retrieving its details from Netflix.
A queue, either disc, instant, or saved. Contains a list of the titles in the queue and handles interaction with Netflix for changes to itself.
Catalog resources are available to an application without user authorization and include things like search and people or title information.
A utility class that sends a search request to Netflix and returns a list of titles (see next section).
A title in Netflix's catalog. Could be a movie or TV series.
A utility class that sends a search request to Netflix and returns a list of people (see next section).
A person in Netflix's catalog.
Retrieves the current timestamp according to Netflix.
A helper module for retrieving configuration for the library.
Protected resources are retrieved through the Netflix::Oauth class. It handles formatting and signing of the request.
Gets a protected resource; that is, a resource only accessible with authorized credentials on behalf of a user. Requires the user id, the user's access token, and the user's access token secret.
Gets a resource that requires authentication by the application. These resources are not on behalf of a user and do not require user authorization.