GopherCon 2018 - Go for Information Displays

Alan Braithwaite for the GopherCon Liveblog

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:

Warriors meme

OpenVG

RaspberryPi Go SVG

img_20180828_110526

Weather display

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"

Percentage based layout illustration

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.

Flight Information diagram

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

Creative layout example

Charts in Deck: dchart.

dchart charts for deck

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.

Email from Russ Cox

Take inspiration from Picasso and Turing

Get Cody, the AI coding assistant

Cody makes it easy to write, fix, and maintain code.