Thin Client Revival for Generated Art

Part 1 – Hardware

I am experimenting with generated art once in a while for a couple of years now. It allows me to cross the barrier between coding business systems and the world of art, literally creating software that serves absolutely no sincere business value but creating artistic enjoyment. Using the Processing environment (/library/programming language) it is amazing what fantastic visuals you can produce with little code. Note, Processing runs in its 20th year now, long time before we got into the current hype of AI generated art using GAN‘s (Generative Adversarial Network) etc and people making money with NFT (Non-Fungible Token). To be precise, Processing is more a tool for procedural art, good old algorithm creating visuals spiced up with randomness or picking up external actors (e.g. webcam). Today I wont discuss NFT’s or if it makes sense to buy a JPG file for millions of dollars, nor will I talk about GAN art based on deep learning, like Style transfer and similar (another post will cover that).

How to make generated art accesible to an audience outside the browser? With traditional means we would print the art piece, frame it, hang to the wall. This will limit us to static pieces, but we aim for the creation process and animated pieces as well. I started to work on a setup that runs as an art installation using screens and projectors, people in a public space can observe and witness the process of a piece being created or interact with it. I like the uniqueness of each visual using some kind of randomness as parameter. Whatever you see will disappear forever once the screen moves on (provided no screenshot or print created), the exact same thing you will not see again, though very similar creations coming out of the same alogorithm.

Lets look at the hardware. How to do this with little money ? We need a CPU, an OS, a screen and a stand.

Thin Client

Lets revive thin client hardware that you find for a few dollars on Ebay, usually devices which spent their previous life in an ATM, POS or behind a Checkin-Counter at an airport. Once retired after a few years this kind of equipment gets recycled or find its way into the electronics second-hand market (and hopefully not in landfills or recycle yards in Africa). Using Linux as OS we can use most thin clients built after 2010 with 64bit architecture (32bit no longer supported by Debian based systems), with 1 or 2GB RAM and at least 8GB diskspace. Since we run some graphics here we need a least a decent performance. I found the Fujitsu Futro S920, launched around 2013 with the AMD G-Serie GX-415GA 1.5Ghz Quad-Core CPU, 4GB RAM DDR3 and AMD Radeon™ HD 8330E as graphics adapter, which even supports OpenGL 4.1. All for Euro 29,- inclusive the power adapter. Energy consumption around 10 Watts. Replace the 2GB mSATA drive against a 16 or 32GB for another Euro 20,-.

One could argue, why not using a Raspberry PI ? With a proper casing and power adapter I would reach almost Euro 100,-.

Fujitsu FUTRO S920

Linux OS

Debian based OS are my choice. Using the Lubuntu distro we use a small memory footprint and decent diskspace requirements.

Screen and Stand

For the screen I sourced 40″ screens, grade B returns for roughly Euro 100,-, another way to keep this project sustainable by giving electronic equipment a second life. Now comes the handicraft challenge, building the TV stand. I prefer a portrait setup, a professional stand is easily Euro 200,-. Some iron square tubes, basic welding knowledge and some paint do the job. Material spent per stand about Euro 40,-.

This could even backup as super-low budget FIDS screen setup.

I managed to build the whole setup for less than Euro 200,-. Now time to get it ready for public display.

Final Setup (on display piece’sandstorm’ transformed version by the author, original by Sayama, CC BY-NC-SA 3.0)

A small desktop version made from scrap metall for a 22″ screen

In the upcoming part 2 I will talk about the software setup of the installation as well share some insights about processing.

Stay tuned..

Visualization Use Case Part 2: Airline Arrival Delays in the US (Tableau)

After reviewing the flaws of the previous visualization of the DOT Airline performance data in part 1, I created an improved version with the same recordsets. It is a separate viz because the first version have some mistakes due to the number conversion during the csv import. I cleaned up, checked the data and used calculated fields to derive the sum of delays.

Airline Performance in the US 2015

Airline Performance in the US 2015

The basic concept is still the same, the matrix on the top left controls the dashboard, initially you see all data for 2015 combined, clicking into cells drills down.
I changed the barchart to stacked bars comparing total to delayed flight in one bar for each month.

Bar Chart

Bar Chart

I moved the split delay reasons into a separate bar chart and added a pie chart which reveals the main reason for delays (surprisingly weather and security have the smalles share!) The 2 lists are a Top 10 style lists highlighting the airports and airlines with the most delays.

Performance

Airport Performance

 

Performance

Airline Performance

 

How does the visualization transport information ? Let’s look at the strong and weak points of the second iteration.

+ The key information presentation is improved. We can see the viz is about delays.

 The dashboard starts to look a bit disorganized and the viewer eyes are moving around without a centre of attention.

+ The barchart now makes sense, you can compare total flights and delays.

– The detail delay reason over time does not create too much value as the distribution of reason is quite similar.

Conclusion: Spending more time on both data and visualizations improved the overall impact, though a bit cluttered.

Lets try to apply to some more tweaking..

Visualization Use Case Part 1: Airline Arrival Delays in the US (Tableau)

Going beyond sample datasets and basic visualizations I was looking for open data in my professional domain, the aviation and airport industry. Potential candidates for visualizations are connections, routes, flight plans, airport and airline performance. Performance is usually the comparison of scheduled operations vs. actual milestones. The delay of arriving or departure flights is not only affecting passengers and many parties inside and outside the airport community, but it is driving sentiments, perception and reputation and eventually costs money. This kind of data is not something operators like to release but thanks to the Freedom of Information Act (FOIA), a US Federal law, public gets access to all kind of statistics. From the US DOT (Department of Transportation) you can access and download a variety of datasets, one of them is the On-Time Arrival Performance of US airlines in the US and their delay causes since the year 2003 (link). You can filter by airline, airport and timeframe, review the summary on the DOT website or download the set as CSV for your own analysis. I downloaded the complete dataset for 2015, a 2,25 MB file with roughly 13.500 records.

Arrival Delays in Tableau

Arrival Delays in Tableau

 

Airline Delays in the US in 2015 by DOT

Airline Delays in the US in 2015 by DOT

 

It provides total arriving flights, cancelled and diverted flights, the delay count and total time by reason (weather, carrier, NAS, security, late aircraft) for each month-airport-airline combination for 14 carriers at 322 airports.

Airline Delays in the US in 2015 by DOT

Continue reading