This is a rescue work of Concrecons: Digital Poetry for the Internet after flash.
You can find the demo here and the code here.
Before open standards such as HTML5 (2014), Webgl or Webassembly (both launched in 2017) achieved their current popularity or even existed, Adobe Flash Player was the default option of the creators for artistic experimentation on the web.
An example of this are the Concreteons (2010) by Benjamín Moreno: formed by 11 digital poems, Concreteons pays tribute to some of the most representative works of Ibero -American experimental poetry .... [using] video games as a means of poetic creation .
As part of its documentation, rescue and preservation work of digital literature, the Mexico Digital Culture Center keeps this piece online , where you can visit until today.
However, in 2021 the concreteons and all the flash content produced for two decades of useful life of the plugin have been replaced by the error message: this complement is not compatible , after Adobe put an end to the support for Flash Player on December 31, 2020.
To start our rescue operation we need a copy of the site.
To download the site files we use the wget command, so we open a terminal and execute the following.
$ wget --recursive http://concretoons.centroculturadigital.mx/bbox.html The option --recursive is to tell wget to download the .html document specified together with all your linked files, including other .html documents along with all your files linked too.
At the end of the download we will have a folder called concretoons.centroculturadigital.mx with the following structure:
concretoons.centroculturadigital.mx
├── complementos
│ ├── adelante.jpg
│ ├── atras.jpg
│ ├── casa.jpg
│ ├── concretoon21.swf
│ ├── concretoon22.swf
│ ├── concretoon23a.swf
│ ├── concretoon24.swf
│ ├── concretoon25.swf
│ ├── concretoon26.swf
│ ├── concretoon27.swf
│ ├── concretoon2.swf
│ ├── concretoon34.swf
│ ├── concretoon40.swf
│ ├── concretoon42.swf
│ ├── falso.jpg
│ ├── indice.swf
│ └── info.jpg
├── aqui.html
├── bbox.html
├── borges.html
├── brossa.html
├── carrion.html
├── colofon.html
├── indice.html
├── mallarme.html
├── noigandres.html
├── nokia.html
├── paz.html
└── valium.html
1 carpeta, 29 archivos In the main folder are all .html files, and in .swf subfolder complementos are the navigation images, the indice.swf .
Perfect, we already have a copy of the site.
A github search for possible solutions to visualize and edit flash content has a couple of interesting projects:
Ruffle is a flash player emulator written in the Rust language, and one of its flavors can be executed in the browser.
JPEXS Free Flash Decompiler is a decompiler and .swf file written in Java and is available for Windows, Linux and Macos.
Ruffle exists in 3 flavors :
The latter (includes a copy of Ruffle as a .wasm module), also called Self Hosted ( auto-alajable ), can be included in a .html file that contains flash content, and allows users to see the content without having to install anything by their side.
We download a copy from its website and decompress its content in a subfolder called lib that we must create in the main folder of our project.
Finally, we must add the following line within the <head> element of our .html files.
< script src =" lib/ruffle.js " > </ script > We can manually add this line, file per file, or we can run the following script to add it to all .html files of the project.
for i in * .html ;
do sed -i ' s/<head>/<head>n<script src="lib/ruffle.js"></script>/ ' " $i " ;
doneReady, that's all ... well, almost.
By http://concretoons.centroculturadigital.mx/nokia.html visualizing our copy of the concreteons we can notice that the indice.swf .
To edit our indice.swf .
In the first window we can see the content of our indice.swf . Once here we display scripts , where all the buttons are defined.
By displaying the buttons we select the BUTTONCONDACTION on(release) option, and in the right window we find something like this:
GetUrl "http://concretoons.centroculturadigital.mx/nokia.html" "_self"
Since in our project all .html files are in the same folder we can replace it with something like this:
GetUrl "nokia.html" "_self"
We must do this with all options defined in the indice.swf and now, that's all.
If we try to open the .html files by double clicking from the local folder, we will be using the file:// protocol. This does not work because browsers, by default , block some characteristics when using this protocol for security reasons.
To see our .html files using the protocol http:// we must serve our files through a web server.
If we have nodejs installed, a quick solution is to install the nws package.
# Con npm
npm --global install nws
# O si utilizamos yarn
yarn global add nwsOnce installed, in a terminal we go to the folder of our concreteons and execute the following.
nws . To see our concreteons on our local server we can go to https://localhost:3030/indice.html in our browser.