Browser

The browser is our window to everything on the internet—but is also largely a monopoly—70% of browsers today are backed by Chromium.

Browsers are the software responsible for retrieving and presenting the content of the internet to us. Therefore, they dictate how we might navigate and interpret all information presented to us.

Here, we'll look slightly below the surface—touching developer tools that common browsers offer to help us understand and manipulate the content we see on any webpage.

The changes we make will be impermanent and temporary; but they can help us understand how easily and malleable data on the web feels.

Since a browser organizes information for us, we might consider how we surf and feel through all the data that comes with it...

Related reading


I’ve come to think of software applications as a form of digital architecture: some are places of concentration, others of collaboration, others clearly just for fun. Software’s emotional dimension is crucial: how it feels dictates how it’s used. Anna Wiener,
Workplace by Facebook, or a party in the office

Inspect Elements

( using browser dev tools to manipulate pages )

Most browsers come equipped with developer tools: custom suites of browser-specific tools that help you view and manipulate the client-side contents of the webpage you're on (by client-side, we mean that these aren't visible to anyone else but you).

In this exercise, we'll play with the site as a material and the browser as an instrument by manipulating the elements and attributes of different webpages.

These changes we'll make are a bit superficial & impermanent — they're temporary and will disappear on refresh. But, when presented or recorded, they can help us understand how malleable and dynamic the web feels: its legibility is a tool that we could wield.

Consider: what do you want to change? what do you want to rewrite, or redact? Are you altering a site of your own, a national news site, an archive? What elements of the page are you drawn to?



Choose a website

Pick a website that you're drawn to: a website that you want to understand. (Note that not all websites might be compatible with this exercise — try to choose something that is filled with text and images rather than heavy interactivity.)


Some example websites to try:
https://forecast.weather.gov/
https://en.wikipedia.org/wiki/Province_flowers_of_Sweden
https://appletreeinnlenox.com/
https://nice.rocks/
http://www.goodroombk.com/


Milestone 1: Editing text

First, let's get familiar with how to access developer tools.

Open the developer tools by pressing F12 or Ctrl+Shift+I (Windows) or Cmd+Option+I (Mac).

Click on the Elements tab to view the HTML and CSS of the page.

First, try to edit text:
Highlight and right-click on a portion of text on the page, inspecting from there. You should be able to then see that bit of text in the developer tools window.

Now, keep double-clicking into the element in the developer tools pane — you should be able to edit its contents. Hit Enter to see the changes, after typing.

Milestone 2: Duplication & Deletion

Trying adding copies of existing elements, and deleting copies of other elements entirely.

Where do you notice repeated structures, if any? How are you altering the rhythm of a page?

Milestone 3: Editing styling

Now, use the 'Computed' and 'Styles' tabs to alter the styling of elements. Start with simple changes, like on colors or position — before playing with other properties.

With some code selected, look at the 'Computed' tab to see all the properties that are being applied to it. Then, you'll click the → next to a property's value, bringing you to the Styles tab.

Changing the 'Computed' properties generally change an element directly; changing the source 'Styles' properties might apply changes on several element at once.

As you make these changes, consider how it feels to be in control of a page. What are you attempting to alter, reveal, redact? What type of voice are you looking to impose? Are you rewriting a page, continuing it, or making it entirely your own?

Consider these questions as you think about your usage of every other website you're on — social platform or not...



Console

( using the console to manipulate pages )

Continuing onto our exploration of browser dev tools: the console is a debugging tool that allows you to see any code outputted from the webpage you're on, and also lets you write/paste in code to modify the page. Every website is manipulable in this way.

In this exercise, we'll begin to experiment with tiny scripts to manipulate the page we're on — giving us more advanced control over the webpages we're visiting. As we build on our understanding of scripts, interventions, and injecting — we'll later prepare to use these scripts as instruments...



Other projects using the console...

Steps

  1. Open a webpage:
    Go to a webpage of your liking again — it can be one of the ones from the previous exercise. (A relatively simple webpage with lots of image and text is best.)
  2. Open the Console:
    Open the console by pressing F12 or Ctrl+Shift+I (Windows) or Cmd+Option+I (Mac). On Mac, you can also use the top toolbar to get to it (View > Developer > JavaScript Console).

  3. Feel out the console.

    Try typing these commands in, and hitting enter:
    document.title
      → Get the title of the webpage

    document.lastModified
      → Show when the page was last edited

  4. Let's try to run a script on your webpage:
    Copy-paste one of the scripts below into the console — then hit Enter to run the script.
  5. Keep trying various scripts. Which ones resonate? How are you liking to alter the page?


