Capstone: Entry 8

Prototypes

Most prototypes should answer a question: Is this feasible? Will people hate it? Does this project achieve its purpose? For these prototypes, there were three areas that needed to be prototyped: role, look/feel, and technical

I created some early musings about the project. I was trying to decide on the best method of using a typewriter as a printer and how best to write poems from streams of words.

Parsing incoming words and early ideas on project goals
Algorithm flow and solenoid adaption on typewriter keys.

Role

For my role prototype, I looked at art installations that interact with the viewers and created a short storyboard from those. The idea was that the typewriter would appear apart from the gallery until the viewers leave and notice that the typewriter has made a poem just for them.

Story board of art viewers in gallery

Look/Feel

For the look feel prototype, I purchased a word processor and set it on my desk for a few days to decide if it was cool enough. I also looked at the Media Archaeology Lab for more refined typewriters such as the fully mechanical ones. I decided that the typewriter should ideally be connected to the computer housing in a permanent way.

Next, I sketched some tables-housings. The table design should ideally match the typewriter. If I am able to get a mechanical typewriter, the table should be a refined one but, if I can only get a word-processor, a plastic table is almost preferred.

Sketches of table-housings
Mockup of sketches

Technical

For my technical implement, I did several iterations on the same algorithm of using Markov chain text and the nltk Python library. The algorithm would take in a string of text, the longer the better. I used the Sugar Hill Gang’s “Rapper’s Delight” and the full corpus of Shakespeare’s sonnets.

I first started with haikus as 5 -7 -5 to test out the syllable library. Next, I made basic sonnets of 14 lines with 10 syllables each in the style of Shakespeare. My last step was to add rhymeing in the form of ABAB-CDCD-EFEF-GG. I ran into some trouble because occasionally words don’t have rhymes, but in a further prototype or the final iteration this could be achieved through recursive programming and chaning the parameters each time. This would allow for less exact rhymes and for the program to rewrite lines that don’t fit into the sonnet.

https://github.com/akierson/capstone-prototype

App Studio: Entry 8

Iteration 3: Speculate Phase

For this final Iteration, I will need to have a fully functional app. For the MVP, the app should do the following:

  • Display user’s events for three days
  • Add events to the user’s calendar
  • Track goals in SQLite calendar
  • Track goal progress locally
  • Display goals by area
  • Display some data about goal progress
  • Add Goal related events
  • Notify users about upcoming goals
  • Onboard users

The greatest challenge at this point, having dropped data tracking, will be effectively using a table to store the goal progress as discrete bits of information. The goals for weeks, years, and beyond will easily be stored in a table but the daily goals which have an associated event will be more challenging.

Object: Entry 7

Serial Communications

The point of this lab was to create a connection between an Arduino and p5.js. p5.js is a JavaScript library based on Processing, a language built for easy sketch-coding. For this lab, we required a sensor, an actuator, an Arduino, and a computer. A lot of the lab’s challenge was in the computer installation and setup of the p5.js code.

Arduino to p5

After starting a new sketch in the p5.js web editor, we added p5.serialport.js which allowed us to access the ports from the browser.

On the arduino side, we created two sensors that then sent the data back to the computer via serial communications. I used a potentiometer and a light sensor. The values from these were sent back in ASCII as comma separated values.

The p5.js then parsed this and mapped them to a circle’s height and width.

Setup of circuit

https://editor.p5js.org/kerchevski/sketches/PXU6suwI4

Here the potentiometer is controlling the width of the circle. The potentiometer readings were rather jittery and with the frequency of the readings, the circle appears to jump sizes.

Arduino potentiometer controlling circle width

P5 to Arduino

For this part of the lab, neither the Arduino or the codes changed much. There was the change that the Arudino was reading instead of printing and had to do its own try/except error catching.

https://editor.p5js.org/kerchevski/sketches/hAMBEV3pD

R and G keys changing Arduino Neopixel setup

App Studio: Entry 7

Iteration 2: Adapt Phase

In this iteration, I had focused more on creating a goal-setting system. A such much of my user testing revolved around how often people set goals and whether they track the goals in terms of sub-events completed or an emotional feeling about them. More user responded that the tracking was a quantitative process if they used one, but the completion was more of a qualitative one. This means that a simple check-in after events should be enough to determine if users achieved a goal.

