GopherCon 2018 - Go for Information Displays

By Alan Braithwaite for the GopherCon Liveblog on August 28, 2018


Presenter: Anthony Starks

Liveblogger: Alan Braithwaite

Go for "programming pictures" -- turning data into compelling displays and visualizations.

Summary

Go, while typically used primarily for systems programming, is an excellent language for visualization tools given it's rich image processing libraries.

In this talk, Anthony dives into useful tools and libraries for visualization in Go. This talk is packed full of real-world examples which make even the most hardcore systems programmers want to pick up these tools and start visualizing.

https://github.com/ajstarks/go-info-displays


Information Displays

img_20180828_105734

Anthony introducing us with his definition of information displays:

"An interesting arrangement of text and graphics designed to convey a message"

Let the computers do the heavy lifting. Something we can all relate to.

Computers provide:

  • Precision
  • Consistency
  • Efficiency

"Information displays are made of only a few core elements and when you know these elements, you have the superpowers to create amazing visualizations."

Packages and Tools

SVGo

svggo with svgplay: a go playground for sketching SVG images. This thing is crazy. Barrier to entry destroyed!

It even works with APIs like flickr! Anthony dives into tons of examples written in svgo.

Great example as a warriors fan:

screen shot 2018-08-28 at 10 13 32 am

OpenVG

RaspberryPi Go SVG

img_20180828_110526

screen shot 2018-08-28 at 10 01 36 am

Awesome weather display example. Anthony goes through something he wrote: a magic mirror display.

Deck

A go package for awesome presentations. Very simple tool, much more powerful than the standard go present tool.

"Don't keep a lot of things in your head"

screen shot 2018-08-28 at 10 12 29 am

Deck can render to all sorts of destinations. SVG, PDF, PNG, etc. Styling is super easy.

Shell function DSL for creating easy displays. Your presentations can be easily scripted!

Lots of Pictures

Using core elements to make better real-world displays. Lots of examples including Stocks, Airports, etc.

screen shot 2018-08-28 at 10 11 36 am

Anthony is the perfect person to be creating these tools. Creative, enthusiastic and curiousor.

screen shot 2018-08-28 at 11 15 56 am

Charts in Deck: dchart.

screen shot 2018-08-28 at 10 10 07 am

Start simple -- Name value pairs. Optimized and read by dchart to create a beautiful chart.

Why Go?

The core tools provide excellent primitives and abstractions for high performance image processing.

Cgo integrates with existing tools.

The community is very enthusiastic about image processing.

RSC teasing Anthony on the mailing list before he open sourced SVGo.

screen shot 2018-08-28 at 10 09 36 am

Take inspiration from Picasso and Turing