More selected projects

The Data Crystallisation Event

Inspired by J G Ballard's book "The Crystal World" this piece presents both physical and digital artefacts from a speculative future in which data and information have become so dense that it has begun a process of Crystallisation. This process of quantification and digitisation of information is leading to a future in which our every word, action and thought generate endless amounts of data and metadata. In the same way that Ballard's book describes crystals taking over a remote corner of the jungle, I am discussing a possible future in which crystals have crossed the digital/physical divide and emerged from data centres, hard drives, routers and other data rich media.

produced by: Jayson Haebich


This piece describes a speculative future in which the endless digitisation and quantification of data has caused information to become supersaturated and begin a process of crystallisation. It is presented as a speculative museum exhibit showing future artefacts from this post crystallised data world.  These artefacts show both the physical results of the crystallisation process as well as digital information crystallising. The narrative of the work describes how a crystalline structure is forming over our planet, emerging from digital data to create a new anthropocenic layer over technology. This work is heavily inspired by J G Ballards book "The Crystal World". In the same way that Ballard's book describes crystals taking over a remote corner of the jungle, I am discussing a possible future in which crystals have crossed the digital/physical divide and emerged from data centres, hard drives, routers and other data rich media. These crystalline forms create their own new forms of information generated through the algorithmic, emergent behaviour of crystal growth.

Concept and background research

This project is heavily inspired by my interest in emergence and self-distributed systems and especially work by mathematicians such as Von Neumann who studied self-replicating cellular systems such as crystals (Von Neumann, 1966). The project started with a discussion I had with Professor Susan Stepney a researcher from the University of York University who studies non-standard computing (Stepney, S 2005) . We met in a coffee shop in Cambridge and discussed computation in natural systems and how data and information can emerge from this systems. From this, I became interested in crystals and the way in which they grow and how they mirror the way in which the internet and technology have formed. If we look at the development of the internet it started with disparate centres of dense information that became interconnected and in the same way that a crystal grows from a supersaturated solution the internet grew from the connections made between sources of information across the world. This type of interconnectedness has been discussed with systems such as Facebooks Open Graph and other types of cloud infrastructure (Kaldrock, 2014).

Another important basis for this work is the book "The Crystal World" by the author J G Ballard. This book describes a post apocalyptic setting in which the condensation and supersaturation of time, deep in the jungle has started a process of crystallisation. In my work I present a speculative media future in which the process of crystallisation that has lead to the development of computational systems continues and in the same way that Ballard describes the crystallisation of space and time that starts to overwhelm the dense tropical jungle (Ballard, J G 1966) the crystallisation of technology continues to cover our planet and ourselves with data and technology. 


This project used a number of technologies including the Torch Multi-layer Recurrent Neural Network environment, OpenFrameworks and Processing. I made two Data Crystallisation applications. The first of which I named Text Petrification and was created in Processing. The Text Petrification application used a cellular automata type system that ran over an xml document. This cellular automata system worked around the formatting and syntax of the xml document and ran only within the data and meta data, feeding upon dense xml information to form a crystal type structure of new text based data.

The second data crystallisation app I wrote was an application that would generate a digital crystal based on my Facebook data. To create this I first downloaded my Facebook open graph timeline data from my Facebook settings page. I then took this information which was around 1mb and ran it through a Torch Neural network algorithm. The application I used was the Torch- Rnn implementation by Andrej Karpathy: 

The purpose of this is so that I can now regenerate new Facebook data based on my Facebook timeline. This enables me to generate endless new Facebook data and use it in the same was as which a crystal would grow. Generating new data based on a self-perpetuating algorithm. Once I had this trained data I was able to generate a large file which contained new machine generate Facebook updates. It is this new data that I would then use to create a crystalline structure. This mimics the algorithmic growth of crystals in which the process begins with a seed that continues to replicate itself based on generative process.

