SI26 3DS-Zine: Difference between revisions

From XPUB & Lens-Based wiki
 
(109 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:3DSZine.gif|center|488x488px]]
[[File:3DSWZC.png|frameless|560x560px|border|right]]
[[File:Flipp3DS.gif|right|frameless|395x395px]]
[[File:3dsnerds.jpg|thumb|423x423px|the nerds LOVE the 3DS]]
 
== Why ==
This SI fundamentally focuses on web-making as a craft, which is something that clearly emerged in the selected texts of the Reader.
 
Media archeology is also another big part of it, going back in time to explore forgotten devices and their workings (the plotters and the dot matrix printers)
 
From these two topics we decided to make something exclusive for one device, against the idea to make websites to accomodate all.
 
Shortly after we started looking into the Nintendo 3DS, and its unique individual peculiarities.


= The Nintendo 3DS =


== Specs ==
== Specs ==
On the browser's side there is an [https://en-americas-support.nintendo.com/app/answers/detail/a_id/13802/~/nintendo-3ds-internet-browser-specs official customer support page], though some information is maked loosely (ex. CSS3 some) so it is not completely reliable. In any case, the 3DS and the 3DSXL use the Netfront Browser NX v1.0 based on the WebKit engine.
[[File:Flipp3DS.gif|right|frameless|395x395px]]


=== ☻ Screens ===
<u>Upper screen:</u>
<u>Upper screen:</u>


Line 33: Line 42:
A device which does not support MPO cannot open and display the 3D image and may only display a JPG image version.
A device which does not support MPO cannot open and display the 3D image and may only display a JPG image version.


== Internet Browser ==
<big>'''[[MPO Files|Further info and research on MPOs!!!]]'''</big>
 
== First tests ==
Initially we tried to see what worked and what didn't by browsing a bit (checking if the wiki, the hub, the previous SI website and so on, worked).
 
Then we made our own pages to test further.
 
'''10/02/25'''


=== '''☻''' NetFront Browser NX ===
Our first little experiments were mostly about creating websites and seeing how they work on the 3DS. We made a website with text, a website using images and Gifs and one website to load a 3D image (.mpo).


<gallery mode="nolines" widths="200">
File:3ds 23.JPG
File:3ds 25.JPG
File:3ds 33.JPG
File:3ds 03.png
File:3ds 04.png
File:3ds 08.png
File:3ds 35.png
</gallery>After these first experiments, we decided to start doing '''Acid Tests'''. And purposefully document <u>what works and what does not</u> on the Nintendo 3DS and the Kindle. Additionally, we decided to use this research to come up with '''strategies''', to exploit the differences in the different browser capabilities to create webpages for the specific devices' browser.
'''14/03/25'''


The 3DS XL is way faster than a regular 3DS!


= 3DS Browser vs CSS =
The h1, h2, [...] hierarchy will always prevail over the font-size we try to define by using /vh/ and /vw/ units. That stops when we use pixels though??
 
== More organized tests ==
[[File:0123daf87f2c1a420f0f171497f8190d.jpg|thumb]]
 
Doriane introduced us to Acid3, a test web page that checks a browser's compatibility with various web standards.
 
From there we made our own
[https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/tests/xpub_acid.html Acid-esque page] to check which properties in CSS2 were working in a visual way.


