For the past little while in my spare time I've been working on a Giant Bomb app built for Amazon Fire TV and Android TV devices called The Giant Bomb Enthusiast App.
After over a month of testing and improvements with a small group of beta testers (thank you to all that volunteered!), the app is finally available on the Amazon App Store and Google Play Store!
How to get it:
Naturally, I'm planning on continuing to work on this so any feedback you have is much appreciated. The best way to reach me regarding the app is either in this thread or email me at gbenthusiast (at) gmail (dot) com.
Here are a few screenshots of what the app currently looks like:
Why is [some Android TV device] not supported?
If you have an Android TV device that you'd like to see whitelisted for support on the Play Store then let me know! I've only whitelisted devices that I have people willing to beta test for, so hit me up if you're willing to put up with some potential bugs and let me know about 'em in exchange for getting your device added to the list of supported devices (which means automatic updates through the Play Store!).
Where are all of the old videos and how can I get access to them?
The reason not all Giant Bomb videos are available immediately upon app installation is due to a limitation in Giant Bomb's database API. Every query made to the website for videos is limited to receive 100 results. In addition to this, if you make too many queries within a given timespan then your API key will get blocked to protect Giant Bomb's bandwidth/availability for others. So, when a user initially links their account the app will make 15 queries for videos which results in the local database getting populated with 1500 of the most recent videos.
Over time the app will continue to make queries for older videos until the oldest video is reached (a video review for Battlefield Bad Company from 07/15/2008) and your local database is completely backfilled. These "give me older videos" queries happen every time the app refreshes its videos (during a refresh, 1 query gets made for newer videos and 4 queries get made for older videos). Automatic refreshes happen fairly frequently, but never more often than every 45 minutes.
However, you can also trigger a manual refresh by going to the "actions" row at the bottom of the main screen. Every time you do that you will get 400 older videos. You'll just want to be careful not to go overboard with manual refreshing otherwise you can get your API key temporarily blocked. You can check the status of your API key here under "Current API Usage": http://www.giantbomb.com/api
Why don't you make this available for tablets or phones?
The reason I haven't made any efforts to make this available for tablets or phones is because I consider that to be unnecessary work given that the fantastic Giant Bomb Video Buddy app already exists and is available for these types of devices.
Known Issues (updated 02/04/2017)
HD quality video playback is broken on 1st generation Fire TV devices for most videos released after/around January 2017 (video freezes after ~1 second and the audio continues). This is because these videos are 1080p60 instead of 720p60, which the first gen devices do not handle well. This problem does not affect 2nd generation devices.Fixed in 1.061. Launching the app sometimes crashes immediately and returns you to the home screen. Attempting to launch it a second time immediately afterwards works fine.Fixed in 1.071. Returning to the app after closing it either during playback or on the quality-selection screen and then hitting back to return to the browse screen causes the app to crash. (Same crash as above).Fixed in 1.071.
- Returning to browsing videos after watching a video results in your position in the row getting reset to the front of the row.
- When a video ends that has been playing for a while (> 20 minutes?) without any user interaction, the screen will go black instead of returning to the quality selection activity.
- Refreshing videos sometimes results in the categories being in the wrong order (should be sorted by most recent video in each category)
- There's no way for Shield TV and some Android TV users to pull up the quality selection menu during live streams (currently mapped to menu button on FTV devices)
- Some old videos (e.g. UPFs from 2015 and earlier) error out (status 301) and can't be played
- No support for video progress syncing with the website + other apps
Is that list of "known issues" above bumming you out? Are you familiar with app development for Android?
Then feel free to send a pull request my way over at the public GBEnthusiast BitBucket repository!
It's probably a good idea to chat with me first on what you intend to implement if it's a larger feature so make sure we're aligned on whether it's something worth doing, but for smaller bugs just go ahead and fix 'em.
Of course, the preferred method of getting the app is through the Amazon App Store or Google Play Store (you'll get automatic updates), but here are the APKs for anyone who can't access those app stores for whatever reason:
Current Release - Version 1.142:
- Fixed a couple crashes
- Fixed an issue with old vs new video URLs
- Fixed a couple crashes
- Beta live stream support (only works for GB-hosted live streams, not Twitch or Youtube streams). Press the menu button to select a quality - will adjust automatically to suit your bandwidth by default.
- Categorize videos by both video_category (e.g. Quick Look, Premium, Old Games) and video_show (e.g. Beast in the East, Playdate, VRodeo)
- New setting: "Default Quality" - Set which video quality (HD, High, or Low) is the first quality to appear in the quality selection screen to save a few clicks when playing videos. Find this setting on the bottom row of the video browsing screen. (Thanks @ltgrimdark for the suggestion!)
- New shortcut: Press the Play/Pause button on your remote on the video browsing screen to skip the quality selection screen and begin playback immediately with your default quality.
- Fixed a bug with the background image not updating after watching a video.
- Refactored video URL resolution and fallback code.
- Directs users to use the new auth token page (giantbomb.com/app/gbenthusiast).
- Fixed a consistent crash that would occur when relaunching the app after it was OOM killed in the background
- Fixed a bug that resulted in no video fetch occurring after clearing auth and re-linking your account
- Automatically downgrade video quality if device does not support the selected quality (e.g. HD downgrades to High on 1st Gen FTV devices if HD = 1080p60)
- The DPAD center button now also functions as a play/pause button during video playback
- Request audio focus when playing videos (prevents an issue where music apps playing in the background would continue to play after a video begins)
- Fixed an issue that was forcing all videos to be played at HD quality regardless of selected quality
- Added a spinner for when videos are buffering
- Tweaked the automatic video refreshing behavior to keep the videos more up to date (the need for manual refreshing should be drastically reduced)
- Pressing up on the dpad during playback will now show the player controls without the need to pause the video
- Minor change to refreshing - the request for new videos will no longer limit itself to videos published after the newest video in the local DB. This is done so any videos that get updated on the server will now also get updated in your local DB (assuming they're in the most recent 100 videos).
- Initial Release