From there I used this data in an OpenFrameworks application which would generate a digital crystal that is rendered in 3d. The algorithm used in the OpenFrameworks application is a hexagonal cellular automata system that generates a 3-dimensional crystal structure which is seeded by the facebook data. To implement this hexagonal cellular automata system I created a hexagonal map data structure. In this structure each object is connected via pointers to 8 other objects (the six corners of the hex shape and then the layers above and below). In this structure new particles are added to the structure as a kind of Map so that I only needed memory for the amount of particles used at a given time rather than having to pre allocated a large amount of space during the program initialisation. The image below shows a diagram of this hex structure. Each HexParticle was referenced using an ofVec3f position so that the data structure itself had a three-dimensional structure and could be allocated and referenced as needed. Within the code I could check if a particle had been allocated by checking the map structure for a particle at an ofvec3f position to see whether it had been allocated or not. This worked well for the initialisation of the structure but I also needed a second vector list structure which held a 1 dimensional data structure with all the allocated particles. This structure was used when drawing or checking positions of the particles.


To draw the crystal structure I used an ofMesh with new cells being added to the mesh as they are created. This meant that the geometry for each cell was only calculated once to reduce the processing load. I also included a shader based lighting system to give the crystal a shinier and more interesting visual feel, and like all of my installation, it was based on a blue colour palette. The shader was based on code from this addon: made by Dario Longobardi.

The physical crystals were created using copper sulphate. I tried many different combinations of chemicals and growing techniques, some early experiments can be seen below:

In the end I decided to use copper sulphate which made really nice blue crystals.



Future development

Some further work that I would like to this is to work my on the Text Petrification algorithm, and have it generate fully valid xml or json files based on a simple cellular automata algorithm. This would mean I can "grow" information that can be loaded by other programs that use these formats. Also I would like to extend the visualisation into three dimensional space or to make a much more massive version that can be visualised on a larger visual scale.

I would also like to keep working on the conceptual side of the project. As part of the MFA I had to write a 5000 word essay and there was a lot of stuff that I want to keep investigating from that. Especially some of the primary research I did into the use of crystals as technical devices such as the John Dee crystal which I was able to view at the Science Museums archive.

Please visit: to see the full blog from my entire MFA Project which details the complete journey through my years work.

Self evaluation

I would have liked to incorporate the actually physical crystals more with the digital crystals and use the crystals as some sort of computer or to store information within them. After much trying and many failed experiments I decided to scrap this idea, but it is something I want to explore more in the future, especially to incorporate my work with light and lasers with growing crystals. I was able to use the crystal growing experiments to help tell the story of my piece but one thing I would have liked to be able to have these be more interactive in some way and have them be directly involved in some computational process.

From a more technical perspective, I would have liked the application to generate the new facebook updates in real time rather than using a pregenerated file. I wasn't able to achieve this so that it would run at a satisfactory framerate. It was too slow and would slow down the whole program which is already quite processor intensive.

Overall though I was very happy with this project, I really enjoyed working with Joel and Helen to develop it and there is so much within the project that I want to continue with. The primary research into some crystal objects that I did for the easy was especially interesting. Gaining access to and delving into the archives at the Science Museum was an amazing experience and I want to continue this work into the future. I was also happy to be able to do something novel and new with crystals, there has been so much work done already with cellular automata and the study of computational systems in nature and I really wanted to do something new with these concepts. I believe I achieved this and want to keep developing the crystallised data concept further.



Ballard, J.G., (1966) The Crystal World . Macmillan. London United, Kingdom 

Karpathy, A (2016) Char-RNN accessed online 14th April 2017.

Longobardi, D (2016) ofxReflectionRefraction addon accessed online 12th May 2017.

Stepney, S., Braunstein, S.L., Clark, J.A., Tyrrell, A., Adamatzky, A., Smith, R.E., Addis, T., Johnson, C., Timmis, J., Welch, P. and Milner, R., 2005. Journeys in non-classical computation I: A grand challenge for computing research. International Journal of Parallel, Emergent and Distributed Systems, 20(1), pp.5-19.

Von Neumann, J. and Burks, A.W., (1966). Theory of self-reproducing automata. IEEE Transactions on Neural Networks , 5(1), pp.3-14. 

Kaldrack, I. and Röhle, T., (2014). Divide and Share: Taxonomies, Orders and Masses in Facebooks Open Graph . Computational Culture, (4).