summaryrefslogtreecommitdiff
path: root/frontend/site/projects/museum/views/essay.js
blob: 5e9882290a5cbf976479033e7ab5dfba1590518d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
import React, { Component } from 'react'
import actions from 'site/actions'

import "./artists.css"
import "./essay.css"

import { ARTISTS, ARTIST_ORDER, ESSAYS, ESSAY_ORDER } from "site/projects/museum/constants"
import { ArrowLeft, ArrowRight, Globe } from "site/projects/museum/icons"

import { history } from "site/store"

export default class Essays extends Component {
  state = {
    currentIndex: 0,
    detail: false,
  }

  constructor(props) {
    super(props)
    this.ref = React.createRef()
    this.showEssay = this.showEssay.bind(this)
    this.previousEssay = this.previousEssay.bind(this)
    this.nextEssay = this.nextEssay.bind(this)
    this.close = this.close.bind(this)
    this.goHome = this.goHome.bind(this)
  }

  componentDidMount() {
    actions.site.interact()
  }

  showEssay(currentIndex) {
    this.setState({ detail: true, currentIndex })
    this.scrollToTop()
  }

  previousEssay() {
    this.go(-1)
  }

  nextEssay() {
    this.go(1)
  }

  go(step) {
    const currentIndex = (this.state.currentIndex + step + ESSAY_ORDER.length) % ESSAY_ORDER.length
    this.setState({ currentIndex })
    this.scrollToTop()
  }

  goHome() {
    history.push(`/last-museum/home/`)
  }

  scrollToTop() {
    setTimeout(() => {
      Array.from(this.ref.current.querySelectorAll(".artist-detail")).forEach(el => {
        el.scrollTo(0, 0)
      })
    }, 0)
  }

  close() {
    this.setState({ detail: false })
  }

  render() {
    const { currentIndex, detail } = this.state
    return (
      <div className="page page-artists page-essay" ref={this.ref}>
        <div className="artist-list">
          <div className="artists-heading">TEXTS</div>
          {ESSAY_ORDER.map((key, index) => {
            const essay = ESSAYS[key]
            return (
              <div key={key} className="artist-big-name" onClick={() => this.showEssay(index)}>
                {essay.title}
              </div>
            )
          })}
        </div>
        <div className={detail ? "artist-gallery visible" : "artist-gallery"}>
          {ESSAY_ORDER.map((key, index) => (
            <EssayDetail
              key={key}
              essayId={key}
              index={index}
              isCurrent={detail && currentIndex === index}
              onClose={this.close}
            />
          ))}
          {detail && (
            <div className="artist-location" onClick={this.close}>{ESSAYS[ESSAY_ORDER[currentIndex]].title}</div>
          )}
          <div className="nav-arrow arrow-left" onClick={this.previousEssay}>{ArrowLeft}</div>
          <div className="nav-arrow arrow-right" onClick={this.nextEssay}>{ArrowRight}</div>
        </div>
        <div className={detail ? "home-link black" : "home-link"} onClick={this.goHome}>
          Home
        </div>
      </div>
    )
  }
}

const EssayDetail = props => {
  switch (props.essayId) {
    case 'nadim':
      return <NadimEssay {...props} />
    case 'statements':
      return <ArtistStatements {...props} />
  }
}

const ArtistStatements = ({ essayId, index, isCurrent, onClose }) => (
  <div className={isCurrent ? "artist-detail visible" : "artist-detail"}>
    <div className="page-title" onClick={onClose}>ARTIST STATEMENTS</div>
    <br /><br />
    {ARTIST_ORDER.map((key, index) => {
      const artist = ARTISTS[key]
      return (
        <div key={key} className={key}>
          <div className="page-subtitle">{artist.name}</div>
          <div className="page-content artist-statement" dangerouslySetInnerHTML={{ __html: artist.statement }} />
        </div>
      )
    })}
  </div>
)

