Fabrication: Entry 2

Warm-up project.

I spent most of the past three weeks learning about how Arduinos work and howTwitter’ss API can be utilized. Unfortunately, I underestimated the amount of debugging that would be required for the final assembly as well as the consistency of learning materials out there. Initially, I attempted to build from Sparkfun’s LED-connected Cloud but I decided against that and instead tried to recreate a twitter reader using the same setup. I was able to get the code to where I believed it would work and relegated the Twitter API and parsing to a web server.

The web server was actually the easiest part as most of the code was already written by someone else here. (Thank God for good documentation). Unfortunately, I cannot put it in here due to WordPress being written in PHP as well.

For the Thing, I used the HTTPClient and WiFi libraries from ESP8266, the chip on the Thing. The Thing would ping my web server every 5 seconds and the server would respond with the number of seconds since the last twitter I sent.

// Included Libraries
#include <ESP8266HTTPClient.h>
#include <ESP8266WiFi.h>

void setup() {
     // put your setup code here, to run once:
     // Set up Wifi
     Serial.begin(9600); //Serial connection
     WiFi.begin("", ""); //WiFi connection
     while (WiFi.status() != WL_CONNECTED) { //Wait for the WiFI connection completion
          delay(500);
    }
}
void loop() {
     // put your main code here, to run repeatedly:
     if(WiFi.status()== WL_CONNECTED){ //Check WiFi connection status
          HTTPClient http; //Declare object of class HTTPClient
          http.begin("http://api.akierson.com"); //Specify request destination
          http.addHeader("Content-Type", "text/plain"); //Specify content-type header
          int httpCode = http.GET(); //Send the request
          String payload = http.getString(); //Get the response payload
          http.end(); //Close connection
          // Send out to LED
         Serial.write(payload.toInt());
         Serial.write("\r\n");
    }
    delay(5000);
}

The Mini would then take the Serial input and put it to the LEDs as the number of lit up LEDs.

#include 

// Pin definitions
#define CLOUD_A_PIN       6

// Number of lights, pin number (6), 
Adafruit_NeoPixel strip_a = Adafruit_NeoPixel(60, CLOUD_A_PIN, NEO_GRB + NEO_KHZ800);

int ledsLit;

void setup() {
  Serial.begin(9600);
  
  // Configure LED pins
  pinMode(CLOUD_A_PIN, OUTPUT);
  pinMode(8, INPUT);
  
  // Clear LED strips
  strip_a.begin();
  strip_a.show();
}

void loop() {
  char outputLED[3];
  char inChar;
  int index = 0;
  while(Serial.available() > 0)
  {
      if(index < 2) // One less than the size of the array { inChar = Serial.read(); // Read a character outputLED[index] = inChar; // Store it index++; // Increment where to write next } outputLED[index] = '\0'; // Null terminate the string } String input = String(outputLED); if (input.toInt() > 0){
    ledsLit = input.toInt();
  }
  int i;
  for(i=0; i < ledsLit; i++){
    strip_a.setPixelColor(i, 127, 127, 127);
  }
  for(i=ledsLit; i < 60; i++){
    strip_a.setPixelColor(i, 0, 0, 0);
  }
  delay(2500);
}

The physical creation was surprisingly easy to create from the supplied schematics and I assumed that the original creators would use some standard practices with their schematics. Unfortunately, they didn’t use the attached serial pins and opted for digital ones and their images of the project didn’t match the schematics. The final problem I ran into was the power supply. A 5V 4A power supply is hard to find. Luckily, I was able to find one at the last second in my junk drawer.

Ultimately, this project was a failure for me as I have no experience with electronics and the jargon surrounding it. I also severely underestimated how long debugging would take when using physical components. I think, given another few attempts, I will be able to create a functioning prototype.

App Dev: Entry 2

Project 1 Milestone 2

Prototyping.  As far as apps go the interaction will be fairly simple: the user loads up the app and can then turn the noise on or off with the timer resetting each time the app is stopped. I was thinking about adding more functionality to add a count down timer so the user could study for thirty minutes but given how bad I am at prolonged work, I think the simple time keeping is enough to keep users on task.

The design of the app is white on black as opposed to the usual black on white. The mostly black design will be less distracting while also providing constant reminders of how little much time has passed. I decided against the previous pastel coloring as it appears to inviting and users may be tempted to pick up their phone if they see anything on it.

The sliders each control a metric of the white noise: the volume, the volume oscillations, and the pitch or Hrz. The pitch and the Hrz are built into the Apple Audiovisual SDK. The volume, I may remove as it is redundant because of the external buttons.

I have run into several road blocks on creating white noise using Apple’s SDK. Chiefly, the noise generators, while easy to understand then expected, are primarily designed for single notes which might make a jingle or help in creating an equalizer. White noise, however, is a random sampling on noises primarily around one note but with enough randomness as to not be musical but itself.

Link to Invision prototype: https://invis.io/XWOE9BWN4US#/323587385_Untitled-1_Opened_Copy

App Dev: Entry 1

Project 1

Requirements:

  • Single View App
  • Creative idea or concept
  • Focus on how the design and interactivity flows for the user
  • Larger than a lab
  • Support device configurations
  • Be complete with a launch screen and app icons

