## Overview and Roadmap to the
Au
tomated
Ra
dio Project @ [danube streamwaves digital](https://www.freefm.de/projekte/danubestreamwaves-digital) jackie / Andrea Ida Malkah Klaura <
jackie@diebin.at
>
David Trattnig <
david.trattnig@o94.at
>
the internet, 11. November 2020
This presentation and its [source code](https://gitlab.servus.at/aura/meta/-/blob/master/presentations/zwcm2020) are available under a [AGPLv3](https://gitlab.servus.at/aura/meta/-/blob/master/LICENSE) license. It builds on the presentation framework [reveal.js](https://revealjs.com), which is available under a [MIT](https://github.com/hakimel/reveal.js/blob/master/LICENSE) license.
_(hit space for next slide, or click on the arrow key in the bottom right corner)_
# 90min roadmap - AuRa to make radio -
what it does
- AuRa as a software project -
how it goes
- AuRa as a software architecture -
where it runs
- Q&A and visual insights -
how it looks
# AuRa to make radio ##
what it does
## AuRa users -
radio makers/hosts | show producers (RM)
- manage their own shows: - upload of preproduced emissions - create and manage playlists - describe single emissions -
programme coordinators (PC)
- manage all series/shows: - create new series - create new schedules and emission timeslots - create and assign new radio maker accounts - edit metadata of series - deactivate old series
## AuRa users (indirect) -
people in the studio
- watch the studio clock -
website visitors
and
listeners
- want to know what is currently on air - want to know what was and will be on air - want infos on series / shows and single emissions - want to hear the live stream or archived emissions
## Interface requirements - ideally everything from one place - but independent of space - mobile ready - adaptable towards own needs - same interface for RM and PC - but more capabilities for PCs - integrate external work flows (e.g. CBA)
## What AuRa also should be able to do - Cut & Glue of archived emissions - Manage jingles (for the station and for series) - Dynamic playlists (e.g. music pools) - Automated rescheduling of past emissions - Automated scheduling of external shows
## What AuRa does not (yet?) do - Live studio mixing - Live studio info -> trackservice - Coffee
# AuRa as a software project ##
how it goes
## “free” as in “free speech”,
not as in “free beer”
(source:
https://www.gnu.org/philosophy/free-sw.html
)
## Starting basis ### at ORANGE 94.0 (Wien) - ~ 450 radio hosts with 198 shows/series - An outdated and unmaintainbale playout system (YARM) - A programme scheduling system based on OpenACS (which is written in TCL and runs on a AolServer4, if you can believe it ;)) - An outdated website with a load of unmaintained script patchwork - Many many bash and PHP scripts between and around it
## Starting basis ### at the project partners - FRO (Linz): Playout with YARM, already critical, ~ 280 RM - FRF (Freistadt): formerly YARM, now Airtime, > 100 RM, 70 series - Helsinki (Graz): Rivendell, developed their own programme scheduler (which AuRa steering builds on), > 220 RM - Radiofabrik (Salzburg): Playout with YARM, still (!) running ok, > 350 RM, 204 series, ~8.5 hours new programme / day
Status Nov. 2020, stats taken from the station websites
## Example ORANGE 94.0
## "It's dangerous to go alone!" ### why
Y
et
A
nother
R
adio
M
anager?
## Y.A.R.M. - Java based playout system - Developed 2004 at the Radiofabrik Salzburg - Adopted by several other free radio stations - In the meantime outdated and unmaintained - Developed mainly by one person, full open sourcing did not work
[Y.A.R.M. in the web archive of Radiofabrik](https://radiofabrik.at/organisation/projekte/abgeschlossene-projekte/y-a-r-m-2004-2014/)
## Initiative for AuRa - Radiofabrik, Radio FRO, Freies Radio Freistadt, and ORANGE 94.0 all still depended on YARM (at the time) - Urgent need for something new, extensible and maintainable - Survey of over 50 software projects (F/LOSS as well as proprietary and commercial): - No existing software fulfills all our requirements sufficiently - Radio Helsinki (Graz) has already developed a quite usable programme scheduler ("PV") building on the Django framework (https://git.helsinki.at/) - Michael Liebler (Radio Z, Nürnberg) has developed a playout system with Python (https://gitlab.janguo.de/groups/comba)
##
Arrr!
On t' new shores!
(2017)
- We
are pooling our resources
: - FRO, FRF, ORANGE and Radiofabrik, as well as Helsinki provide money and developer time, respectively - 4 Core developers (2x FRO, 1x Helsinki, 1x ORANGE) - overall ~ 1 to 1.5 full-time equivalent of developer time - We
build upon existing projects
: - Helsinki programme scheduler in Django (Python) - Python-based playout inspired by COMBA - Incorporation of a common set of requirements shared by
several radio stations
-
Extensive planning
of architecture & APIs
BEFORE starting the implementation
- We develop
from the start publically and as free software
## Current status ### Components -
steering
(= programme schedule): fork of the Helsinki PV -
engine
(= playout): originally based on COMBA, but for the most part rewritten and reduced -
tank
(= importer): based on a component developed for Helsinki and adapted for AuRa -
dashboard
(= UI): newly developed for AuRa (see earlier screenshots) -
battery
(= recording archive/manager): in planning
## Current status ### Team - 5 Core developers (2x ORANGE, 2x Helsinki, 1x Radiofabrik) - 1 project lead - 1 UI tester and GFX contributor
## Current status ### Work packages - 122 open issues - 110 closed issues - 20 epic issues - for AuRa 1.0: - 49 open issues (7 epics) - for AuRa 1.1: - 30 open issues (6 epics)
## Current challenges - No clear maintainer roles and capacities - Requirements start to become unclear, forgotten or suddenly arise newly or out of nowhere - 20 hours per week per component, with sustainbale commitment, would actually be a minimum - currently we have 2 thereof (the two newest core devs)
## Current project schedule - January 2021: Complete API specs - February 2021: Start of the "playout" test phase (AuRa 1.0) - July 2021: Start of the "high availability" test phase (AuRa 1.1)
# AuRa as a software architecture ##
where it runs
##
au
to
ra
dio - https://gitlab.servus.at/autoradio
## technical organisational requirements: - Modular approach, every component should be replaceable - Transparent and well documented interfaces, implemented as REST APIs - Build on existing solutions, which are already in use in free radio stations - Use of established development frameworks
## AuRa data model
## AuRa components -
dashboard
(Javascript, Vue.js) -
steering
(Python, Django) -
engine
(Python & Liquidsoap) -
tank
(Go) -
battery
(Python)
## Original architectural model
## Current architectural model - as simple as possible, realisable with two machines (theoretically also on one) - alternatively as a redundant HA variant - [aura-network-diagram-0.6.pdf](imgs/aura-network-diagram-0.6.pdf)
## Setup - currently not yet trivial, and not recommendable without Linux admin skills - some components are already containerised - goal is a fully/mostly containerised setup (with Docker) - setup procedure should ideally be reducible to: - pull repositories - set global environment variables - start services via script (or directly with docker-compose)
## Contributions - for bigger contribs we should have maintainers first - always happy about simple bug fixes - our own GitLab instance - in this case a bit of a hurdle - but we can talk about accounts - easiest are documentation contributions - but we should have a common standard/format - localisations can already be created and can be outsourced easily
# Infos, resources and channels - GitLab:
https://gitlab.servus.at/aura/
- esp. the
meta
repo with infos for a first overview and with docs - as well as this presentation - AuRa users mailinglist:
https://mailman.o94.at/mailman/admin/aura-users
- AuRa test instance:
https://aura-test.o94.at/
(write us for accounts) - API definitions:
https://gitlab.servus.at/aura/meta/-/blob/master/docs/api-definition.md
- Engine API spec:
https://app.swaggerhub.com/apis/AURA-Engine/engine-api
- Mattermost (currently only internal)
#
Q
&
A
- Which questions do you have? - What do you want to see?
## Overview and Roadmap to the
Au
tomated
Ra
dio Project @ [danube streamwaves digital](https://www.freefm.de/projekte/danubestreamwaves-digital) jackie / Andrea Ida Malkah Klaura <
jackie@diebin.at
>
David Trattnig <
david.trattnig@o94.at
>
the internet, 11. November 2020
This presentation and its [source code](https://gitlab.servus.at/aura/meta/-/blob/master/presentations/zwcm2020) are available under a [AGPLv3](https://gitlab.servus.at/aura/meta/-/blob/master/LICENSE) license. It builds on the presentation framework [reveal.js](https://revealjs.com), which is available under a [MIT](https://github.com/hakimel/reveal.js/blob/master/LICENSE) license.