Moving tools into accordions to make them easier to organise
Choosing Tools and Stamps


References
- CHRISSANT, 2019. How to I make my button change a variable?[viewed July 31, 2021].
Notes, Observations and Research


Home page should introduce the user to both the brand, the aim of the project and how to use the tools on the site.
On load it shows O. Foundry with the DD missing, the cursor is replaced by the D and the user can stamp the D in place to make the logo full
As the design of the site is being finalised I move to start refining the tools now they are in place on the live site.


As I continued to develop the digital tools I reflected on other possible designs for the rest of the site. My intent with the site is to put the focus on the tools themselves, in my original design I was doing this by stripping back the navigation to the simple sidebar. With some development of the tools, and with a desire to reinforce the unexpected pillar of the project, I decided to further refine my site design to have the focus on the canvas of the tool by placing it on the left portion of the screen and to push the menu/logo/text content to the right. Conventionally western users read from the left to the right, starting in the top left corner, normally this is what informs the placement of a sites logo being in that space.
I have also begun to experiment with different brand colours.


Explorer
A drawing tool with all the different components available as stamps/brushes, it is about conscious, exploratory creation. Like a typographical sketch or doodle. The resulting form can be saved as a jpeg and then further developed in other relevant programs.
This tool aims to allow the user to explorer the components in the same way as they would experience the shapes as stamps.
Explorer 1 – Make a canvas where a single component can be stamped on it
Explorer 1-1 – Allow the user to clear the canvas and to save the canvas

Explorer 1-2 – Allow the user to change stamps via keyboard
Explorer 1-3 – Allow the user to change stamps via clicking on an icon
Explorer 1-3 – Show the current stamp in place of the cursor

Explorer 2 – Allow the user to rotate stamps
There is a small selection of stamps to draw with. The user is invited to finish the letterform.
explorerb-1 – Tool drawing on a separate canvas based on Tool 1
explorerb-1-1 – Integrate refresh and save buttons
explorerb-1-2 – change tool via button press
explorerb-1-3 – use images as tools as well as vectors
explorerb-1-4 – Show tool where cursor hovers
explorerb-1-5 – move controls to control block
explorerb-1-6 – allow tool to be resized
explorerb-2 – allow canvas to fit screen size

explorerb-2-1 – Display Random starter images on canvas
Whilst I ran into some early problems with the way that p5.js deals with the arrangement of images on a page and how they follow a cursor, I’m now happy with the current state of the prototype. Currently it allows the user to draw on the canvas with a selection of different tools and to download the results.
The next stage of the design process if finalising the main site design and then make further refinements to this prototype. Currently the prototype above is coded so the canvas should expand to fit the screen and the controls are in a separate block of html. This should mean I can integrate them into the overall Odd Foundry site design easily. Once added to the main site I can focus on testing the site with users as well as choosing which components should be available as stamps.
Next stages:
Rando-5 Restyle buttons and change them to icons
Rando-5-1 Add an optional ODD Foundry logo in the lower corner when exported.
I attempted this and although I was able to get a logo to appear when a button was toggled it would not appear on the downloaded image which was the overall aim. In the process of working this out I was able to get the icons to appear at a higher quality though.
Rando-5-2 Lower size of components to keep edges crisp as on some they are displaying pixelated
Rando-5-3 Have sketches refresh at regular intervals
Rando-5-3-1 Have sketches refresh at random intervals
The use of colour on the background helps to define the viewport in which the forms should be view. As does the choice to keep all the letterforms black as it unifies the disparate shapes into one object that is then perceived as a single form. By placing multiple variations next to each other I believe they are easier to perceive as letterforms as the brain tries to read the collections as words.
To continue developing the Randomiser, based on my reflection in the last post on the subject, I will now experiment with using the tool to display a random selection of grouped components. The aim of doing this is to increase the occurrences of components intersecting with the hope that this creates forms that, though randomly generated, will be easier to perceive as letterforms.
The coding of the tool will remain the same while I focus on the creation of the combined components to be used as assets.
For these designs I standardised my artboard in Illustrator to be 432px x 432px so that all the files created would be the same size. This allows it to be split into a 6×6 grid of 72px squares. These squares can be subdivided into a further 6×6 square. A grid that is a multiple of 6 is favourable to a grid made of multiples of 5 as the grid based on 6 can be subdivided more times. This should allow for components to align with various grid lines as shown below.





