Gray Area and SchellingFlags

I was invited to show something at the 2018 Gray Area Festival, a great Art & Technology event in San Francisco. This year it was on from July 26-29, 2018. I took the opportunity to make something new.

The result was SchellingFlags.

SchellingFlags is the meme of “…but on the blockchain” applied to flags, with a touch of Art & Language and Komar & Melamid. You can find out more about it on the project page. The version shown is from during development, so the last two flags haven’t been voted for and thereby defined yet.

Massive thanks to Gray Area for putting on an awesome event and making my work part of it!

Lottery Symbol

“Lottery Symbol”,2017, DApp.

A graphical symbol on the blockchain, chosen via a simple lottery (using the blockchain itself as a source of entropy).

This is a piece in a series of works that pair methods of allocation with aesthetic properties. It follows on from Democratic Palette.

You can access it via an Ethereum-enabled browser here and the source code is available in a git repository here.

Art Is 2.0


“Art Is”, 2014/2017, DApp.

People have argued about the definition of art for millennia.

We finally have the techonomic means to settle this argument.

In “Art Is”, people can use the Ethereum network to pay to define art at a price equal to the strength of their certainty in the correctness of their definition. The results are an economically rational definition of art, far stronger than discourse paid for by third party cultural institutions.

The original “Art Is” from 2014 suffered from bitrot so I re-implemented it.

As ever, you can access it via an Ethereum-enabled browser here and the source code is available in a git repository here.

About “Is Art”

This is the text for the current showing of “Is Art”.

“Is Art”, 2016/2017, Ethereum DApp, Rob Myers.

Late 1960s Conceptual Art and mid 1990s net.art are useful inspiration for thinking about the blockchain and smart contracts. These art movements stood in critical tension with the systems of communication, law and commerce of their eras. Each treated rootless information, whether about sense data or network messages, as the critical subject of art and a new potential artworld. Their promise and their eventual recuperation by the existing artworld chimes with the historical experience of the blockchain.

“Is Art” takes the Conceptual Art ideas of dematerialisation (art that is not presented in a fixed physical form) and nomination (something that is art because someone or something says it is) and combines them with the net.art idea of the interactive artwork that exists in or interferes with network protocols.

In it, an Ethereum smart contract contains the assertion that it either “is” or “is not” art. A web page connected to the Ethereum network displays the state of this assertion to anyone who can access the contract and allows them switch it between states. When they do so this will become a fact secured in Ethereum’s blockchain with the strength of millions of dollars of computing power a day.

Is this sufficient to determine whether the contract is or is not art? Where and how is the claim really being made and determined? How does this relate to historical examples of such artworks? And how does it relate to other claims of fact stored in other smart contracts?

To Change The Status Of The Contract

1. Click anywhere on the screen.
2. In the dialog that opens, click “Update”.
3. And in the dialog that opens in response to *that*, click on “Accept”.
4. Watch for the update on both screens.

“Bad Shibe” at New World Order

Lina Theodorou’s installation at Furtherfield’s “New World Order” featuring their wonderful illustrations for my story “Bad Shibe”.

You can buy the print version of Bad Shibe, featuring those illustrations, at the show or online via PayPal or with Bitcoin.

Via Furtherfield – https://twitter.com/furtherfield/status/865569017515438084

“Is Art” at Ethereal

Is Art” in the FOAM space at Ethereal summit in New York. You can manipulate it using the MacBook and watch its state update via the blockchain on the tablet next to it.

From show curator the awesome Sam Hart (thanks Sam!) – https://twitter.com/hxrts/status/866447265229156353

Using The Palette

palette-chooser

The “Democratic Palette” contract provides 12 colours to use. What happens if griefers set the palette to 12 colours that are almost exactly the same? What happens if you need colours with more or less contrast or hue difference? What if you need more or fewer colours? The only guarantee about them is that they will all be different by at least one point.

To fetch the current palette:

var withPalette = function (callback) {
  var democratic_palette = Democratic_palette.deployed();
  var requests = [];
  for (var i = 0; i < 12; i++) { requests.push(democratic_palette.palette(i) .then(function(colour) { return {index: i, colour: colour}; }); } Promise.all(requests).then(colours => {
      var palette = [];
      colours.foreach(function(colour) {
        palette[colour.index] = colour.colour;
      });
      callback(palette);
    });
  }
};

