Introducing Echo Durations

November 22, 2020 by Kade

Since the earliest days of the pre-Alpha users, I knew that being able to declare start and stop points would be useful. Given the choices that I made early on, this was going to always be difficult to achieve. The reason being is that the entire system is based on a singular point of data. The math worked out as follows:

Echo Received (Point In Time) - Echo Duration - Stream Start (Point In Time) = Echo Start Point In Stream

By limiting the number of inputs, this made the initial build easier but it also made it easier to use the tool. If you as a streamer had to remember to hit start and stop on every clip, it's more work. And then you get into all kinds of issues with multiple requests and overlapping requests. It's just a world of mess and a bunch of user education I didn't think made the tool better. Plus, you know when something interesting or fun has happened, not 15-60 seconds before it does.

That said, there are cases where it makes sense to be able to start a clip before something interesting happens. These include the start of a competitive match, the start of a song or the start of a speech at a conference. As producers of the streamed content, we know when something in this category is going to happen. Setting that point aside, makes sense.

On a technical front, this effort required me to do a bit of rethinking of the entire Clip Requests infrastructure. Once I had a plan in place though, I knew that I could execute it in short order. All in all, it was about 9 hours of "in the zone" coding to get it done. Most of that time listening to the SavingLightCIC charity electronic music stream.

Here's how it works:

  • When you want to start a clip, enter !echostart in your chatroom.
  • If you want to check on the current duration, !echoduration in your chat will give a response that will allow you a) see if it's live and b) the total run time.
  • When the clip you want is over, submit !echostop and the clip's end time will trigger all the math and storage on the Make Echoes app.

There are some serious limitations that I've put in place here to start. First, only the streamer can start or end an Echo Duration. Like many features since starting this project, I always try and restrict the number of people who can have things go wrong with it to as few as possible. This is a simple risk mitigation strategy.

Secondly, Echo Durations can at most be 60 minutes in length. While I do foresee an opportunity for live-streamed conferences and events to have a need for longer durations, those aren't the current customers I'm serving. If you are a customer and you have a need for a clip longer than 60 minutes in length, email me and we can discuss it.

Later this afternoon I will be deploying a setting in your YouTube Settings Page that allows you to decide how you want these Echo Durations processed. The default will be that your longer clips will be included in the existing stream recap video. The option to have these be uploaded as separate videos will be there for you.

When this option for "Post Echo Durations to YouTube" is selected, your existing branded first and last clips will surround the Echo Duration. The combined video will be exported and then uploaded to your YouTube channel as a stand-alone video using your existing YouTube settings including publication type.

This is a big ask of my original YouTube quota because each of these videos costs me the same 1600 quota points. So if someone has 3 standalone Echo Duration videos in addition to their stream recap video, that works out to 6,400 points. I have plenty of quota based off of observed usage up to this point but we are inching closer and closer to a 1.0 full launch. In the future, I may limit this to only posting the first Echo Duration to your YouTube channel and instead deliver the others to your account's home page where you can download them and manually upload them. I'll be sure to do whatever I can to communicate that if things change.

Finally, at the launch of this feature I have not included a final check for overlapping Echo Durations and clip requests when Echo Durations are included in the full stream recap videos. There are some technical reasons why but the main reason is because I am planning on re-writing the primary video processing functions this week. This is by no means a small undertaking as it is the underpinning of the result promised by Make Echoes.

Why would I re-write such a core function while the 1.0 launch closes in? Because I want to tackle another long standing item on my development board before the launch: sending the source clips to a destination S3 bucket while also providing a single zip download that contains the original renders of your clips in your account. This is targeted towards streamers who use an editor or those who want the finest level of control on what goes out to their YouTube channel.

I created Make Echoes to be a tool and not to prescribe what content gets posted around the internet on your behalf. Getting the tool to give you the results you're looking for is always the goal here. Getting my personal experience and biases out of the way to help you create the content your audience enjoys is ideal. You absolutely can expect more features leading in to the 1.0 launch and shortly thereafter to give you the opportunity to customize your and your community's experience of using the tool.

Finally, I've reached out to the entire customer base (including those in trial) to take part in a brief 10-question survey. I partnered up with a student team at City University of New York and their UI/UX Design school to have them work on Make Echoes as part of their cap stone project. This survey helps them complete that project and also helps give me direction on what I should be building next. If you have a spare 5 minutes, it'd mean a lot to me and the team if you filled it out.

Have a great week!

[email protected][email protected]