Skip to content

Instantly share code, notes, and snippets.

@tschoffelen
Last active April 9, 2018 12:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tschoffelen/634687af80eff37ad53b4292e8f87e15 to your computer and use it in GitHub Desktop.
Save tschoffelen/634687af80eff37ad53b4292e8f87e15 to your computer and use it in GitHub Desktop.
Spec for dashboard files for the Dashbored app for Apple TV.

Dashbored file specification

Dashboard files for the Dashbored app for Apple TV and iPhone are JSON files with a certain structure.

A dashboard file should be a JSON object with at least the keys title and sections, and optionally the key theme.

Title

The title key should always exist and contain a string value of the title you want displayed at the top of the dashboard.

Theme

The theme key, when present, should be an object that may contain the following values:

{
	// Board styles
	"dashboardBackgroundColor": "#ff000",
	"dashboardBackgroundImage": "https://image-urls-should-be-https.com/some-png-or-jpg.png",
	"dashboardTitleColor": "#fffff",
	// From this line on everything is about sections
	"titleColor": "#000000",
	"textColor": "#666",
	"separatorColor": "rgba(0, 0, 0, 0.2)",
	"backgroundColor": "#ffffff",
	"borderRadius": 5,
	"borderWidth": 1,
	"borderColor": "rgba(0, 0, 0, 0.2)",
	"borderStyle": "solid", // or "dotted" or "dashed"
	"shadowColor": "#000",
	"shadowOpacity": 0.1,
	"shadowRadius": 3
}

Sections

The sections key holds a array of section objects. Each section is a block on the dashboard screen.

Each section object should have at least the following keys:

  • title: string, title of the sectoin
  • type: string, see below for valid values
  • size: integer value between 1 and 4
  • value: value, data type depends on section type, see below

Section sizes

Unlike most dashboards, you don't set the specific width and height of each block, but instead you set a single value named size. The size parameter can have a value ranging from 1 to 4. Dependent on the type of section and the relative sizes for each of the sections in a dashboard, the app will automatically fit them all on the screen.

Supported section types

Section type:

  • text: plain text (default), requires key value to be of type string
  • stat: number value/stat, requires key value to be of type number or string
  • barChart: bar chart, requires value to be an array of arrays with label and value: [["Wednesday", 3], ["Thursday", 5], ...]
  • horizontalBarChart: horizontal bar chart
  • pieChart: pie chart
  • areaChart: area chart
  • image: image view, requires value to be a string containing an HTTPS image URL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment