Dashboards

Dashboards#

  • Dashboards come in many flavours.

  • Chosing the right (combination of) frameworks has an impact on possibilites and limitations.

  • Free vs paid framework:

    • Free is usually only free in the development phase.

    • Some paid services also include deployment on a server, easy scaling to meet demands, etc.

    • For companies with custom built projects, infrastructure may already be available in-house or through a contract with Amazon Web Services, Microsoft Azure, Google Cloud Platform or other agreements.

  • No code vs only code vs hybrid

  • Static vs streaming data:

    • Is the data collected in advance or will more data arrive after deployment?

  • Static vs interactive interface:

    • Hovering or clicking to reveal labels; zooming, paning, etc.

    • Selection of subsets, possibly affecting other plots.

    • Graphical user interface elements (widgets like buttons, sliders, etc.) to manipulate plots.

    • Possiblity of selecting input data.

  • Single or multiple views:

    • Static set of plots.

    • Card layout with “layers” of dashboards.

    • Connected pages with different focus, e.g.,

      • (1) data selection and filtering, (2) plots, (3) key performance indexes.

Dashboard frameworks#

  • There are dozens of different frameworks available, both open and proprietary.

  • Power BI:

    • Microsoft’s industry standard for dashboard building.

    • Visual app building with possibility of integrating code.

    • Various tiers from limited free to full blown enterprise.

  • Grafana:

    • Open source ecosystem with additional paid services.

    • Strong on profiling, metrics, sensor integration, etc.

  • Tableau

    • Subscription full stack of data handling to visualisation.

  • Dash

    • Dashboards of all kinds based on open source Plotly.

  • Excel:

    • For static data and static plots, Excel has lots of options.

  • Jupyter:

    • Many of the elements of a dashboard can be integrated into a Jupyter Notebook.

    • Services exist that can turn Python Notebooks into web apps (e.g., Mercury).

  • Streamlit:

    • Pages of Python based widget and graphics.

    • Extension modules.

    • Deployment webpage with single free (limited) app, then payment subscription.

      • Connected to GitHub, so every git push updates the app.

  • Writer Framework:

    • Previously Streamsync.

    • Drag-and-drop visual editor with Python backend and event handling.

    • Extension modules.

    • Various widgets, metrics, interactive Plotly graphics, multiple pages and card layout.

    • Asynchronus (non-blocking), threaded, minimal latency.

    • Can be deployed via Docker, though free services are few and far appart.