Social media has quickly turned social information sharing into such a fast form that the term ‘viral’ was added to our daily vernacular. Instead of exploring how we can place social interactions on the web and create digital interactions, we wish to turn what the world has been focusing on for the last few decades and create social interactions that stem from the digital web to our daily ‘analog’ lives. More specifically, how might we ‘re-analog-ize’ the virality of social information sharing?

0

INTRODUCE


We want to design an ambient experience that would turn a bus stop into a reactive space that responds to controversial tweets and spreads that experience based on the reactions of the people at that stop. 

Commuters would see and hear an output that would indicate a certain topic of controversy being tweeted about online. Based on how much audio response the users give to the experience at the first bus stop (i.e. conversations amongst the other commuters or in conversations on the phone reacting to the subject audibly) the sound of those conversations triggers the experience can be initialized at another bus stop in their field of view or within earshot. Based on the reaction at this bus stop another will be triggered to the bus stop across the street or down the street and so on and so forth. Creating an audiovisual indication of the controversy going viral in public spaces through people’s conversations, not just the virtual world.


Process


The logic of the Viral Bus Stop could be described as below:



Assuming when reactions are detected for each step, the experience spreads out, 

or in our case, goes viral physically. 


          





0
// This #include statement was automatically added by the Particle IDE.
#include <neopixel.h>
// This #include statement was automatically added by the Particle IDE.
#include <neopixel.h>
// This value will store the last time we published an event
long lastPublishedAt = 0;
// this is the time delay before we should publish a new event
// from this device
int publishAfter = 1000;
//define button Pin
int butPin = D8;
//define neopixel ring
#define PIXEL_PIN D0
#define PIXEL_COUNT 24
#define PIXEL_TYPE SK6812RGBW
Adafruit_NeoPixel ring = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);
void setup()
{
  // We'll want to subscribe to an event thats fairly unique
  // From the Particle Docs
  // A subscription works like a prefix filter.
  // Basically this will match any event that starts with 'db2018/paired/'
  // This is a feature we'll useto figure out if our event comes from
  // this device or another (see publishMyEvent below)
  //Subscribe to a set of events published when an IFTTT widget is triggered by a tweet
  Particle.subscribe(  "ChenMutiatLama/2019/Group4/LamaAlFulaij", mexicanFlag );
  //button is readable
  pinMode(butPin, INPUT_PULLUP);  
  //Initialize all pixels to 'off'
  ring.begin();
  ring.show();
}
void loop()
{
    // publish my event
    // if the button is pressed
    int butValue = digitalRead(butPin);
    if(butValue==LOW){
        publishMyEvent();
    }
    // delay for a bit
    delay(200);
}
void publishMyEvent()
{
  // Remember that a device can publish at rate of about 1 event/sec,
  // with bursts of up to 4 allowed in 1 second.
  // Back to back burst of 4 messages will take 4 seconds to recover.
  // So we want to limit the amount of publish events that happen.
  // check that it's been 10 secondds since our last publish
  if( lastPublishedAt + publishAfter < millis() )
  {
      // Remember our subscribe is matching  "db2018/paired/"
      // We'll append the device id to get more specific
      // about where the event came from
      // System.deviceID() provides an easy way to extract the device
      // ID of your device. It returns a String object of the device ID,
      // which is used to identify your device.
      String eventName = "ChenMutiatLama/2019/Group4/" + System.deviceID();
      // now we have something like "diot/2019/paired/0123456789abcdef"
      // and that corresponds to this devices info
      // then we share it out
      Particle.publish( eventName, "data goes here" );
      // And this will get shared out to all devices using this code
      // we just pubished so capture this.
      lastPublishedAt = millis();
  }
}
// Our event handlde requires two bits of information
// This gives us:
// A character array that consists of the event name
// A character array that contains the data published in the event we're responding to.
void mexicanFlag(const char *event, const char *data){
    delay(100);
    uint16_t i;
    //mexican flag colors
    uint32_t g = ring.Color(0, 255, 0,0);
    uint32_t w = ring.Color(255, 255, 255,0);
    uint32_t r = ring.Color(255, 0, 0,0);
    //for loops for each light changes to the colors of the mexican flag
    //first green
    for(i=0; i< ring.numPixels(); i++) {
        //change the color
        ring.setPixelColor(i, g );
        //show the color
        ring.show();
        delay( 100 );
    }
    //then white
    for(i=0; i< ring.numPixels(); i++) {
        //change the color
        ring.setPixelColor(i, w );
        //show the color
        ring.show();
        delay( 100 );
    }
    //then red
    for(i=0; i< ring.numPixels(); i++) {
        //change the color
        ring.setPixelColor(i, r );
        //show the color
        ring.show();
        delay( 100 );
    }
    //wait a little at the end
    delay( 100 );
}
Click to Expand
0
x
Share this Project

Courses

49713 Designing for the Internet of Things

· 18 members

A hands-on introductory course exploring the Internet of Things and connected product experiences.


About

Social media has quickly turned social information sharing into such a fast form that the term ‘viral’ was added to our daily vernacular. Instead of exploring how we can place social interactions on the web and create digital interactions, we wish to turn what the world has been focusing on for the last few decades and create social interactions that stem from the digital web to our daily ‘analog’ lives. More specifically, how might we ‘re-analog-ize’ the virality of social information sharing?

Created

February 10th, 2019