Shows in the future – playlists in the past

This is a core concept in Spinitron and in v2 it controls how some features work.

To discuss v2's features, how they work, and how they perhaps should change, we need to define terms.

Spinitron's basic ontology (v1 and v2)

  • A show defines a radio program. It represents the plans for the program, which include its

    • descriptive stuff (title, image etc.)
    • duration
    • owners (the show's host DJs)
    • schedule
  • A playlist documents one instance of a radio program, including its

    • descriptive stuff (title, image etc.)
    • date and time
    • duration
    • owner (the DJ that created the playlist)
    • spins
  • The schedule describes when shows will air.

A playlist with a date-time in the future represents plans for one instance of a show, plans that may change. When a playlist moves into the past, it represents a record of that instance of the show and does not normally change except to correct errors.

Differences between v1 and v2

v1 and v2 differ in how they represent the schedule.

  • v1 has its weekly schedule which represents approximately what to expect over the next week. This turned out to be too simplistic.

  • v1's schedule has no concept of date, only day-of-week.

  • v1 has no representation of past schedules. You can't look up old shows that are no longer in the schedule.

  • v1 has no representation of future changes to the schedule.

  • v2 has a schedule similar to a personal calendar app in which you can put one-off and repeating appointments.

v2 pages

  • The Calendar is a public page that displays playlists looking backwards (relative to NOW) and instances of shows looking forwards.

  • The Schedule page is for logged-in users and displays scheduled shows, not playlists. It has a list-view of shows and a calendar-view of instances of shows.

    It allows browsing back through old schedules and show instances. However, because past schedules are pretty-much useless, we expect users make no effort in maintaining them and mostly to ignore them.

  • The Browse Playlists page is for logged-in users and displays past, current, and future playlists. It has a list-view and a calendar-view of playlists.