SI29/Our Digital Home: Difference between revisions

From XPUB & Lens-Based wiki
Line 132: Line 132:
|  |-- rooms
|  |-- rooms
|  |  |-- bedroom
|  |  |-- bedroom
|  |  |  |-- ana
|  |  |  |-- barbara
|  |  |  |-- blue
|  |  |  |-- emily
|  |  |  |-- issy
|  |  |  |-- maks
|  |  |  |-- marcel
|  |  |  |-- mary
|  |  |  |-- tommi
|  |  |  `-- youjung
|  |  |-- entrance
|  |  |-- entrance
|  |  |-- garden
|  |  |-- garden

Revision as of 17:22, 17 March 2026

Invitation image

This is a workshop by Youjung, Tommi and Barbs following the practices and research done during Special Issue 29.

🧠 Working documents

ℹ️ Introduction

Premise: this is to have an idea of what we want to do and for Doriane to revise. This is not meant to be the actual introduction to the workshop for the broader public. We will revise this text and make it more captivating and accessible.

When talking about privacy and social media, we are often led to question our digital identity. Nevertheless, all identities inhabit a home, like we do ourselves. What are our digital homes? How are they and who controls them?

This workshop will be a collective exploration of where our data, our work, and our memories live. Together, we will unmask the marketing depiction of the cloud as something remote and untangible, and we will concretely see that what we call “the Internet” is just a huge amount of more or less big computers all over the world.

Using a local device, we will replicate a little cloud, and play with it by uploading pictures and show that they can be accessed locally or via the Internet. Possibly, if time allows it, we will print the webpage we made and make a little zine about it.

Our digital home is a bit like our own home, we are opening the door to invite people in and to communicate with the world, while when it’s closed we want it to be our safe place. Same thing with ports in a connection.

🏠 Place

Tommi’s home. Playing with the concept of hosting a digital home in a home.

🧑‍🤝‍🧑 Crowds

People around us, or friends of friends who are not familiar with art and technology and who are puzzled by what we are doing in XPUB or in our life.

The context and environment we are aiming for is one of a social dinner or similar, so we will be limiting the participants to 7-9 people. 10-12 in total, including us.

💡 Key topics

  • Concept of digital home (subjective, artistic)
  • Materiality of the cloud

🤖 Technologies

  • A Raspberry Pi/a laptop/a smartphone
  • Participants’ own devices (phones will be ok, they just need to connect to a webpage)
  • Web server: Nginx
  • Tommi’s home’s WiFi
  • Web upload + publish pages: HTML, CSS, Python (with Jinja and Flask)
  • (meta)data(?)
  • Printer
  • Paper, glitter and thingies

🥰 Social practices

  • Round of introduction
  • Snacks and drinks together (menu: raspberry pie? 😜)
  • Sharing anecdotes of what digital home means, sharing personal files
  • Collective decision on what to publish online and what to keep locally
  • Making a zine collectively

⏰ Schedule

  • 🗓️ Saturday 14th March 2026 from 14:00 to 17:00.
  • ⏰ 3 hour

The full schedule is now in the pad, and it will be used as reference, then transcribed here.

🏗️ Preparation

📣 Communication and Promotion

Since we intend to have very few people, we will only reach out and invite participants directly by sending them the invitation graphic, also because we want to pursue the vibe of an intimate gathering.

🍓 Raspberry Pi’s configuration

The original idea was to install Raspberry Pi OS (basically Debian Trixie optimized for Raspberry Pi) on Tommi’s Raspberry Pi 4B. Nevertheless, two different issues made Tommi give up and use their already configured Raspberry Pi 5.

  1. Connect to WiFi sudo raspi-config
  2. See network information with ifconfig
  3. Create dedicated user: sudo useradd -m -s /bin/bash -G www-data ourdigitalhome && sudo passwd ourdigitalhome

Configure Nginx

We don’t install Nginx via APT, because we eant to use the latest Nginx version available and all its extra modules, so that we can take advantage of one of the super cool latest features that provides automatic certificate generation, therefore simplifying TLS encryption and allowing us to use HTTPS. Follow this guide.

Then we edit /etc/nginx/nginx.conf, inserting the following inside http {}:

resolver 8.8.8.8:53;
acme_issuer letsencrypt {
  uri         https://acme-v02.api.letsencrypt.org/directory;
  state_path  /var/cache/nginx/letsencrypt;
  accept_terms_of_service;
  ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
  ssl_verify on;
}

📡 Router configuration

These steps follow this guide from Homebrew Server.

  1. Find the router’s IP address
  2. Visit that IP address via browser
  3. In DHCP settings, add a rule to lock maintain the same local IP address for the Raspberry Pi
  4. Set port forwarding rules, so that public ports are mapped to specific ports of the device
  5. Set a dynamic DNS (DynDNS) service to keep a DNS server of a domain name up to date following the dynamic IP address of the local home network. Even if it relies on AWS, DuckDNS was the simplest and quickest solution.
    1. Create an account and choose a domain name on https://duckdns.org
    2. Go to the DynDNS page in the router and use the API token as the username, no password needed. The DNS should then be automatically pointed to the Raspberry Pi already.
Screenshot of DHCP settings from part of the Ziggo router interface.
Screenshot of the DDNS section of the Ziggo router interface.

📂 FileZilla & Server Box testing

We agreed that FileZilla is the most effective way to allow workshop participants to upload and move files around. For mobile users we used Server Box, it even provides terminal interface.

Screenshot of the configuration of FileZilla for Our Digital Home workshop.
screen shot of serverbox
screen shot of Server Box terminal interface

💻 Website Development

We used Jinja, a templating engine using python, to create the interface for workshop. We made a script that reads the directories and files and generates them into an html file. Project structure : Participants would add images and txt files in house/room folder. main.py would read these files and make this directory in to html files using the template.html. To update pages real time, we build_home.sh to run the main.py every 5 seconds.

.
|-- build_home.sh
|-- house
|   |-- bedroom_output.html
|   |-- Commit\ Mono.woff2
|   |-- entrance.html
|   |-- favicon.svg
|   |-- garden.html
|   |-- index.html
|   |-- key.html
|   |-- kitchen.html
|   |-- rooms
|   |   |-- bedroom
|   |   |-- entrance
|   |   |-- garden
|   |   `-- kitchen
|   `-- style.css
|-- main.py
|-- pyproject.toml
|-- template.html
`-- uv.lock