=== <big>[https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/xpub_acid.html ☺ ACID TESTS ☺]</big> ===
we still need to run tests regarding positions and displays for the kindle/tolino
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 55: Line 89:
|-
|-
|<code style="background-color: LightBlue;><audio></code>
|<code style="background-color: LightBlue;><audio></code>
|
|
|
|
|
|
|
|
|-
|-
|<code style="background-color: LightBlue;><nowiki><b></nowiki></code>
|<code style="background-color: LightBlue;><nowiki><b></nowiki></code>
|
|
|
|
|
|
|
|
Line 73: Line 107:
|-
|-
|<code style="background-color: LightBlue;><nowiki><br></nowiki></code>
|<code style="background-color: LightBlue;><nowiki><br></nowiki></code>
|
|
|
|
|
|
|
|
Line 159: Line 193:
|☒
|☒
|✓
|✓
|
|<small>works on 3DS but loads really slow</small>
|
|
|-
|-
Line 165: Line 199:
|☒
|☒
|✓
|✓
|
|<small>works on 3DS but loads really slow</small>
|
|
|-
|-
Line 171: Line 205:
|✓
|✓
|✓
|✓
|gif are slow on kindle, but working
|<small>fastest loading 'image' format</small> <small>& animations work but are slowed</small>
|
|<small>could use high fps -> slowed on 3DS</small>
|-
|<code style="background-color: LightBlue;">.mpo</code>
|✓
|☒
|<small>3D image -> opens the image in new tab</small>
|<small>we should take fun pictures with the 3DS</small>
|-
|-
|<code style="background-color: Pink;>background-color:</code>
|<code style="background-color: Pink;>background-color:</code>
|✓
|✓
|
|
|☹ Gradients do not work ☹
|<small>☹ Gradients do not work ☹</small>
|
|<small>could try gradients that obscure the text on the browser</small>
|-
|-
|<code style="background-color: Pink;>font-family:</code>
|<code style="background-color: Pink;>font-family:</code>
|☒
|☒
|
|
|Only default font: '''RodinNTLG'''
|<small>'''3DS:''' default font <u>RodinNTLG</u> only</small>
possible to embed fonts for kindle
<small>'''Kindle:''' Embedded font possible</small>
|
|<small>dingbat font (symbols) to 'encrypt' the text</small>
|-
|-
|<code style="background-color: Pink;>font-style: normal;</code>
|<code style="background-color: Pink;>font-style: normal;</code>
|
|
|
|
|
|
|
|
|-
|-
|<code style="background-color: Pink;>font-style: italic;</code>
|<code style="background-color: Pink;>font-style: italic;</code>
|
|
|
|
|
|
|
|
|-
|-
|<code style="background-color: Pink;>font-style: oblique;</code>
|<code style="background-color: Pink;>font-style: oblique;</code>
|
|
|
|?
|
|
|
|
|-
|-
|<code style="background-color: Pink;>font-weight: normal;</code>
|<code style="background-color: Pink;>font-weight: normal;</code>
|
|
|
|
|
|
|
|
|-
|-
|<code style="background-color: Pink;>font-weight: bold;</code>
|<code style="background-color: Pink;>font-weight: bold;</code>
|
|
|
|
|
|
|
|
Line 219: Line 259:
|<code style="background-color: Pink;>font-size:</code>
|<code style="background-color: Pink;>font-size:</code>
|✓
|✓
|
|
|
|
|
|
Line 226: Line 266:
|✓
|✓
|
|
|
|<small>'''3DS:''' not super reliable! Sometimes puts extra margins between divs</small>
|
|<small>we could exploit the 'unwanted' margins</small>
|-
|-
|<code style="background-color: Pink;>text-align: left;</code>
|<code style="background-color: Pink;>text-align: left;</code>
|✓
|✓
|
|
|
|
|
|
Line 237: Line 277:
|<code style="background-color: Pink;>text-align: right;</code>
|<code style="background-color: Pink;>text-align: right;</code>
|✓
|✓
|
|
|
|
|
|
Line 243: Line 283:
|<code style="background-color: Pink;>text-align: center;</code>
|<code style="background-color: Pink;>text-align: center;</code>
|✓
|✓
|
|
|
|
|
|
Line 255: Line 295:
|<code style="background-color: Pink;>color:</code>
|<code style="background-color: Pink;>color:</code>
|✓
|✓
|
|
|
|
|
|
|-
|-
|<code style="background-color: Pink;>line-height:</code>
|<code style="background-color: Pink;>line-height:</code>
|☒
|☒? ✓
|
|
|
|Only works with px, not vw or vh or em/rem
|
|
|-
|-
|<code style="background-color: Pink;>border:</code>
|<code style="background-color: Pink;>border:</code>
|
|
|
|
|
|
|
|
Line 273: Line 313:
|<code style="background-color: Pink;>border-radius:</code>
|<code style="background-color: Pink;>border-radius:</code>
|⍰
|⍰
|
|
|
|for 3DS, works with fixed units, not ratios
|
|
|-
|-
|<code style="background-color: Pink;>-webkit-text-stroke:</code>
|<code style="background-color: Pink;>-webkit-text-stroke:</code>
|☒
|☒
|
|
|
|
|
|
Line 285: Line 325:
|<code style="background-color: Pink;>text-indent:</code>
|<code style="background-color: Pink;>text-indent:</code>
|✓
|✓
|
|
|
|
|
|
Line 291: Line 331:
|<code style="background-color: Pink;>text-shadow:</code>
|<code style="background-color: Pink;>text-shadow:</code>
|☒
|☒
|
|
|
|<small>works on kindle but without colors obviously</small>
|
|
|-
|-
|<code style="background-color: Pink;>text-decoration-line: underline;</code>
|<code style="background-color: Pink;>text-decoration-line: underline;</code>
|✓
|✓
|
|
|
|
|
|
Line 303: Line 343:
|<code style="background-color: Pink;>text-decoration-line: overline;</code>
|<code style="background-color: Pink;>text-decoration-line: overline;</code>
|✓
|✓
|
|
|
|
|
|
Line 309: Line 349:
|<code style="background-color: Pink;>text-decoration-line: line-through;</code>
|<code style="background-color: Pink;>text-decoration-line: line-through;</code>
|✓
|✓
|
|
|
|
|
|
|-
|-
|<code style="background-color: Pink;>text-decoration-line: overline underline;</code>
|<code style="background-color: Pink;>text-decoration-line: overline underline;</code>
|☒
|✓
|✓
|
|
|
|
|
Line 321: Line 361:
|<code style="background-color: Pink;>text-decoration-style: solid;</code>
|<code style="background-color: Pink;>text-decoration-style: solid;</code>
|⍰
|⍰
|
|
|
|
|
|
Line 327: Line 367:
|<code style="background-color: Pink;>text-decoration-style: double;</code>
|<code style="background-color: Pink;>text-decoration-style: double;</code>
|☒
|☒
|
|
|
|
|
|
Line 333: Line 373:
|<code style="background-color: Pink;>text-decoration-style: dashed;</code>
|<code style="background-color: Pink;>text-decoration-style: dashed;</code>
|☒
|☒
|
|
|
|
|
|
Line 339: Line 379:
|<code style="background-color: Pink;>text-decoration-style: dotted;</code>
|<code style="background-color: Pink;>text-decoration-style: dotted;</code>
|☒
|☒
|
|
|
|
|
|
Line 345: Line 385:
|<code style="background-color: Pink;>text-decoration-style: wavy;</code>
|<code style="background-color: Pink;>text-decoration-style: wavy;</code>
|☒
|☒
|
|
|
|
|
|
Line 351: Line 391:
|<code style="background-color: Pink;>text-decoration-thickness:</code>
|<code style="background-color: Pink;>text-decoration-thickness:</code>
|☒
|☒
|
|
|
|
|
|
Line 357: Line 397:
|<code style="background-color: Pink;>text-transform: uppercase;</code>
|<code style="background-color: Pink;>text-transform: uppercase;</code>
|✓
|✓
|
|
|
|
|
|
Line 363: Line 403:
|<code style="background-color: Pink;>text-transform: lowercase;</code>
|<code style="background-color: Pink;>text-transform: lowercase;</code>
|✓
|✓
|
|
|
|
|
|
Line 369: Line 409:
|<code style="background-color: Pink;>text-transform: capitalize;</code>
|<code style="background-color: Pink;>text-transform: capitalize;</code>
|☒
|☒
|
|
|
|
|
|
Line 375: Line 415:
|<code style="background-color: Pink;>letter-spacing:</code>
|<code style="background-color: Pink;>letter-spacing:</code>
|✓
|✓
|
|
|
|
|
|
Line 381: Line 421:
|<code style="background-color: Pink;>word-spacing:</code>
|<code style="background-color: Pink;>word-spacing:</code>
|✓
|✓
|
|
|
|
|
|
Line 387: Line 427:
|<code style="background-color: Pink;>white-space: wrap;</code>
|<code style="background-color: Pink;>white-space: wrap;</code>
|✓
|✓
|
|
|
|
|
|
|-
|-
|<code style="background-color: Pink;>white-space: nowrap;</code>
|<code style="background-color: Pink;>white-space: nowrap;</code>
|✓
|✓
|✓
|
|
|
|
|-
||<code style="background-color: Pink;>@media only screen and (max-width: 400px)</code>
|✓
|?
|
|
|We can make a page visible only on 3DS using its exact measurements
|-
|-
|<code style="background-color: Pink;">position: static;</code>
|☒
|
|
|
|
|
|-
|<code style="background-color: Pink;">position: relative;</code>
|✓
|
|
|
|-
|<code style="background-color: Pink;">position: fixed;</code>
|☒
|
|imma cry.
|
|-
|<code style="background-color: Pink;">position: absolute;</code>
|✓
|
|
|
|-
|<code style="background-color: Pink;">position: sticky;</code>
|☒
|
|
|
|
Line 404: Line 475:
|}
|}
[[File:Screenshot 2025-02-17 135933.png|frameless|722x722px]]
[[File:Screenshot 2025-02-17 135933.png|frameless|722x722px]]
This actually changed when we realised we can use some vanilla javascript....
{| class="wikitable"
|+ UNITS
|-
! Unit !! Laptop !! 3DS/XL
!3DS/XL Comments!! Kindle !! Kindle Comments
|-
| px || ✓ || ✓
| || ✓ ||
|-
| vh || ✓ || ☒ (✓)
|works for objects and divs, not for text with h1, h2 etc|| ✓ ||
|-
| vw || ✓ || ☒
| || ✓ ||
|-
|em
|
|
|
|
|
|-
|%
|✓
|☒
|
|
|
|-
|
|
|
|
|
|
|}
== Strategies ==
Since CSS does not break the whole page when something is not supported. From what we learned during our tests we came up with the following strategies:
*empty or custom fonts are not recognized on the 3DS.
*opacity 0% becomes opacity 100% on the 3DS. sidenote: opacity 0-1 works.
*making faster gifs to counter the way the 3DS processes them (it plays them half the speed).
*using imagemagick to compress image sizes and to make graphics that use fonts, since the 3DS does not support the usage of any.
== Scope ==
The question of scope came up multiple times while working on this project, in the end we agreed that we would like to convey mainly curiosity and exploration for now. 
We could go deeper, making our own cartridges, going into brewing and emulation are interesting topics, but for now we believe that at this stage, this is not the main point of this project.
We also used a Kindle during our main tests, the reason was that it uses the same browser that the Nintendo 3DS uses, but we will not include it in the scope of the final project, to avoid doubling the work of creating webpages that take into consideration the way the Kindle renders them.
== Webzine Concept ==
[[File:Storyline meeting.jpg|thumb|396x396px|Storyline meeting]]
During our meetings in week(?) and (?), we decide to construct the 3DS webzine like a <u>dungeon escape game</u> through which the reader navigates and explores the 3DS browser properties.
Each dungeon room and pathway showing different aspects of our research and the strategies we came up with through the acid tests and experiments. Including small clues and simple visual puzzles hidden by exploiting the browser's properties. At the same time, the desktop browser version would be designed in a way that makes it virtually impossible to view the zine properly. Hence, creating a 3DS ONLY webzine.
These strategic narrative bits would be for example: MPOs with hidden passwords and maps, goblins that are only click-able on the 3DS, ancient scrolls that are only deciphered by the 3DS font reset, etc. 
== Webzine Room Structure ==
{| class="wikitable"
{| class="wikitable"
|+
|+
!Page title
!Link
!Type
!Description
!Made by
!Assets ✓
!Page ✓
|-
|Comic
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_01.html Room 1]
|Intro
|4-panel comic
|Tessa
|✓
|assets in, in need of styling
|-
|Spiral
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_02.html Room 2]
|Intro
|Spiral animation
|Tessa
|✓
|DONE✓
|-
|Startscreen
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_03.html Room 3]
|Intro
|Start screen
|Tessa
|✓
|DONE✓
|-
|Entrance
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_04.html Room 4]
|Entrance
|Door
|Charlie
|✓
|DONE✓
|-
|Instruction
|Room 4.2
|Scroll
|Scroll w/ play instruction
|Charlie
|✓ missing final text
|DONE✓
|-
|Goblin 1
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_05.html Room 5]
|Goblin
|
|Claudio
|
|
|-
|Corridor 1
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_06.html Room 6]
|Corridor
|
|Charlie
|✓
|DONE✓
|-
|Opacity
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_07.html Room 7]
|Strategy
|
|Charlie
|
|DONE✓
|-
|Password
|<s>Room</s> 8
|MPO
|
|Charlie
|
|
|-
|Trapdoor
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_09.html Room 9]
|Trap
|
|Eleni
|✓
|DONE✓
|-
|Corridor 2
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_10.html Room 10]
|Corridor
|
|Charlie
|✓ fixed
|DONE✓
|-
|Map
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_11.html Room 11]
|Strategy
|
|Eleni
|
|DONE✓
|-
|Runes
|[https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_12.html Room 12]
|MPO
|
|Eleni
|
|DONE✓
|-
|Goblin 2
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_13.html Room 13]
|Goblin
|
|Claudio
|
|
|-
|Password
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_14.html Room 14]
|Password
|typed in pass
|Eleni
|
|DONE✓
|-
|Font?
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_15.html Room 15]
|Strategy
|Riddle through text
|Charlie + Claudio?
|
|DONE✓
|-
|Library
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_16.html Room 16]
|Room
|
|Tessa
|✓
|DONE
|-
|Manifesto
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_17.html Room 17]
|Text
|
|Tessa + Claudio
|✓
|DOOOONE
|-
|Doorway
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_18.html Room 18]
|Strategy
|
|Charlie
|breaks too much,
doors might need
to be compressed
|
|-
|Rune Door
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_19.html Room 19]
|Password
|rune pass
|Eleni
|
|DONE✓
|-
|EXIT
|[Https://hub.xpub.nl/cerealbox/SI26/projects/a_3Ds_zine/structure/room_20.html Room 20]
|Credits
|
|Everyone sorta
|
|
|-
|Death
|
|R.I.P.
|
|Charlie
|✓
|
|}
== Special Issue Event ==
[[File:Mock-up 3.jpg|left|thumb|Mock set-up for the special issue event at Page Not Found]]
[[File:SI26.png|right|frameless|467x467px]]
=== Presentation ===
At the event at Page Not Found, we want to build a pillow fort in which the audience can sit down and look at the 3DS zine.
To set this up, we need:
* Multiple pillows
* Blankets
* 2 to 3 small tables
* Desktop Monitor (to view to 'regular' browser version of the zine)
* Canopy
* Space: 2,5m X 2,5m corner
=== Preparation/Advertisement ===
# Make a '''"call for devices'''", to ask people to bring their own 3DS to the event.
# Make some mock advertisement that is the opposite of today's marketing slogans  (f.ex: "works on all devices" web banners).
== Post-SI26-Event ==
=== Feedback & Observations ===
* The game seemed much harder to the audience than expected
== References ==
https://pad.xpub.nl/p/3DS_Browser_Investigation
https://www.copetti.org/writings/consoles
https://en.wikipedia.org/wiki/Nintendo_3DS#Internet_browser
https://en.wikipedia.org/wiki/Nintendo_3DS#Hardware
https://en-americas-support.nintendo.com/app/answers/detail/a_id/13802/~/nintendo-3ds-internet-browser-specs