Compared to my last iteration, which was more focused on laying the ground work for data tracking and reporting on that, this iteration is more about creating and following through with goals. If I do not have time tracking in this iteration but have check ins after events about completeness, I will consider that an MVP.

This will then require a database to store goals and events related to them. This shouldn’t be too hard as the database will only have 3 tables: one for events and one for goals and one for completed goals. I could create a table for each goal area, but I found most users in my target demographic – 18 -25 years old – don’t plan out farther than 6 months – 1 year. This will result in under 100 goals at a maximum.

Lastly, there were a number of UI changes I have to make. Most of them are similar to the previous iteration but with the exception of making the Goals easier to read, as it was not included in the last iteration. The UI changes will be very important as most users I interviewed were ambivalent about using a goal setting app, even though they set goals and tracked the progress of them

Object: Entry 6

Project Proposal

Description

My interactive object will be a Cthulhu mask made from recycled materials. The mask will contain three separate interactive systems. The first will be moving eyebrows, the second will be voice activated lights on the mouth tentacles to accentuate speech, and the last one will be a heart monitor which propagates lights through the mask in a breathing manner.

The mask will build off my previous experience making this mask. I liked making the mask as an art project. I would love to refine my technique and build onto the existing skill set.

Material List

  • Mask Material – Likely leather and fabric
    • Tentacles – clear tubing
    • Leather for top of mask
    • Sunglass lenses for four eyes
  • Sound Sensor – https://www.sparkfun.com/products/12758
  • 2x LED strip – Owned
  • Eyebrow Sensor – https://www.adafruit.com/product/2699
  • 2x Servo Motor
  • Heart Rate monitor – https://www.sparkfun.com/products/12650

Capstone: Entry 7

What do prototypes prototype?

  • Create prototype for audience
  • Should show roles, implementation, look and feel

For my prototype, I would like to make a working prototype of converting a data stream into visual graphics. Specifically, I would like to work toward an Authenticity app and the fashion side of this. Though it is nebulous, I think by using sample data from Google trends and Twitter data I could compile the relative popularity of common brands such as Nike and Adidas by urban area.

By creating a focused data set and having set desired outcomes, I could work towards a more nebulous idea of assigning regional popular to various items using data scrapped from various websites. There will be the added challenge of having to backpropagate my data based on future sales releases and data from the aforementioned companies.

However, if scarpaing the data from Instagram, Twitter, and Google proves harder then expected (as they are tightening their APIs), I may also look into fake fashion writing by analyzing top fashion blogs and associated images and counterfeiting them. This coulld also be incorporated into taking pictures of viewers and spitting out a fashion/tablod piece on them.

App Studio: Entry 6

For this stage of iteration 2, I pivoted away from solely tracking users and focused more on creating a goal oriented app with the added feature of tracking time and relating that to goals.

I spent most of my time creating a new prototype as both a visual for user’s and a road map for myself. I was then able to use the road map from the prototype to prioritize working what features to work on. Android, as I have previously found is fickle and, with each new update, changes the fundamental way in which things are coded.

Despite this I was able to learn some more about fragments and data storage and how best to implement them into my app. Time tracking, though previously fundamental to my app, will have to wait until I have a firmer grasp of Android Studios. Understanding how the app can work outside its sandbox, how apps can best store data, and how to programatically make beautiful UIs will have to come first.

https://xd.adobe.com/view/2f1b99de-0155-42bd-44a0-d375e1e8d8e3-592a/
https://github.com/akierson/manageTimeBetter

Object: Entry 5

In this lab, 3 types of motor systems were used: DC, Servos, and Steppers. Two systems were all very similar in that they used an H-bridge to control the motor. The servo motor was simpler as it only used the built-in Arduino library

DC Motor

DC motors have a single speed and can only change direction when the polarity is reversed. In order to change the direction of the motor the H-bridge’s pins were manually coded.

Servo Motor

Servo motors can only rotate 180 degrees but have increased torque. In order to change the rotation, the output was mapped to a pressure sensor.

The coding for this is very simple as the Servo will accept a single value to change the rotation.

Stepper Motor

