Contribute Media
A thank you to everyone who has made this possible: Read More

Prototyping Interactive Dashboards with Jupyter Notebooks

Description

In this talk, I describe my experience in using jupyter-dashboards, ipywidgets and other libraries to build basic prototypes of data exploration dashboards for datasets related to Internet traffic and packet-switching networks. We’ll go over various examples on how to build and use the widgets to navigate the data, visualize analysis, and evaluate optimization changes.

Abstract

As python programmers, we often use jupyter notebooks as a platform for reproducible data analysis and publication of results. The jupyter ecosystem is still under-utilized for projects that require interactions from non-coder users, such as explorative dashboards or Business intelligence applications. There are other specialised options for these UI/UX interfaces, but integrating them into the analysis pipeline (e.g. Jupyter) is often rather hard. Preferably, we would be able to prototype these interactive applications without leaving our environment.

Jupyter-dashboards, ipywidgets, and other typical pydata libraries provide jupyter with the capabilities to create flexible, and rather powerful interactive elements. This toolset can be used in small projects to create the final facing interface for a limited number of end users. For bigger projects, a more robust UI/UX is normally required to support larger number of simultaneous users. However, the jupyter-dashboard/ipywidgets toolset can still be useful in these cases as an end-to-end prototyping platform, allowing us to get feedback from users at early stages of the project, thus helping us better steer our development.

In this talk, I share experiences of using this toolset for different use cases related to analysis of Internet traffic and network engineering. I’ll go over examples of how to build widgets to explore the Internet traffic and other network data, while highlighting some of its characteristics. Furthermore, I’ll describe some optimisations performed by network engineers on their traffic, such as load balancing, and how the tools can be used to evaluate them.

Details

Improve this page