Monday, February 29, 2016

YouTube Subscription Box Grid View

YouTube decided to give us back our beloved grid view a while back, after having revoked it from us and subjected us all to the cancer that was the list view.  During that time myself and many others used one of various solutions that turned the list view back into the grid view that we knew and loved, but after having gotten the grid view back, all was good, right?

Well, wrong.

Their idea of a grid view is now this horrendous thing that's segregated by various arbitrary time periods, resulting in a lot of wasted screen space.  In addition, even after you've watched and hidden a video, it eventually comes back in an un-hideable form courtesy of a special section titled "Older", or sometimes "Most recent uploads", or sometimes "More recent uploads".  Fortunately for us, though, the HTML DOM is easily manipulated via JavaScript, so we can move all this stuff around and clean it up to present the grid view of old, while not actually harming any critical page functionality.

I have done precisely that.  Technically I did it a long time ago, but there was a silly bug in the script and it didn't work and I got all dejected and forgot about it until recently, when I tracked down that silly bug, squashed it, and polished it up for release.

Feature-wise, it collapses all of the arbitrary time period sections into the topmost section, maintaining chronological order, and removes the sections it emptied.  It then applies an Expand/Collapse button to the section(s) of un-hideable videos, and collapses them by default.  If any more of these sections are added to the page, they automatically get collapsed and have the Expand/Collapse button applied.  Essentially, you can see the content of those sections whenever you want, but they're hidden and out of the way by default.

Continuing my new habit of posting scripts like this on Pastebin, here's a Pastebin link.  That way you can see the entire source code before downloading it and installing it.  Also, I have tested it in both Firefox + GreaseMonkey, and Chrome + TamperMonkey, and it works as-is in both.  Just putting that out there.

Anyway, if you need me, I'll be over here working on a Twitter megascript.  It's almost done, to be honest, I just need to add one more feature and make it do a couple things in a way less stupid manner.

Edit (2016-03-01): Of course, I tweaked it.  The Expand/Collapse buttons now have some of YouTube's CSS classes applied, which makes them look like the rest of the buttons found on the site.

Double edit (same day): Also, in terms of scripts I'm working on, I have an updated version of the Chrono Trigger XP/TP grinding run calculation script.  The updated version uses an XML file, both to store and retrieve grinding run details, and to store the per-character XP/TP values you pass to it.  The practical upshot: custom grinding locations are a lot easier to add as you no longer need to edit the script directly.  I have a couple things I want to add before releasing the update, so no link just yet.

Edit (2016-03-14): Version 1.2 is out now.  It fixes an issue and does a few things more intelligently.  1.3 is coming down the pike as well, so prepare for impact.

No comments:

Post a Comment

I moderate comments because when Blogger originally implemented a spam filter it wouldn't work without comment moderation enabled. So if your comment doesn't show up right away, that would be why.