We can then get from one to twelve colours simply by truncating the array, e.g.:

var my_3_colours = palette.slice(0, 3);

Or we can get the bluest colour using a simple comparison:

var bluest_colour = palette.sort(function(a, b){
  return a.blue - b.blue;
})[0];

Or we can take the average of the colours, which will probably represent the triumph of statistics over aesthetics.

More complex orderings and comparisons can be achieved using a colour library that allows us to work in HSV space. In particular we can use a version of the algorithm that Harold Cohen used for one version of his program AARON’s colouring system (see figure 15 here), effectively ordering the colours in the palette by brightness then distributing them evenly across a brightness range sufficient to ensure that each is distinct from its neighbours.

What about more colours, or more structured relationships between colours where we are concerned that those relationships may not be present in the colours voted for within the palette? In the first case we can interpolate between existing colours, producing colours in-between those in the palette. Or in both cases we can use colour theory to produce related colours: complements, split-complements, tints and tones, etc. There are libraries to do this in Javascript, for example color-scheme-js will produce entire colour schemes from individual colours.

“Democratic Palette” is intended to provide the equivalent of an aesthetic or colour symbology backed by Blockchain democracy rather than any other ideology or iconography, so it is intended to be easy and significant to us it as-is. But it’s also possible to maintain a direct relationship to the palette while using colours that are not themselves present within it.

Democratic Palette

palette-spots

Democratic Palette, 2016, Ethereum Contract and HTML/JavaScript/CSS.

A palette of twelve colours that anyone can set on the Ethereum blockchain. Every vote for every colour is tracked and the top twelve make up the palette.

palette-vote

palette-representations

palette-squares

palette-stripes

The images above show various different visual applications of the palette and the use of the GUI to vote for a colour (the GUI appears if you click in the window displaying the canvas).

Note that the above images are from test runs. The current palette on the live Ethereum blockchain looks like this, ready for people to vote on:

live-palette

You can download the interface code here, it’s in the dapps/democratic-palette directory.

To use it you’ll need an Ethereum node running locally, and to vote for colours you’ll need some Ether.

Blank Canvas

Blank Canvas 1

Blank Canvas 2

Blank Canvas 3

Blank Canvas 4

Blank Canvas, 2016, Ethereum Contract and HTML/JavaScript/CSS.

A blank canvas that anyone can set the colour of on the Ethereum blockchain.

The images above show use of the GUI to change the colour (the GUI appears if you click in the window displaying the canvas).

You can download the interface code here, it’s in the dapps/blank-canvas directory.

To use it you’ll need an Ethereum node running locally, and to change the colour you’ll need some Ether.

“Hot Cold” on Homestead

cold-hot-live

Here’s “Hot Cold” live on the Ethereum “Homestead” network.

“Hot Cold” calls back to Art & Language’s 1960s Conceptual Art involving abstract aesthetic properties. It looks (and is implemented to be) twice as complex as “Is Art“, but it’s still really only one bit of information.

You can run the user interface locally in a web browser with an Ethereum node such as geth. Once geth is running, the user interface can get the contract’s state from the blochchain and, if you have Ether for gas, modify it. If someone else changes the contract’s state, you’ll see this updated.

If you want to change the contract’s status without using the user interface, you can do so using the contract’s address and ABI in EtherWallet.

The address:

0x53cd5d6bebff1eef892c191875e4d963875f50d7

The ABI:

[{"constant":true,"inputs":[],"name":"cold","outputs":[{"name":"","type
":"bytes4"}],"type":"function"},{"constant":false,"inputs":[],"name":"swap","out
puts":[],"type":"function"},{"constant":true,"inputs":[],"name":"hot","outputs":
[{"name":"","type":"bytes4"}],"type":"function"},{"inputs":[],"type":"constructo
r"},{"anonymous":false,"inputs":[{"indexed":false,"name":"hot","type":"bytes4"},
{"indexed":false,"name":"cold","type":"bytes4"}],"name":"Swap","type":"event"}]