To share: What script and website combo did you like?

Surf around until you find a website that works great with a certain script... maybe the script works particularly well technically, or it just fits the content of the website in a really interesting way.

Open our Class Notes and share the name of the website + script if you'd like

Scripts to play with...

Below are self-contained JavaScript functions that apply relatively simple changes and manipulations to a page.

To preview the scripts, you can also click on the button above the code. (You'll likely have to refresh the page to return it back to normal.)

Copy one of these scripts into your clipboard, then paste it into the console of your selected webpage. Do you see an effect?

Interactivity

( Click to zoom, right-click to delete )


( Auto-scroll )

Rearrange all elements

( Instantly... )

( One by one... )

Play with language

( Redact words )

( Say words )

Movement and transforms

( Gravity )

( One by one... )

Cursors

( Move cursor around to point to different elements )

( Word zoom-er )

Prompting Scripts

Optional, AI-assisted creativity workflow

To find scripts for your console, you can either write them from scratch, re-use existing ones, or you can try getting AI to assist writing scripts for you. This is a common workflow for many developers and artists — and we want to give you the option to explore it, if you're open to it.

Steps

  1. Go to an AI assistant: On a new tab, go to chatgpt.com, or use your own code generator of choice.
  2. Prompt it for a script: Ask it to write a script for you, with something like the prompt below.

    Example prompt:


    For example, I can prompt it like: Write a self-contained JavaScript function I can paste into browser console to darken the page, turning the area around my cursor into a flashlight. Include error handling and make it work across different sites."
  3. Copy-paste the script it generates into the console of your chosen tab.

    Example output (flashlight):

    My script in action:
  4. Feel free to continue chatting with it to make any tweaks. It's good to also save each version of the script generated, if there are any drastic changes.

Bookmarklets

Now, how can you use all these scripts together, as if you were using your entire browser as an instrument? Copy-pasting into the console alone is a bit clunky, so we're going to create bookmarklets that make things a bit more ergonomic and easy to use.

Steps

  1. Make sure to show your bookmarks bar:
    In your browser settings (or when you open an empty tab), make sure the 'Show bookmarks bar' option is checked so you can always see your bookmarks.

    Verify this by clicking on another tab and ensuring you can see your bookmarks.

  2. Open the bookmarklet converter in another tab!

    We're about to use this tool to turn the scripts from the previous console exercise exercise into bookmarklets.
  3. Now, let's convert a script into a bookmarklet:

    ⤷ Choose a script you've liked and copy its code.

    ⤷ Paste the script into the 'Paste your Javascript function here...' box.

    ⤷ Optionally, give a name to your bookmarklet (you can change this later).

    ⤷ Then, drag the blue button to your bookmarks bar.

    ⤷ Now, click the bookmarklet you just dragged in — and see if it works on the page..


    Here's me pasting and naming a bookmarklet, then dragging it up:

    What this little converter does is it takes the code you paste in, and wraps it in a function that can be called by clicking the bookmarklet. The 'URL' that a bookmark takes can actually contain JavaScript, it doesn't just have to target a website — so we're using these bookmarks to store little scripts that are easy to invoke. Learn more about bookmarklets here.

  4. Repeat this and try to save at least 3-4 bookmarklets:

    Come up with some combination of bookmarklets so that you can run multiple of them in succession, on a single site or on several.

    ⤷ What combinations of bookmarklets are you liking?

    ⤷ What aspects of the page do you enjoy manipulating?

    ⤷ Are you drawn to generative, or destructive bookmarklets?




Share your bookmarklets!

Paste the code for your bookmarklets into the Google Docs if you'd like to share something you've made :)




Strategies for Presentation

All these changes are ephemeral

Reflections

⤷ How does it feel to change someone's website?

⤷ What interventions feel most powerful or meaningful?

⤷ How does the ephemerality of these interventions feel, against the exercises you coded yourself in the last session? How did temporary vs. permanent change affect your willingness to experiment?

⤷ What websites did you gravitate towards?

⤷ How would you think about presenting these changes?

⤷ How does this feel different from customizing your own profile?

⤷ What unexpected visual or conceptual relationships emerged from your interventions?

⤷ How might you chain multiple interventions together to create a narrative?

⤷ What other ways might you think about manipulating websites?