const NadimEssay = ({ essayId, index, isCurrent, onClose }) => (
  <div className={isCurrent ? "artist-detail visible" : "artist-detail"}>
    <div className="page-title" onClick={onClose}>About The L<span>ast Museum</span></div>
    <div className="page-subtitle">By Nadim Samman</div>
    <div className="page-content">
      <p>
        <i>The Last Museum</i> is an exhibition that explores productive tensions between the putative ‘anywhere’  of the digital and its relation to local particulars. Deploying a hybrid offline-online format, the project invites an international group of artists to reimagine site-specificity, through a sequence of interventions that cut across both real and virtual domains. The artists are <b>Nora Al-Badri</b> (Germany/Iraq), <b>Juliana Cerqueira Leite</b> (Brazil), <b>Nicole Foreshew</b> (Wiradjuri Nation/Australia), <b>Jakrawal Nilthamrong</b> (Thailand), <b>Zohra Opoko</b> (Ghana), and <b>Charles Stankievech</b> (Canada).
      </p>
      <ArtistGlobe />
      <p>
        <i>The Last Museum</i> connects disparate sites, spanning six continents and the virtual sphere. It is an experiment that deploys a unique exhibition design—embracing the overlapping <i>analog</i> and <i>digital</i> dimensions of a given location while, additionally, exploiting the unique potentials of each for dramatic effect. Altogether, <i>The Last Museum</i> comprises an epic <i>para-site</i> that is most accessible through a web  interface.
      </p>
      <p>
        Each artist was commissioned to author a sculptural group, to be installed at an outdoor site of their own choosing. The choice was only limited by a request that it be associated with communication and connectivity. Final choices ended up highlighting both technical and more esoteric forms of transmissionand included a notorious hacker hangout (Berlins C-base), ancestral land in rural Australia, a down-at-heel electronics mall in downtown Sao Paolo, a neutrino observatory in the Rocky Mountains, and more.
      </p>
      <p>
        Each sculptural intervention was videoed by the artists, and the resulting clips (from all over the world) were handed over to a digital artist, <a href="https://asdf.us/" className="jules-link" target="_blank">Jules LaPlace</a>, who brought them together through a digital way-finding protocol; the exhibition’s ‘hang’. The public outcome, debuting as a pop-up window on the KW start page, is a website experience that unfolds as an interactive sequence of objects and places, navigable using bespoke tools. At times, these tools amount to additional (digital) artworks. Visitors will have a sense that that the exhibition is a wormhole, of sorts. 
      </p>
      <p>
        Some of the featured locations are associated with infrastructure and the World Wide Web, others include waterways and climate. Uniting these seemingly disparate aspects, a conceptual leitmotif of visually <i>grounding</i> planetary networks and other globe-spanning systems will be evident. Call it a <i>web-site-specific</i> projectin the sense that both art and exhibition design re-imagines the stakes of site-specificity for digital times. What this means is that <i>The Last Museum</i>’s ‘site’ is a layered reality or (to borrow a term from computational engineering) a ‘Stack’. Our exhibition-stack encompasses material facts on the ground, digital code, and softer site specificities—including those previously outlined by the art historian Miwon Kwon, such as ‘cultural debates, a theoretical concept, a historical condition, even particular formations of desire’. Each artwork in <i>The Last Museum</i> is a kind of a vector that intersects with all of the stacks layers.
      </p>
      <p>
        For visitors, <i>The Last Museum</i> will offer a blurring between cinema and website interactivity. The ability to stay with a moving image for as long as you want, pushing the edit along at your own pace, is not normally available as a filmic experience. In fact, it is more a province of gaming. Other interactions will include releasing files for download, accessing texts, switching soundtrack variations and more. All of these things will be artist directed and thus in no way interpretive or secondary materials.
      </p>
      <p>
        Rather than being a one-off exhibition, <i>The Last Museum</i> will ‘tour’ as a pop-up window on the start pages of partner institutions for fixed periods. In line with the project’s rejection of an ‘anywhere, anytime’ web imaginary, each touring iteration will acquire a new chapter—with an additional artist/site from the host institution’s country added to the navigable chain. As long as our colleagues’ are interested, it is possible that <i>The Last Museum</i> may tour and grow indefinitely—like the content of the web itself.
      </p>
      <p>
        This project was conceived during the first wave of COVID-19, amid heightened tensions between the conditions of physical lockdown and globe-spanning telecommunication. Although utterly international, its production required no travel for persons or artworks. When the exhibition opens, audiences will not have to travel to view it. While the development of such a format is not supposed to replace gallery experience, it is at least suggestive for how to approach a growing question in the museum sector: namely, how do analog artworks and digital space can come together a meaningful way? In fact, this is only half of the question: We must also explore how digital artworks can relate to analog space. <i>The Last Museum</i> attempts to work on both problems at the same time, creatively, playing with the issue of translation and re-representation in a bi-directional manner.
      </p>
      <p>
        At its core, The Last Museum explores how tangibility and distance interact, how things that seem fixed in place might (or do) escape in various forms. In a sense, then, it clear that we are dealing with an issue as old as art itself (albeit, employing contemporary tools). At least one of the exhibitions artists, Zohra Opoku, explicitly takes up an art-historical precursor for the crossing of spatial and metaphysical thresholds. The Egyptian Book of the Dead is her inspiration for a series of interventions in a half-built mortuary in Accra, Ghana. Draped with screen-printed fabric, the unfinished site is (literally) shrouded in images that stimulate reflection on how stillness and passage come together. In this work and more, the <i>The Last Museum</i> hovers somewhere between life and death, lockdown and escape.
      </p>
      <p>
        The Last Museum launches 30 April and runs until 6 June 2021, at <a href="https://www.kw-berlin.de/" target="_blank">www.kw-berlin.de</a>.
      </p>
    </div>
  </div>
)

const ArtistGlobe = () => (
  <div className="globe">
    <div className="globe-image">
      {Globe}
      {ARTIST_ORDER.map((key, index) => {
        const artist = ARTISTS[key]
        return (
          <div key={key} style={artist.globePosition} className="number" onClick={() => history.push(`/last-museum/${artist.start}`)}>
            {index + 1}
          </div>
        )
      })}
    </div>
  </div>
)