|}


= Experiments =
https://en.wikipedia-on-ipfs.org/wiki/Access_(company)


== First Tries - 10/02/25 ==
<gallery mode="slideshow">
File:3ds 23.JPG
File:3ds 25.JPG
File:3ds 33.JPG
File:3ds 03.png
File:3ds 04.png
File:3ds 08.png
File:3ds 35.png
</gallery>


= References =
https://pzwiki.wdka.nl/mediadesign/ImageMagick
PAD: [https://pad.xpub.nl/p/3DS_Browser_Investigation '''3DS Browser Investigation & Notes''']


'''[https://en-americas-support.nintendo.com/app/answers/detail/a_id/13802/~/nintendo-3ds-internet-browser-specs 3DS Internet Browser Specs]'''
[[Category:SI26]]
[[Category:SI26]]

Latest revision as of 14:32, 22 April 2025

3DSWZC.png
the nerds LOVE the 3DS

Why

This SI fundamentally focuses on web-making as a craft, which is something that clearly emerged in the selected texts of the Reader.

Media archeology is also another big part of it, going back in time to explore forgotten devices and their workings (the plotters and the dot matrix printers)

From these two topics we decided to make something exclusive for one device, against the idea to make websites to accomodate all.

Shortly after we started looking into the Nintendo 3DS, and its unique individual peculiarities.


Specs

On the browser's side there is an official customer support page, though some information is maked loosely (ex. CSS3 some) so it is not completely reliable. In any case, the 3DS and the 3DSXL use the Netfront Browser NX v1.0 based on the WebKit engine.

Flipp3DS.gif

Upper screen:

  • LCD screen
  • 5:3
  • 400 x 240 pixels (2 layered screens -> 3D effect using MPO)

Bottom screen:

  • LCD screen
  • 4:3
  • 320 x 240 pixels
  • resistive touchscreen (pressure sensitive)

☻ 3D Effect

The upper screen has two superimposed LCD screens. When 3D-effect is active, the two screens slightly shift to the left and right respectively, which creates a 3-dimensional effect. 400 x 240 pixels per screen. The 3D view can be adjusted using the depth slider.

☻ Cameras

The 3DS has 3 camera lenses. One inner camera, and two outside camera lenses able to take 3D pictures.

Regular pictures are in the JPG format. 3D pictures are in the MPO (Multi-Picture Object Bitmap file) format.

☻ MPO

An MPO file contains two JPG images. By reading a MPO file with a supporting device, the 2D JPGS create a 3D image.

A device which does not support MPO cannot open and display the 3D image and may only display a JPG image version.

Further info and research on MPOs!!!

First tests

Initially we tried to see what worked and what didn't by browsing a bit (checking if the wiki, the hub, the previous SI website and so on, worked).

Then we made our own pages to test further.

10/02/25

Our first little experiments were mostly about creating websites and seeing how they work on the 3DS. We made a website with text, a website using images and Gifs and one website to load a 3D image (.mpo).

After these first experiments, we decided to start doing Acid Tests. And purposefully document what works and what does not on the Nintendo 3DS and the Kindle. Additionally, we decided to use this research to come up with strategies, to exploit the differences in the different browser capabilities to create webpages for the specific devices' browser.

14/03/25

The 3DS XL is way faster than a regular 3DS!

The h1, h2, [...] hierarchy will always prevail over the font-size we try to define by using /vh/ and /vw/ units. That stops when we use pixels though??

More organized tests

0123daf87f2c1a420f0f171497f8190d.jpg

Doriane introduced us to Acid3, a test web page that checks a browser's compatibility with various web standards.

From there we made our own Acid-esque page to check which properties in CSS2 were working in a visual way.

HTML + CSS + JavaScript 3DS

Browser

Kindle

Browser

Note Counter

Strategy

<audio>
<b>
<blockquote>
<br>
<button>
<code>
<h1> to <h6>
<iframe>
<link>
<object>
<p>
<picture>
<small>
<span>
<svg>
<table>
<title>
.jpg works on 3DS but loads really slow
.png works on 3DS but loads really slow
.gif fastest loading 'image' format & animations work but are slowed could use high fps -> slowed on 3DS
.mpo 3D image -> opens the image in new tab we should take fun pictures with the 3DS
background-color: ☹ Gradients do not work ☹ could try gradients that obscure the text on the browser
font-family: 3DS: default font RodinNTLG only

Kindle: Embedded font possible

dingbat font (symbols) to 'encrypt' the text
font-style: normal;
font-style: italic;
font-style: oblique; ?
font-weight: normal;
font-weight: bold;
font-size:
margin: 3DS: not super reliable! Sometimes puts extra margins between divs we could exploit the 'unwanted' margins
text-align: left;
text-align: right;
text-align: center;
text-align: justify;
color:
line-height: ☒? ✓ Only works with px, not vw or vh or em/rem
border:
border-radius: for 3DS, works with fixed units, not ratios
-webkit-text-stroke:
text-indent:
text-shadow: works on kindle but without colors obviously
text-decoration-line: underline;
text-decoration-line: overline;
text-decoration-line: line-through;
text-decoration-line: overline underline;
text-decoration-style: solid;
text-decoration-style: double;
text-decoration-style: dashed;
text-decoration-style: dotted;
text-decoration-style: wavy;
text-decoration-thickness:
text-transform: uppercase;
text-transform: lowercase;
text-transform: capitalize;
letter-spacing:
word-spacing:
white-space: wrap;
white-space: nowrap;
@media only screen and (max-width: 400px) ? We can make a page visible only on 3DS using its exact measurements
position: static;
position: relative;
position: fixed; imma cry.
position: absolute;
position: sticky;

Screenshot 2025-02-17 135933.png

This actually changed when we realised we can use some vanilla javascript....

UNITS
Unit Laptop 3DS/XL 3DS/XL Comments Kindle Kindle Comments
px
vh ☒ (✓) works for objects and divs, not for text with h1, h2 etc
vw
em
%

Strategies

Since CSS does not break the whole page when something is not supported. From what we learned during our tests we came up with the following strategies:

  • empty or custom fonts are not recognized on the 3DS.
  • opacity 0% becomes opacity 100% on the 3DS. sidenote: opacity 0-1 works.
  • making faster gifs to counter the way the 3DS processes them (it plays them half the speed).
  • using imagemagick to compress image sizes and to make graphics that use fonts, since the 3DS does not support the usage of any.


Scope

The question of scope came up multiple times while working on this project, in the end we agreed that we would like to convey mainly curiosity and exploration for now.

We could go deeper, making our own cartridges, going into brewing and emulation are interesting topics, but for now we believe that at this stage, this is not the main point of this project.

We also used a Kindle during our main tests, the reason was that it uses the same browser that the Nintendo 3DS uses, but we will not include it in the scope of the final project, to avoid doubling the work of creating webpages that take into consideration the way the Kindle renders them.

Webzine Concept

Storyline meeting

During our meetings in week(?) and (?), we decide to construct the 3DS webzine like a dungeon escape game through which the reader navigates and explores the 3DS browser properties.

Each dungeon room and pathway showing different aspects of our research and the strategies we came up with through the acid tests and experiments. Including small clues and simple visual puzzles hidden by exploiting the browser's properties. At the same time, the desktop browser version would be designed in a way that makes it virtually impossible to view the zine properly. Hence, creating a 3DS ONLY webzine.

These strategic narrative bits would be for example: MPOs with hidden passwords and maps, goblins that are only click-able on the 3DS, ancient scrolls that are only deciphered by the 3DS font reset, etc.

Webzine Room Structure

Page title Link Type Description Made by Assets ✓ Page ✓
Comic Room 1 Intro 4-panel comic Tessa assets in, in need of styling
Spiral Room 2 Intro Spiral animation Tessa DONE✓
Startscreen Room 3 Intro Start screen Tessa DONE✓
Entrance Room 4 Entrance Door Charlie DONE✓
Instruction Room 4.2 Scroll Scroll w/ play instruction Charlie ✓ missing final text DONE✓
Goblin 1 Room 5 Goblin Claudio
Corridor 1 Room 6 Corridor Charlie DONE✓
Opacity Room 7 Strategy Charlie DONE✓
Password Room 8 MPO Charlie
Trapdoor Room 9 Trap Eleni DONE✓
Corridor 2 Room 10 Corridor Charlie ✓ fixed DONE✓
Map Room 11 Strategy Eleni DONE✓
Runes Room 12 MPO Eleni DONE✓
Goblin 2 Room 13 Goblin Claudio
Password Room 14 Password typed in pass Eleni DONE✓
Font? Room 15 Strategy Riddle through text Charlie + Claudio? DONE✓
Library Room 16 Room Tessa DONE
Manifesto Room 17 Text Tessa + Claudio DOOOONE
Doorway Room 18 Strategy Charlie breaks too much,

doors might need to be compressed

Rune Door Room 19 Password rune pass Eleni DONE✓
EXIT Room 20 Credits Everyone sorta
Death R.I.P. Charlie


Special Issue Event

Mock set-up for the special issue event at Page Not Found
SI26.png

Presentation

At the event at Page Not Found, we want to build a pillow fort in which the audience can sit down and look at the 3DS zine.

To set this up, we need:

  • Multiple pillows
  • Blankets
  • 2 to 3 small tables
  • Desktop Monitor (to view to 'regular' browser version of the zine)
  • Canopy
  • Space: 2,5m X 2,5m corner

Preparation/Advertisement

  1. Make a "call for devices", to ask people to bring their own 3DS to the event.
  2. Make some mock advertisement that is the opposite of today's marketing slogans (f.ex: "works on all devices" web banners).


Post-SI26-Event

Feedback & Observations

  • The game seemed much harder to the audience than expected

References

https://pad.xpub.nl/p/3DS_Browser_Investigation


https://www.copetti.org/writings/consoles


https://en.wikipedia.org/wiki/Nintendo_3DS#Internet_browser


https://en.wikipedia.org/wiki/Nintendo_3DS#Hardware


https://en-americas-support.nintendo.com/app/answers/detail/a_id/13802/~/nintendo-3ds-internet-browser-specs


https://en.wikipedia-on-ipfs.org/wiki/Access_(company)


https://pzwiki.wdka.nl/mediadesign/ImageMagick