Return to Blog Home

Scheduled Lurking

Source Live

Scheduled Lurking

While constantly lurking was working, it was about time to get scheduled!

I had recently improved the user experience for Always Lurking - allowing users to choose which groups and individual streamers to watch via a selection tree, greatly cleaning up the user interface, in addition to cleaning up the rest of a codebase to the point of making the project open source.

It didn't solve all of my problems though, as while it did relieve most of the pressure of entirely missing stream, it did not solve knowing when streams were happening before they happened.

Of course peering in the future is not something JavaScript is yet capitable of, but most Twitch streamers have a schedule page where they can mark down when they expect to stream. The problem with this is the scale of all the streamers - having to manually view the schedule page of each streamer would not do, enter the next Always Lurking feature: Merged Schedule.

Merged Schedule

It's exactly what it sounds like, I took the schedule of all the streamers and merged them into a single view.

I decided not to attempt any crazy unique designs, taking inspiration from Twith themselves for the actual design, thankfully the Twitch API exposes this information easily, so I only needed to make the requests for the schedule information and decide on how to show overlapping content.

After a bit of debate and looking at how other scheduleing programs display overlapping events, I went with creating merged-events - when two or more events overlapped, it would create a merged event, with the same information from the original events simply stacked.

This allowed me to preserve the Twitch-inspired UI while still visually and functionally providing the information at a glance, and just like the actual viewing of users, this is togglable via the selection tree, and users can be manually added to this view.