Comp(h)osting (with) our phones: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
 
(36 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Why a phone web-hosting session in this SI ? ==
* if we are going to explore alternative to the big centralized hosting, it's interesting to think how other devices that can web-host are situated. '''hosting on a phone is not any servers''', it also has SMS, battery optimization, we can put it in our pocket because it was made for that (not like a raspberry-pi), etc
* hosting on phone is a '''gossipy practice''', because '''we are using devices with personal history''' (maybe emotional attachment even) we can gossip about (it was my first phone, etc) and because of the portability of a phone (made to travel instead of staying on a shelf) it could becomes a handy temporary local server to deploy.
* by hosting inside of the school, '''we become a bit more aware of what is possible / or not possible in our local network infrastructure''', gossiping about our own infrastructural context (for example how we used Tommi's phone as a router - joking that phone where here client, server and router! instead of eduroam...) and sharing our IPs to visit each other in a local network ('''disconnected from the larger internet but intimate''')
== Sharing and discussing in the morning ==
===The mission is degrowth===
[[File:Mission-is-degrowth.jpg|400px|thumb]]
a video by Marie and Dasha we watched that debunk the myth of ecological transition, you can watch here!
https://dashailina.com/energy-academy/energy-academy-FR-sub.mp4
===Ivan Illich: ''Tools for Conviviality'' (1973)===
The complexity of objects makes it harder to be familiar with them. The bicycle as a positive example: You can repair it yourself (or with a community, people to people, gossip about what to do with a bike). You can see how it turns and how the mechanisms are working. Biking (and walking) allows you to grasp distances (still a feeling for the landscape and the people on the way). A bike is human sized—things that are too small (microchip) or too big (data centers) are harder to grasp and understand
===Compressed images===
Dithering has become an aesthetic for low tech websites. It is often used as green washing, sometimes the images are not even really dithered. Also, ''nostalgia''. There are options for compression that are less visible, but equally as effective. Ask questions such as: Do we need images? Do we need an option to comment? Interactivity? Can we use SVGs instead? Important: trigger a conversation about it. How do we not fall into the trap of a ''default'' aesthetic? If you do want to make a dithered image, there are many ways: PS, Gimp, python image library, ImageMagick
===Social practices===
The most sustainable act is using things communally: A bread oven used to be shared by a whole village. A printed book that is shared among friends uses less energy over time than loading and reloading a website. There is no decay, no upkeep. Marie's solar powered coffee pot takes long to make the first coffee, and can then be used more effectively. Multiple websites can point to the same image instead of hosting them individually. There's no need to offer a service to everyone at all times, it can be figured out on demand (e.g. sending full sized images only to people who ask)
== Gossip round ==
== Gossip round ==
* What was your first (smart)phone? What is the history of the device you brought in to convert into a server?
 
* Which OS are your running on your current phone? What are your favorite apps and why?
* What was your first (smart)phone?
* What is the history of the device you brought in to convert into a server?
* Which OS are your running on your current phone?
* What are your favorite apps and why?
 
the notes of our gossip round can be found in that pad: https://pad.xpub.nl/p/SI29-web_hosting_on_smartphone-090226


== Using smartphones to host websites ==
== Using smartphones to host websites ==
In the afternoon session, we started setting up the mobile phone servers. We largely followed this guide: [https://wiki.comphost.club/ Composting Mobile Phones - Hosting server on obsolete mobile phones]. Marie had brought a few phones to use, but for those running Android, it was also possible to use their own devices.
 
 
[[File:Nginx-on-phone.png|500px|thumb|doriane explaining nginx on phone and localhost using scri.ch]]
[[File:Phone-port.png|500px|thumb|doriane explaining port on phone using scri.ch]]
[[File:Marie-explaining.jpg|400px|thumb|marie explaining DNS from her comp(h)osting guide (wiki.comhosting.club)]]
 
In the afternoon session, we started setting up the mobile phone servers.  
 
We largely followed this guide: [https://wiki.comphost.club/ Composting Mobile Phones - Hosting server on obsolete mobile phones] made by Marie.
 
Marie had brought a few phones to use, but for those running Android, it was also possible to use their own devices.
We divided ourselves in group of 3, with mixed knowledge to follow the guide more or less autonomously but also waiting for each others at every step! We used least one android phone per group (IOS is sidequest) and signified we finished a step to the others by writting a + on the pad for that step.
 
Our inventory of phones was like:
 
* Fairphone 5
* huawei P9 lite 2016
* Xiami Mi A2 lite 2018
* Samsung Galaxy A20 2019
* One Plus
* Motorola edge qualcosa
* including a phone where the screen wasn't working (that would have been another interesting sidequest to see how we can make it work using an external screen and keyboard!)


The steps included:  
The steps included:  
1. connect all phones and laptops to the same WiFi.
 
1. Connect all phones and laptops to the same WiFi.
 
2. Download Termux on the phone.
2. Download Termux on the phone.
3. Download Termux API, open it and check the permission on
3. Download Termux API, open it and check the permission on
4. Install termux API (and test with termux-vibrate... brrrt).
4. Install termux API (and test with termux-vibrate... brrrt).
5. Install and run NGINX.
5. Install and run NGINX.
6. Edit the html page


To be able to edit the website from our website, we ssh'ed into our phones with our laptops. Using termux, we could do other fun things with our phones without touching them. For example:
6. Edit the html page.
 
Another later step was to install SSH on our phones! (mention in the guide too)
To be able to edit the website from our website, we ssh'ed into our phones with our laptops.
 
 
 
 
 
 
== Termux API & SSH (talking to the phone from the computer) ==
 
[[File:termux-api.png|300x300px|thumb|it's like astral projection but on our phones]]
 
Because we have termux API which is the thing that make the link between our hardware and the terminal termux through a set of command that can be found here: https://wiki.termux.com/wiki/Termux:API, we could do other fun things with our phones "without touching them" because of executing command over SSH (similarly to the [[Serving_Gossips | astral projection session with Kaa on Sergio]]). For example:
 
* turning the flashlight on and off
* turning the flashlight on and off
* changing the wallpaper on the phone
* changing the wallpaper on the phone
Line 21: Line 91:
* read SMS
* read SMS


== Links and resources gathered throughout the day ==
<div style="display: flex;">
[https://www.verdeil.net/ Marie!]
[[File:ChangingWallpaper.gif|alt=changing wallpaper|frameless]]
[[File:Termuxtorch.gif|frameless]]
</div>
 
== Barbara's iPhone webserver sidequest ==
 
I used this tutorial: https://www.igeeksblog.com/how-to-run-web-server-on-iphone/
 
# Install iSH & a code editor app (I used Runestone)
# Inside iSH:
## apk add python3
## python3 -m http.server
# In your settings, click on the info of your wifi network, to find your IP address.
# Open your browser
## View your website by typing: http://IPAddress:8000  http://localhost:8000
## There is no HTML yet..
# term
 
== Some ideas for hosting-on-smartphone specificity ==
 
[[File:Cross-protocol.png|500px|thumb|cross-protocol website possibilities!]]
[[File:Tree-on-phone.jpg|500px|thumb|the command tree being executed on a phone to reveal the file-system structure]]
 
* use the script of Marie to show information of the phone (battery, model, etc) on the front-end (https://gitlab.com/mar_ver/mobile-low-energy-server/-/tree/main/examples/material-server?ref_type=heads)
* make a website that trigger something on the phone everytime it's visited (torch on/off, vibrate, make a sound...)
* make an SMS powered website (cross-protocol posting)
** you can post on the website through SMS (meaning you can post on your website without having an internet connection!) by "texting your server"
** you can send SMS by clicking a button on a HTML front-end (like a newsletter) by "having the server text people"
* have your website shake with some CSS transform depending on the accelerometer of the server (so if the server-phone is in your backpack, the website shake as you walk)
 
== Not hosting but termux API cronjob idea ==
 
* have your app layout being shuffled every day
* have your wallpaper change everyday at random from a huge collection of picture
* have your phone doing something special on fullmoon/newmoon (would require another moon API)
 
== Links gathered throughout the day ==
[https://www.verdeil.net/ Marie!] (& [https://dashailina.com/ Dasha!])
 
[https://wiki.comphost.club/ wiki comphost guide by Marie]
 
[https://wiki.termux.com/wiki/Termux:API termux API documentation]


[https://solar.lowtechmagazine.com/ Low Tech Magazine]
[https://solar.lowtechmagazine.com/ Low Tech Magazine]


[https://pypi.org/project/dithering/ Making dithered images with python]
[https://pypi.org/project/dithering/ Making dithered images with python]
Ivan Illich: *Tools for Conviviality* (1973)


[https://clararigaud.com/ Clara Rigaud]
[https://clararigaud.com/ Clara Rigaud]


[https://www.webdesignmuseum.org/ Web Design Museum]
[https://www.webdesignmuseum.org/ Web Design Museum]
[[Category:SI29]]

Latest revision as of 11:28, 10 February 2026

Why a phone web-hosting session in this SI ?

  • if we are going to explore alternative to the big centralized hosting, it's interesting to think how other devices that can web-host are situated. hosting on a phone is not any servers, it also has SMS, battery optimization, we can put it in our pocket because it was made for that (not like a raspberry-pi), etc
  • hosting on phone is a gossipy practice, because we are using devices with personal history (maybe emotional attachment even) we can gossip about (it was my first phone, etc) and because of the portability of a phone (made to travel instead of staying on a shelf) it could becomes a handy temporary local server to deploy.
  • by hosting inside of the school, we become a bit more aware of what is possible / or not possible in our local network infrastructure, gossiping about our own infrastructural context (for example how we used Tommi's phone as a router - joking that phone where here client, server and router! instead of eduroam...) and sharing our IPs to visit each other in a local network (disconnected from the larger internet but intimate)

Sharing and discussing in the morning

The mission is degrowth

Mission-is-degrowth.jpg

a video by Marie and Dasha we watched that debunk the myth of ecological transition, you can watch here!

https://dashailina.com/energy-academy/energy-academy-FR-sub.mp4

Ivan Illich: Tools for Conviviality (1973)

The complexity of objects makes it harder to be familiar with them. The bicycle as a positive example: You can repair it yourself (or with a community, people to people, gossip about what to do with a bike). You can see how it turns and how the mechanisms are working. Biking (and walking) allows you to grasp distances (still a feeling for the landscape and the people on the way). A bike is human sized—things that are too small (microchip) or too big (data centers) are harder to grasp and understand

Compressed images

Dithering has become an aesthetic for low tech websites. It is often used as green washing, sometimes the images are not even really dithered. Also, nostalgia. There are options for compression that are less visible, but equally as effective. Ask questions such as: Do we need images? Do we need an option to comment? Interactivity? Can we use SVGs instead? Important: trigger a conversation about it. How do we not fall into the trap of a default aesthetic? If you do want to make a dithered image, there are many ways: PS, Gimp, python image library, ImageMagick

Social practices

The most sustainable act is using things communally: A bread oven used to be shared by a whole village. A printed book that is shared among friends uses less energy over time than loading and reloading a website. There is no decay, no upkeep. Marie's solar powered coffee pot takes long to make the first coffee, and can then be used more effectively. Multiple websites can point to the same image instead of hosting them individually. There's no need to offer a service to everyone at all times, it can be figured out on demand (e.g. sending full sized images only to people who ask)

Gossip round

  • What was your first (smart)phone?
  • What is the history of the device you brought in to convert into a server?
  • Which OS are your running on your current phone?
  • What are your favorite apps and why?

the notes of our gossip round can be found in that pad: https://pad.xpub.nl/p/SI29-web_hosting_on_smartphone-090226

Using smartphones to host websites

doriane explaining nginx on phone and localhost using scri.ch
doriane explaining port on phone using scri.ch
marie explaining DNS from her comp(h)osting guide (wiki.comhosting.club)

In the afternoon session, we started setting up the mobile phone servers.

We largely followed this guide: Composting Mobile Phones - Hosting server on obsolete mobile phones made by Marie.

Marie had brought a few phones to use, but for those running Android, it was also possible to use their own devices. We divided ourselves in group of 3, with mixed knowledge to follow the guide more or less autonomously but also waiting for each others at every step! We used least one android phone per group (IOS is sidequest) and signified we finished a step to the others by writting a + on the pad for that step.

Our inventory of phones was like:

  • Fairphone 5
  • huawei P9 lite 2016
  • Xiami Mi A2 lite 2018
  • Samsung Galaxy A20 2019
  • One Plus
  • Motorola edge qualcosa
  • including a phone where the screen wasn't working (that would have been another interesting sidequest to see how we can make it work using an external screen and keyboard!)

The steps included:

1. Connect all phones and laptops to the same WiFi.

2. Download Termux on the phone.

3. Download Termux API, open it and check the permission on

4. Install termux API (and test with termux-vibrate... brrrt).

5. Install and run NGINX.

6. Edit the html page.

Another later step was to install SSH on our phones! (mention in the guide too) To be able to edit the website from our website, we ssh'ed into our phones with our laptops.




Termux API & SSH (talking to the phone from the computer)

it's like astral projection but on our phones

Because we have termux API which is the thing that make the link between our hardware and the terminal termux through a set of command that can be found here: https://wiki.termux.com/wiki/Termux:API, we could do other fun things with our phones "without touching them" because of executing command over SSH (similarly to the astral projection session with Kaa on Sergio). For example:

  • turning the flashlight on and off
  • changing the wallpaper on the phone
  • using text to speech (only enabled by default on some devices)
  • recording with the phone's microphone
  • read SMS

changing wallpaper Termuxtorch.gif

Barbara's iPhone webserver sidequest

I used this tutorial: https://www.igeeksblog.com/how-to-run-web-server-on-iphone/

  1. Install iSH & a code editor app (I used Runestone)
  2. Inside iSH:
    1. apk add python3
    2. python3 -m http.server
  3.  In your settings, click on the info of your wifi network, to find your IP address.
  4.  Open your browser
    1.  View your website by typing: http://IPAddress:8000 http://localhost:8000
    2.  There is no HTML yet..
  5. term

Some ideas for hosting-on-smartphone specificity

cross-protocol website possibilities!
the command tree being executed on a phone to reveal the file-system structure
  • use the script of Marie to show information of the phone (battery, model, etc) on the front-end (https://gitlab.com/mar_ver/mobile-low-energy-server/-/tree/main/examples/material-server?ref_type=heads)
  • make a website that trigger something on the phone everytime it's visited (torch on/off, vibrate, make a sound...)
  • make an SMS powered website (cross-protocol posting)
    • you can post on the website through SMS (meaning you can post on your website without having an internet connection!) by "texting your server"
    • you can send SMS by clicking a button on a HTML front-end (like a newsletter) by "having the server text people"
  • have your website shake with some CSS transform depending on the accelerometer of the server (so if the server-phone is in your backpack, the website shake as you walk)

Not hosting but termux API cronjob idea

  • have your app layout being shuffled every day
  • have your wallpaper change everyday at random from a huge collection of picture
  • have your phone doing something special on fullmoon/newmoon (would require another moon API)

Links gathered throughout the day

Marie! (& Dasha!)

wiki comphost guide by Marie

termux API documentation

Low Tech Magazine

Making dithered images with python

Clara Rigaud

Web Design Museum