With 100 different compositions created I now had to upload them to the webspace and them reference them in the p5 sketch, for the previous examples that used 12 assets I hand typed these values. To speed up this process I generated a spreadsheet in google sheets, duplicated the data I needed surrounding the file name and then exported the sheet as a tsv file (tab separated value file). This plain text file could then be edited easily to correct any format inconsistencies.
Overall I am very excited by the prospects of developing this tool further. The initial tests have produced some dynamic and interesting forms. If I have the time I may rework some of the unsuccessful components such as the separate serifs as I think in this iteration of the tool they often end up floating as disconnected parts. But overall my push now will be to refine some of the layout and design problems as identified below:
My aim with this tool is to create a means of quickly generating letterforms that can then act as the inspiration behind further typeface designs. The canvas of the sketch will display a selection of random components, creating a random letterform. The user should be able to generate multiple versions of letterforms via a button press and easily save/export any that they wish to keep.
I based the initial collection of components on the serif and stroke variations that I have create previously as there is significant variation in the design of each but the dimensions of them are similar enough to get them to align with each other.

In my previous experience coding in this way in the Digital Media unit I found it helpful to break down my aims into a series of stages, adding complexity as I progress to an end point. The naming convention of each is toolname-objective#-variation#.
rando-1-1: Create a tool that displays a random shape on the canvas in a random location
https://editor.p5js.org/markmadethis/sketches/452N0nCqi
rando-1-2: Add a “save image” button
rando-1-3: Add a “generate new” button
rando-2-1: Create a tool that displays a random shape on the canvas in a random orientation.
rando-2-2: Create a tool that displays 4 random shapes on the canvas in different places
For this version I had problems getting the server to refresh and display the most current version of code I had written, adding a version number to the script seemed to correct that issue. I also noticed that while displaying 4 random shapes in random positions, the shapes weren’t changing each time I clicked generate (though their random position was). I reworked my original code to make use of an array to store the images and then randomise through them. One apparent benefit is that I can store different components in different relevantly named arrays (ie serifs in an array called “serifs” and strokes in an array called “strokes”) and then generate random serifs or strokes from each as needed, this should give me much more control over how to display them. I integrated my previous work on the “generate” and “download” button into this sketch as show below. (rando-2-2-1)
Building on this code base I then tried to code it so that multiple random components could be displayed.
rando-2-2-3: Create a tool that displays a random components on the canvas in a predefined position and orientation.
I had some trouble with this design making the lower serif align to the bottom of the stroke. One aim of coding is to keep assets to their minimum, so rather than creating a serif in every orientation and ending up with a great many jpeg assets the intent is to use the same asset and then transform it’s orientation via coding it’s position on the canvas. I originally attempted this via a rotate function (in a version called rando-2-2-2) but this method continuously rotates it off the canvas so I have not included this as a video. The next method used a scale function, the asset is set to have a -1 scale along the X or Y axis with the resulting image appearing to have then flipped.
rando-2-3: Create a tool that displays a random components on the canvas in a predefined position and orientation. Have the background colour change with each version.
Utilising an array of predefined colours (in this case three) I can randomly cycle through them each time a new one is pressed.



rando-3: Display multiple versions of the Canvas on the same page
This was much harder than I expected. I had hoped it would be the case of simply duplicating the sketch multiple times but due to the way p5 works with it’s default being that everything is specified at a global level (McCarthy 2020) it meant each of the variables in the sketch then needed a prefix to determine which version of the sketch they related to. This lead to problems with getting it to run as intended as the random displaying variables did not work with this prefix. After a few different attempts I settled on the solution of using multiple iframes on one page with the result being a page filled with multiple versions of the sketch that can be interacted with independently.