Main.py The python has 3 main functions.

  1. def read_txt_files : read .txt files and appends it to the html file as paragraph element<p>.
  2. def collect_pages : read and collect files from the directory using os.walk() method.
  3. def main : generate html pages using template.html

Template.html

The template.html consists three elements.

  1. title
  2. subfolders
  3. gallery - including text and images
  4. back link

Doriane’s first feedback

Moved to the discussion page.

Participant Feedback

Max

  • I thought uploading to the server was really engaging, we immediately got a personal connection to the digital home (great metaphor btw) and I was immediately a fan of what we were doing.
  • The reveal was well timed, and a good idea! I thought it was intriguing to follow along with you uploading exactly because we didn't really know what we were doing, and the explanation was a moment where everything "clicked" that felt good.
  • At a certain point I kind of lost the common thread when Tommi was showing things on the monitor, around the moment when we got the terminal cheatsheet. It went too fast to understand what the shortcuts were used for and I also felt lost in what the connection was between what we did previously and what was being explained.
  • It was a very stimulating (/pos) workshop! I got excited to start working with these technologies myself.
  • It was nice that the scale of the group was not too large, when I was struggling a few times Youjung was able to help me immediately which was nice.

🔄 Reflection

Youjung

1. Introducing the concept and key takeaway from the beginning

For the surprise we kept the explanation of the workshop abstract. But this left the participants more confused. One of the feedback we received was that during the file uploading exercise, they didn't know where this was going. And the effect of unplugging the raspberry pi was not that dramatic than we expected. Without knowing the subject and going through 2 hours might be exhausting for them.

2. The target audience and delivery

We invited people who are close to us. Most of them are not familiar with XPUB. Towards the end of the workshop a lot of them were confused of what is the takeaway from this session. We should have introduced the idea and what we are doing first and explain it in a less technical way. By the end of the workshop we were explaining a lot of things through the terminal, Ping, Traceroute, IP address and alternative cloud services, and this might have overwhelmed the guests. If we could explain it through social practice like breaking it down into a play or hands-on activity.

3. Metaphor of Home

We used the metaphor "Our Digital Home". What if we used this metaphor or concept more coherently throughout the workshop. For example, when we were explaining how to connect to Barbara's computer with Tommi's computer, it could've been explained as "Tommi visiting Barbara's home" and discuss on "Who is intruding our house and how are we giving permission to enter". This might've been a more easier way for the participants to connect to the idea as it's related to our life.

Barbara

  • I'm really proud of us that we were able to put all this together in a short time!! And that when we had technical issues we were able to troubleshoot or pivot when necessary on the fly. Of course the session had some hiccups but that is to be expected for the first ever time hosting the workshop!
  • At the beginning of the workshop there was a bit of an awkward atmosphere. I also think people were afraid to speak up throughout the workshop.. I wonder how we could have facilitated a more open space for discussion. It was a lot of us talking at the group instead of with them.
  • Max and Ana gave me the feedback that it was difficult for them to figure out the common thread of the workshop. Especially in the second half we introduced a lot of different concepts and terms and it felt overwhelming.
    • We could have shaved down all the different concepts more to one core skill we wanted to teach/explore. I think we were very enthusiastic and wanted to talk about a lot but in practice it made the workshop chaotic.
    • One thing I think would have helped is to use only FTP or only the terminal, but not both.
  • I agree with Youjung it would've been nice to make the workshop more engaging, interactive and use more metaphors and less technical terms. We started with the metaphor but didn't continue using it throughout the workshop.