Stepper motors, while more complex then DC or Servo motors, they have the capability of increased torque and a full cyclic range or motion. The schematic for this was a lot more complex as every pin on the H-bridge was used

Because of Arduino’s built-in libraries and example codes, coding the stepper was very easy. I did have trouble getting it to work as the number of steps in a revolution has to be changed based on the stepper. Additionally, the RPM had to be lowered to the point that the motor will not burn out.

Capstone: Entry 6

AAR: Case Studies

I looked into several projects that circled inthe general direction of my project. I am still missing one idea but the other three are almost fully fleshed out.

Klout

The first case study is Klout. It was an early attempt at codifying someone’s personal impact on social media with a single numeric metric. There were several issues with this. Critics of it came from both sides a the social media gamut. The proponents of social media said that codifying social media into a single number showed users the man behind the curtain and that metrics should be more holistic. They believed that users would modify their behaviors if they were shown how the direct impact of their actions in a “Hawthorne Effect”. Critics of social media worried that giving users the tools to enhance their social media presence would lead to things like the Cambridge Analytica incident in 2016. Of course, they ended up being right.

I also found it interesting to look at how, while heavily criticized for trying to gamify social media, Klout changed how social media giants track data and use data. Facebook and Instagram changed their timelines to increase attention. Facebook also started to offer data tracking to companies in exchange for their data. Other apps have also tried to capitalize on the void by appealing to “influencers” on Youtube and Instagram.

Deepfakes

My second case study is on Deepfakes and GAN. GAN, generative adversarial networks, were first proposed by Ian Goodfellow in 2014 as a new way of training neural networks, whereby a generator neural network is taught to try and convince a detector neural network it is legitimate. He made the analogy to counterfeiters and police. Deepfakes, a portmanteau of “deep learning” and “fakes”, arrived two years later as fake celebrity porn. A Reddit user by the same name had usedGANs to mask the face of celebrities onto adult actresses. This opened up the whole conversation of what lines this crossed, what it could be used for, and if we could ever trust images and videos again. Since then, interest in Deepfakes has waned outside of porn studios.

I found it interesting to look at as it is the cutting edge of creating fakes and can be used to fool all but the most trained eye. While making a porno of the founding fathers would be interesting, it is also interesting to look at how it had a sudden spike in intest and then people forgot about it as though they couldn’t be fooled.

PhoneStory

The third case study is on informing the public. I wanted to look at PhoneStory by MollieIndustria. PhoneStory tells the story of creating an iPhone with a series of dark minigames. It was quickly removed from Apple’s AppStore but has since been added to Google’s Play Store. I wanted to look at how the public can be informed about the error of their ways in non-aggreivating ways.

Subversion

For my last case study, I wanted to look at something subversive. While most of the previous case studies can be construed as subversive, it was not their explicit intent. I wanted to look at something that subverted the commercial narrative. I looked into Garbage Pail kids and the uthors previous venture, Wacky Packages. However, the pictures were often not political and solely sold for their shock and wae. I was also ooking at other rtist’s efforts to create pieces to raise convecern about McDonald’s , The Catholic Church or others. Lastly, I am looking at other commercial attempts to high jck diasters or others to subvert the narrative. in their favor.

App Studio: Entry 5

Iteration 2: Speulate

Having recieved user testing and seeing how people responded to my first iteration, I need to reprioritize my feature list to be more goal oriented and less about the minute minutes of people’s daily phone usage.

Ideally, the app would have year’s goals, which were broken down by months, then by weeks, and, lastly, by day to day. For an MVP, all this data could be stored to a user’s calendar and not stored on a server. In a further iteration the data should be stored server side so that user’s could easily resume long term goals when they get a new phone. Also for the MVP, I think having goal break downs and some measure of time tracking at a minimum. Lastly, after each event in a user’s calendar, the app will have a notification asking them if they accomplished whatever the goal was and mark that down. I think having a subjective measure is better than having an objective measure of time as most of my user testing indicated that goal achievement was measure more as an emotional response than whether or not they spent x hours doing an event.

In a further iteration, I may use these coupled with the time tracking to create a metric of how well they have progressed towards their goal. This sort of breakdown is a very common theme in goal setting books. The app should start up and load goals as well as checked off goals. It will then check if there are any markers for this week related to each goal and warn users if they are not progressing toward a goal.