Skip to main content
Target releasev0.3.0
Github milestonehttps://github.com/owncast/owncast/milestone/20
Document owner
DesignPublic PenPot link

Use case

Primary: As a consistent user, I would like to schedule livestreams for Church services and be able to link to the individual streams.

  • The Church has three services and live streams each of those services.
  • The Church also has an app which takes the stream endpoint and embeds it natively inside the native mobile app instead of taking them to a web browser or streaming via YouTube.
  • The Church wants to have a list of services/events and be able to link to the future and past streams, this way they can schedule it and also have statistics from the app.

Problem

  1. A stream is offline more than it is online. A visitor doesn't know when to return because it just displays a "stream is just offline" message and does not display any indication that there will be future activity. Knowing that something is coming soon gives you a chance to build excitement for that event.
  2. Current workaround in Owncast server: Streamers would add a note "I stream every Sunday from 4 PM PST" in About and/or Offline

Goal

Streamers shall be able to maintain a schedule of live streams and share them with their audience so that viewers know when they should tune in next to watch another stream.

Success Criteriaโ€‹

How will we know we've reached our goal?

  • Adoption rate - 50% of streamers are scheduling streams
  • User retention rate - 75% of streamers continue using this scheduling feature repeatedly
  • User satisfaction - 80% of streamers give positive feedback about this scheduling feature, gathered through feedback survey

Risksโ€‹

What might stop us from reaching our goal and metrics?

  • Will people use this feature when they already have their own workaround solutions which is working?

Notes

  • Initial discussion in rocket.chat
  • Not every streamer will have a schedule (I.e. 24/7 streams, people who stream based on mood)
  • A schedule might fire and expire, without the stream actually starting, the page should just reset to normal

Requirements

S/NCategoryFeatureDescriptionGithub
1Scheduled stream managerManage upcoming livestreamsAS a streamer I WANT to view all scheduled broadcast listings at a glance in a certain period of time SO THAT I can plan my content accordingly#2370
2View History (read-only)Streamer shall be able to view a history scheduled broadcast listings. NO livestream replay/recording
3Modify scheduled stream detailsStreamer shall be able to create, read, edit, delete scheduled broadcast in advance. NO saving as Drafts. CANNOT edit details during livestream
4Upload thumbnail image (optional)AS a streamer, I WANT to choose a thumbnail image to show on social platforms to give followers an idea of what to expect from my stream.KIV
5Schedule recurring streamAS a streamer I WANT to set the event to repeat on a schedule SO THAT I can create a steady schedule of consistent content
6Pause/resume scheduleAS a streamer who goes on vacation yearly, I WANT to pause my scheduled streams SO THAT viewers know that I'm away.KIV
7Localise timezoneSystem shall convert streamer's geographic region timezone SO THAT Viewers would see streamer's schedule in their own timezone (e.g. PST, EST), no mental calculation/conversion needed.
8Share streaming scheduleEmbed broadcast scheduleAS a streamer I WANT to embed the streaming schedule on multiple platforms SO THAT my followers are informed about upcoming streams and have easy access to my streaming scheduleKIV
9Add to my channelAS a streamer I WANT to have the option to publish/remove streaming schedule to my Owncast channel SO THAT viewers know when to come back and watch.#2372
10Compiled streaming schedulesOwncast Directory shall show a compiled list of scheduled streams from streamers who opted in to be listed SO THAT visitors can discover content that might be of their interest.#2374
11Export to CalendarAS a streamer I WANT to load my schedule into my calendar app of choice (.ics file) SO THAT I can get my stream ready and go live on time.KIV
12Preview scheduled streamReview viewer-facing contentAS a streamer I WANT to see how the interface looks like to viewers without having to go online SO THAT I can adjust technical details or settings where needed
13Promoting streamGenerate Livestream invitationAS a streamer I WANT to copy the full invitation and easily distribute across platforms to my followers SO THAT I can share it anywhere that text can be pasted.
14Modify invitation messageAS a streamer who streams a wide variety of of content from gaming to education, I WANT to be able to edit the generated message for each stream SO THAT there's a bit of a personal touch to my message
15Connect Social mediaAS a streamer I WANT to notify my followers in advance on upcoming broadcast on preferred social media platforms (e.g. Twitter, Fediverse) SO THAT they knowDONE
16Event Reminder postAS a streamer I WANT to send out reminders to my followers just before I go live SO THAT they can hang out before the event.#2373
17Go-live notificationAS a streamer I WANT to send push notifications when broadcast has started SO THAT they know when to tune in.DONE
18Before going liveCountdownSystem shall inform viewers how much time left to stream start (i.e. Days, hours, minutes)#3829
19Chat openAS a viewer, I have gotten into the habit of gathering in the chat before the stream starts and hanging out in anticipation of the stream going live.#2925
20Auto-update titleSystem shall automatically set/update stream title based on title of scheduled event#2944
21Starting Soon15-min grace periodAS a streamer I WANT to have a grace period before the system changes to "Stream is offline"
22MiscellaneousNew/Beta feature noticeSystem shall inform streamer of new feature in platform to encourage usage.
23Sync between CalendarAS a streamer I WANT to update my Owncast schedule directly from Calendar app (e.g. Google Calendar) SO THAT I can remain orgainsed without going back and forth between tabsKIV
24Data storage "policy"System will not retain Past scheduled broadcasts' content older than 90 daysKIV

Mockup

To view designs in Penpot, please send Gabe your email so you can be invited to the team.

โš ๏ธ Initial designs are in Figma as most designers are extremely proficient with it. Final designs should be exported to Penpot once the mockups of prioritised requirements are finalised.

Questions

Below is a list of questions to be addressed after reading through requirements:

S/NQuestionAnswer
1Able to Copy link to the individual streams with a unique URL? (GH #2540)Currently the plan is to not support linking to individual scheduled streams until we have stream replays built, so there is actually something you can do on those pages.
2Is is possible for the system to show a "Waiting for streamer" message to viewers when it is the event time? E.g. Event scheduled for 12pm, but it is 12:03 pm and streamer has not started. So the audience would keep seeing "Waiting for streamer" message before the status changes to offline.
3Should we soft delete or hard delete a scheduled stream event?Hard delete. there's probably no reason to keep it around.
4There is a stream title, but do streams have their own description that can be entered in the current implementation?there should be a description with more detail that would be displayed on the calendar/agenda.
5Does each scheduled stream generate a unique stream key?Nope, each scheduled event stream does not require a unique stream key.