I have made use of the random functionality in p5 on previous projects but exploring it in this was has identified it’s benefits and limitations. There are a few ways to create random outcomes, 2 of which I have explored above. The first is choosing a random integer between a defined amount (ie. a number between 1-200) that can then be applied to a value (ie. the R value in a RGB colour code). This results in a huge amount of variation but with little control over the outcome, as shown in rando-1-1 with it’s placement of shapes on the canvas. Though interesting to play with the resulting forms are rarely going to be complex enough to be perceived as letterforms without a huge amount of them being produced. The second method I used in later experiments created an array of values (in this case colours and components) and then randomly selected one to use. This gave a higher level of control in the forms created and will be the method I continue to make use of.
On reflection, though the Randomiser technically works as I had hoped, my selection of components were too specific and too limited (serifs and strokes) which meant each had to be coded to appear in a defined space so there was very little variation in the form that was created. The resulting forms are an exploration of the technology but not a successful exploration of the concepts of shape perception and recognition.
Alongside this coding experimentation I have also been working on my collection of stamps and I found the most interesting forms were the ones created out of more substantial and unexpected shapes such as these g’s below.



Something I found from my early experiments with the elementary forms was that the forms created more often became a collection of shapes that followed an outline of a letter, rather than a series of shapes that defined the design of the letter. This is something I need to keep pushing for this tool, with the selection of components as they are (serifs and strokes) I will just be coding them to appear in defined co-ordinations and thus will be controlling the resulting form too much.

It is clear to me that printing my blocks flat on the print bed creates blocks that are the most successful to print with, however the issue of removing them easily from the bed once printed needs to be remedied.
Normally a metal scraper is used to lever the block off the bed, one alternative option I have tried is to grasp the block with a pair of pliers and pull it off the bed that way. This method was unsuccessful, resulting in not just blocks whose sides were damaged by the pliers but some very stubborn blocks that were snapped in half, leaving part on the base and part in the pliers.
Through gaining experience with the blocks I have noticed that it is possible to position the corner of the scraper into one of the drainage holes and work the scraper underneath to free the block, though this works it also damages the surface around the hole leaving it unsightly. I resolve to redesign the body of the block to integrate some form of removable tab that after allowing me to remove it from the bed easily, can then be trimmed and removed from the block.
The results can been seen here where a small rectangle with a sloping face is joined to the block. This allows me to push the scraper directly underneath the tab to free the design from the print bed.
My first iteration was too small and insubstantial to be of use. However by scaling the tab up slightly it works in the desired way and is easy to clip off the block once cured.

I also took this opportunity to add a makers mark to the body, a small de-bossed ODD in the bottom left. It was common for type foundries to mark their wood and metal type with their makers mark, in wood type this was done on the capital A. My makers mark not only unifies the blocks as being set, it makes them recognisable as being produced my ODD Foundry. The consistent placement of the mark on the bodies will also help with orientating blocks to the be correct way up if the design has a top and a bottom.
One of the things that I identified earlier in the project was making tools that are accessible. Not everyone has access to a 3D printer, or to the printing presses required to use the 3D printed blocks. With that in mind I experimented with different physical ways I can create tools for people to use. In this experiment I created stencils and stamps.



Above are two different laser cut stencils to be used with a pen or pencil.






Here I have assembled my stamps by gluing laser cut rubber to laser cut acrylic components.



The use of the stamps has definitely been enjoyable – the act of inking up, considering it’s placement and then making an impression is very meditative and as good example Active Experimentation and Abstract Conceptualisation. However the production of the stamps was very involved, with a lot of hand assembling required for each stamp. Perhaps after submission I could experiment with creating silicone stamps using these as the moulds but for now I don’t think, as part of this submission, they are worthwhile exploring further.