One page app. One much can I actually fit on a single page? I’m not much of an apple fan so the limitations of the device are new to me. Originally, I wanted to create an app that would track phone usage by apps and give daily/weekly/monthly reports on how much time is being wasted. However, Apple doesn’t offer that kind of functionality in iOS 11. Next, I looked at tracking personal data that the user input, such as fitness, food, money, or general goals. Alternatively, I was thinking about making a card based app that would show pictures of a particular category, say cute cats.

After some more refining, I decided against having a data tracking app as it would necessitate at least two screens for data entry and data review. My last idea is for a simple white noise app, four buttons for four levels of white noise, add a timer to give a sense of accomplishment for not using your phone and, voila, a finished product. I like the idea of having a simple timer with white noise because that is how I generally study.

Similar apps already exist but most of them are geared toward sleeping and putting children to sleep rather than studying. Additionally, most of them had excessively complex layouts with extra featured related to sleep. The one I did like was called fuzzy but it was only a white noise generator.

For this app, I will need to look into modulating volume and pitch via Swift. I may also want to periodically change the background image depending on the pitch. The timer I may give the functionality to count down from a set numberUntitled-1-01.png

Fabrication: Entry 1

Inspiration

Today, I start my warmup project for Studio: Fabrication. For my final project, I hope to make an Internet-connected lamp that will light up based on some data stream. Currently, I am looking at the larger data streams such as Facebook, Google, and Twitter. However, as the lamp is likely not going to be an installation piece, I am leaning toward more localized data, such as weather, tides, or personal Twitter/Facebook feeds.

My first idea for this was a small lamp/oversized paperweight that would mimic local tides with a miniature wave pool. Similarly, I was thinking to simulate the weather with an automated snowglobe that would start snowing when snow was forecasted for the next, say, five days. Unfortunately, both of these require an airtight container for continued functioning.

As for larger data feeds, I was thinking about doing a twitter happiness indicator. Maybe a globe that shows where people are using the happy emojis in real time. This would be similar to Jell-O’s happiness billboard they did a while back. Other similar globe based ideas would present a challenge as I can only feasible have so many lights on the globe due to monetary constraints.  Similar, I could have a light up book that shows updates to Wikipedia.

Alternatively, I could focus more on the representation of the incoming data in a unique and artist way as opposed to finding an interesting data stream.

In the end, there are certain constraints I need to hold to: the project can’t be too large,  the data stream needs to change multiple times a day, the data stream can only have a few dimensions, the final form of the lamp needs to be related to the data stream displayed

 

Form: Entry 9

Practice

Rules:

  • Form to be laser cut

Inspiration:

I am not sure where I ever got the idea for the style of graffiti I like to draw, probably some book, somewhere. One of the items I have drawn a number of times has been a Yin-Yang. It would be a nice design to have on a set of coasters.

Form: Entry 6


Response to ‘Power of Good Design’ & ‘The Demise of Form follows Function

Form follows function. Most modernist designs live by this rule. Famed designer, Dieter Rams proposes that good design should follow a few rules: be user-friendly, be environmentally friendly, be well produced, be timeless, and be modern while still allowing users room for self-expression. Considering that most modernist pieces have kept their timelessness, I think that Rams’ rules are very accurate. The New York Times, however, has proposed that such rules of design are no longer necessary as more of an item’s function can be fit into smaller and smaller spaces. Their case in point was the 2009 iPod Shuffles that were, in form, clips but, in function, trumped the computing capacity of all of NASA’s early systems.

Good design should be more than just surface level. The New York Times ignores that fact that Apple’s design team ignored some fundamental rules when they created these and thus have created a product that is unlikely to see the resurgence years later. On the other hand, the modernist chairs that people like Rams have created will continue to make resurgences as people rediscover the quality, design, and durable creation that make things timeless. Rams’ rules are not to be taken as needed but as a sum whole. Users will not like a product if it is not durable and unobtrusive. Products will not be timeless if people don’t like them and they are stuck in a single time period.

Form: Entry 3

In Response to Alain de Botton: “Why design matters”:

In Why Design matters, Alain de Botton argues that good design makes people better and that people have emotional attachments and aversions based on the looks and feel of things. Good design can take many forms: sups, phones, sunglasses, and even the small dongles and knobs attached to everyday objects. Unfortunately, bad design is even more common.

Take the design of Colorado cities. I hate them. They popped up overnight and had a checklist to fill out. Houses. Check. Schools. Check. A place to get necessities. Check. But they lack character. The houses are all the same. You must drive everywhere. The schools look like prisons. I could take a picture in any one of these pop-up towns and you couldn’t tell me where it was taken. Everything in it looks the same. On a surface level, though there are changes, the color might change from one corporate approved color to the next but the urban planners at these development companies must be alcoholics because they are forced to create such unfriendly cities.

Now take a city with good design. Take Barcelona. Each city district has a crossroads dedicated to commerce and pedestrian walkways to make each district more livable. The intersections are also more open to allow for café seating and, on occasion, are closed to cars. The city is livable and thriving as it was designed not despite it, like what we have in Colorado.

Form: Entry 2

Practice

Rules:

  • A teapot

Inspiration:

I have always like modern teapots to the point that whenever I am in New York I will go to the Met to see the teapots. I selected the modern one because of its relative simplicity and functionality.

DSCF6743

A modern teapot

Model:

I created a modernist teapot for practice with Fusion 360. The spout presented a challenge as creating the end was harder than I initially thought. Fusion 360 is built like an Apple product by prioritizing slick design over usability and using a cloud-based rendering engine. Despite the drawbacks, I believe the teapot looks functional.

Final Render

Final Render of Teapot