JoanaChicau
1 year ago
4 changed files with 253 additions and 0 deletions
Binary file not shown.
Binary file not shown.
@ -0,0 +1,253 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html> |
||||
|
<head> |
||||
|
<meta content="text/html; charset=utf-8" http-equiv="content-type"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes"> |
||||
|
<meta name="description" content="Design and Code by Joana Chicau"> |
||||
|
<meta name="keywords" content="design, choreography, physical, digital, web, creative coding, choreography"> |
||||
|
<meta name="author" content="Joana Chicau"> |
||||
|
<title>choreographing YOU</title> |
||||
|
|
||||
|
|
||||
|
<style> |
||||
|
|
||||
|
@font-face { |
||||
|
font-family: 'CirrusCumulus', sans-serif; |
||||
|
src: |
||||
|
url('fonts/CirrusCumulus.woff') format('woff'); |
||||
|
} |
||||
|
|
||||
|
@font-face { |
||||
|
font-family: 'Movement-L'; |
||||
|
src: url('fonts/Movement-IndirectThin.woff2') format('woff2'); |
||||
|
font-weight: light; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
:root { |
||||
|
--color-black: #00001a; |
||||
|
--color-graylight: #edecec ; |
||||
|
--color-graydark: #636363; |
||||
|
--color-blue: #4f1dff; |
||||
|
--color-lightpink: #e5c0ff; |
||||
|
--color-pink: #DA70D6D4; |
||||
|
--body-font-B: 'CirrusCumulus'; |
||||
|
--body-font-L: 'Movement-L'; |
||||
|
|
||||
|
--title-fontsize: calc(32px + 1.5vw); |
||||
|
--body-fontsize: calc(14px + 6 * (100vw - 320px) / 1600); |
||||
|
--body-fontsize-s: calc(11px + 6 * (100vw - 320px) / 1600); |
||||
|
--bg-fontsize: 60vw; |
||||
|
} |
||||
|
|
||||
|
body { |
||||
|
color: var(--color-bluedark); |
||||
|
background: var(--color-graylight); |
||||
|
} |
||||
|
|
||||
|
div.prompts { |
||||
|
font-family: var(--body-font-B); |
||||
|
margin: 10%; |
||||
|
padding: 5%; |
||||
|
border-radius: 6rem; |
||||
|
background: var(--color-pink); |
||||
|
box-shadow: 5px 5px 5px var(--color-lightpink); |
||||
|
opacity: 0.9; |
||||
|
} |
||||
|
|
||||
|
p#choreoPrompts { |
||||
|
font-size: var(--title-fontsize); |
||||
|
} |
||||
|
|
||||
|
p.colophon { |
||||
|
font-family: var(--body-font-B); |
||||
|
font-size: var(--body-fontsize); |
||||
|
} |
||||
|
|
||||
|
p.colophon a { |
||||
|
font-family: var(--body-font-B); |
||||
|
font-size: var(--body-fontsize); |
||||
|
color: var(--color-blue); |
||||
|
text-decoration: none; |
||||
|
} |
||||
|
|
||||
|
p.colophon a:hover { |
||||
|
text-decoration:underline; |
||||
|
} |
||||
|
|
||||
|
button { |
||||
|
font-family: var(--body-font-B); |
||||
|
font-size: var(--body-fontsize); |
||||
|
font-weight: bold; |
||||
|
padding: 1%; |
||||
|
border-radius: 6rem; |
||||
|
border: 1px solid var(--color-blue); |
||||
|
color: var(--color-blue); |
||||
|
background: transparent; |
||||
|
cursor: grab; |
||||
|
} |
||||
|
|
||||
|
#choreoPromptsButton { |
||||
|
margin: 5% 5%; |
||||
|
position: absolute; |
||||
|
top: 0; |
||||
|
left: 0; |
||||
|
z-index: 1000; |
||||
|
animation: blink 3s infinite alternate; |
||||
|
-webkit-animation: blink 3s infinite alternate; |
||||
|
} |
||||
|
|
||||
|
@keyframes blink { |
||||
|
0% { box-shadow: 0.5px 0.5px 0.5px var(--color-pink) } |
||||
|
100% { box-shadow: 5px 5px 10px var(--color-pink); } |
||||
|
} |
||||
|
|
||||
|
button#choreoPromptsButton:hover { |
||||
|
animation: none; |
||||
|
box-shadow: inset 5px 5px 5px var(--color-lightpink); |
||||
|
} |
||||
|
|
||||
|
.clicks { |
||||
|
font-family: var(--body-font-B); |
||||
|
font-size: var(--bg-fontsize); |
||||
|
color: var(--color-lightpink); |
||||
|
text-justify: center; |
||||
|
position: absolute; |
||||
|
z-index: 0; |
||||
|
opacity: 0.35; |
||||
|
top: 0; |
||||
|
left: 0; |
||||
|
margin: 0% 5%; |
||||
|
} |
||||
|
|
||||
|
#user { |
||||
|
display: flex; |
||||
|
width: 90%; |
||||
|
flex-direction: column ; |
||||
|
justify-content: flex-end; |
||||
|
flex-wrap: wrap-reverse; |
||||
|
padding: 5%; |
||||
|
} |
||||
|
|
||||
|
#user p { |
||||
|
/* width: 50%;*/ |
||||
|
font-family: var(--body-font-B); |
||||
|
font-size: var(--body-fontsize); |
||||
|
border-radius: 6rem; |
||||
|
} |
||||
|
|
||||
|
#choreoUserButton { |
||||
|
width: 50%; |
||||
|
} |
||||
|
|
||||
|
/***************** MOBILE ****************/ |
||||
|
|
||||
|
@media screen and (min-width:0px) and (max-width: 768px) { |
||||
|
} |
||||
|
|
||||
|
</style> |
||||
|
|
||||
|
</head> |
||||
|
<body> |
||||
|
|
||||
|
<audio id="audio"> <source src="mouth-bass.mp3" type="audio/mpeg"> |
||||
|
Your browser does not support the audio element. </audio> |
||||
|
|
||||
|
<button id="choreoPromptsButton"> choreographing yøu = ( ) =></button> |
||||
|
|
||||
|
<div class="prompts"><p id="choreoPrompts">dear User, are you ready to move?</p></div> |
||||
|
|
||||
|
<p><a class="clicks">0</a></p> |
||||
|
|
||||
|
<div id="user"> |
||||
|
<p> this.performance = </p> |
||||
|
<p id="infoUser"></p> |
||||
|
</div> |
||||
|
|
||||
|
<p class="colophon">concept, design and code by <a href="https://joanachicau.com/" target="_blank">Joana Chicau</a>; |
||||
|
code documentation <a href="https://git.vvvvvvaria.org/JoanaChicau/choreographing-you" target="_blank"> here</a>; typeface CirrusCumulus by Clara Sambot.</p> |
||||
|
|
||||
|
<script> |
||||
|
var textarray = [ |
||||
|
// action clicking |
||||
|
"Count the clicks you make today, for each click, make jump. Repeat tomorrow.", |
||||
|
"Shake your body every-time you encounter ads on your screen.", |
||||
|
"Pause for one second for each ad you see on your screen today.", |
||||
|
"Make a gesture. Repeat that gesture every-time you click a new link.", |
||||
|
"Accumulation: perform a new gesture for each new link clicked.", |
||||
|
"Count how many webpages you will return to tomorrow. Breathe deeply.", |
||||
|
"Stretch a body part of your choice every-time you click play.", |
||||
|
"Freeze your pose every-time you click pause. Stay there.", |
||||
|
"Today, untick all boxes you encounter.", |
||||
|
"Unclick every click.", |
||||
|
"Substitute 'clicking' for a different movement of your choice.", |
||||
|
"Trace back your click history from the last two days.", |
||||
|
// action scrolling |
||||
|
"Take a deep breath every-time you scroll over 50% of a webpage.", |
||||
|
"Reverse the infinite scroll.", |
||||
|
"From now perform any online gestures at 50% intensity.", |
||||
|
// action cursor movement |
||||
|
"Recreate your X and Y position on the screen in the room you are in.", |
||||
|
"Predict your next movement. Then, don't do it.", |
||||
|
"Slow down your cursor movement until it's almost paused.", |
||||
|
// general |
||||
|
"Stay on a webpage for as long as you stay where you are and then leave.", |
||||
|
"Increase the idle time in every website you visit today.", |
||||
|
"Substitute your average engagement time.", |
||||
|
"Scale down your online activity over the next hour.", |
||||
|
"Retrain your muscle memory." |
||||
|
]; |
||||
|
|
||||
|
var promptEl = document.querySelector("#choreoPrompts"); |
||||
|
var buttonEl = document.querySelector("#choreoPromptsButton"); |
||||
|
|
||||
|
function chanceOperations () { |
||||
|
var rand = Math.floor(Math.random()*textarray.length); |
||||
|
promptEl.innerHTML= textarray[rand]; |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
function choreoPrompt () { |
||||
|
buttonEl.addEventListener("click", function() { |
||||
|
chanceOperations() |
||||
|
/* |
||||
|
if (promptEl.style.display=="none"){ |
||||
|
promptEl.style.display="inline"; |
||||
|
} |
||||
|
else { |
||||
|
promptEl.style.display="none"; |
||||
|
} |
||||
|
*/ |
||||
|
document.querySelector("#audio").play(); |
||||
|
}) |
||||
|
} |
||||
|
choreoPrompt () |
||||
|
|
||||
|
/* CLICK */ |
||||
|
|
||||
|
buttonEl.onclick = count; |
||||
|
const clicks = document.querySelector('.clicks'); |
||||
|
var a = 0; |
||||
|
|
||||
|
function count() { |
||||
|
a += 1; |
||||
|
clicks.innerHTML = a; |
||||
|
} |
||||
|
|
||||
|
/* USER DATA */ |
||||
|
|
||||
|
function show(infoUser){ |
||||
|
var e = document.getElementById("infoUser"); |
||||
|
if(e.style.display == 'block') |
||||
|
e.style.display = 'none'; |
||||
|
else |
||||
|
e.style.display = 'block'; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
document.querySelector("#infoUser").innerHTML = '{ date: ' + new Date() + ', </br> browser default language: ' + navigator.language + ', </br> location: ' + navigator.platform + ', </br> screen dimensions: ' + screen.width + ' x ' + screen.height + ', </br> screen orientation: ' + screen.orientation.type + ', </br> screen pixel depth: ' + screen.pixelDepth + ', </br> cookies enabled? ' + navigator.cookieEnabled + ' </br> ... };'; |
||||
|
|
||||
|
|
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
Binary file not shown.
Loading…
Reference in new issue