-
Beyond The Garden Wall
09/03/2018 at 01:03 • 0 commentsLook beyond your garden wall.Poverty is closer than you think.
-
Project Log 14: Setup & Exhibition
09/03/2018 at 01:03 • 0 commentsThe Final Frontier
It's crazy to think about how we should have gotten all of this done by Week 13.
At least, according to the initial brief anyway.
The one week extension helped us complete the project much more comfortably. For the first half of the final week, we were preoccupied with final submissions for two other subjects. From Wednesday onwards, it was all hands on deck to complete the whole installation.
On Wednesday itself we went over to the Sunway workshop to put the final “dirt” finishing onto our walls. Poster design for the back walls came underway as well. To keep at it, some of us even stayed overnight at the Fabrication Lab to continue designing/writing and soldering (though mostly it was in solidarity of our fellow classmates).
We had a late start to Thursday from the previous night’s fatigue. We surveyed some prices for finishing materials like the table cloth and clothes basket, then we reviewed the final item and prop list for each of us to bring over for Friday night’s post mall-closure setup.
Setup day. In the AM, we compiled all our props, bought the last of the material, and printed up all of our posters. From 9pm onwards, we were all whisked away to the Sunway Workshop in a flurry of adrenaline and kan cheong-ness. Once the mall closed up, and everybody’s things were carried over, we got to work setting up with much help from the Sunway Workshop crew.
The structure was disassembled, then reassembled onto the exhibition floor. After the platform and walls were locked in, we began a lethargic start to putting in our wiring. Fast forward 10 hours later, at 8AM, we’re all done - though not without some quick soldering fixes, dance breaks, and quick naps. -
Project Log 13: Final Checks
09/03/2018 at 01:02 • 0 commentsWEEK 13
Monday, 13/08/2018
- Reactable Video Re-Shooting Day 3.
- Filmed CLOTHING and FOOD scenes.
Tuesday, 14/08/2018
- Sunway Workshop Visit: Drill holes for wires, double-check wire placement.
- Distributed video editing tasks.
Wednesday, 15/08/2018
- Reactable Video Re-Shooting Day 4.
- Filmed JOBS, extra scenes.
Thursday, 16/08/2018
Met up at Sunway workshop with lecturers and client for Final Review. Everything in order; on the right track. Just need to tie up loose ends:
- Properly install wires and conceal them
- Add additional props to enhance visual theme
- Create posters for back-wall finishing
-
Project Log 12: Final Reshoots, TV Magic, Everything 2.0
09/03/2018 at 01:01 • 0 commentsWEEK 12
Tuesday, 07/08/2018
- Testing CRT TV.
Wednesday, 08/08/2018
- Yong Jie and lecturer made magic: the CRT TV finally works, though the resolution is not as clear as we thought it would be. This leaves out the option for subtitles for our narration, as text is hardly visible. Final messages therefore need to be concise and enlarged as well. We no longer have to consider adding 'glitch' VFX to our footage as the tv seems to do it by itself. Au naturel.
- Radio tinkering for audio output has been scrapped in the interest of time; the tv audio seems loud enough for now.
Thursday, 09/08/2018
- Structure Construction Day 5: Review cut-out window, complete painting, and measuring wire lengths to cut from the in-and-out's of the total structure.
Friday, 10/08/2018
Final check to confirm video re-shooting schedule over weekend:
- Confirm actors.
- Confirm props.
- Confirm wardrobe.
Saturday, 11/08/2018
- Reactable Video Re-Shooting Day 1.
- Filmed COMFORT, HEALTHCARE, and SECURITY scenes.
Sunday, 12/08/2018
- Reactable Video Re-Shooting Day 2. Filmed EDUCATION scenes.
-
Processing code
08/29/2018 at 05:20 • 0 commentsimport processing.serial.*; Serial myCommChannel; import processing.video.*; Movie Video01; Movie Video02; Movie Video03; Movie Video04; Movie Video05; Movie Video06; Movie Video07; float startPlayTimeVideo01 = 0.0; float startPlayTimeVideo02 = 0.0; float startPlayTimeVideo03 = 0.0; float startPlayTimeVideo04 = 0.0; float startPlayTimeVideo05 = 0.0; float startPlayTimeVideo06 = 0.0; float startPlayTimeVideo07 = 0.0; boolean isPlayingVideo01 = false; boolean isPlayingVideo02 = false; boolean isPlayingVideo03 = false; boolean isPlayingVideo04 = false; boolean isPlayingVideo05 = false; boolean isPlayingVideo06 = false; boolean isPlayingVideo07 = false; boolean isCurrentlyPlaying = false; char lastSerialInput = 'z'; byte trackID = 0; void setup() { fullScreen(); //size(1380, 1220); printArray(Serial.list()); myCommChannel = new Serial(this, Serial.list()[0], 9600); Video01 = new Movie(this, "video01.mp4"); Video02 = new Movie(this, "video02.mp4"); Video03 = new Movie(this, "video03.mp4"); Video04 = new Movie(this, "video04.mp4"); Video05 = new Movie(this, "video05.mp4"); Video06 = new Movie(this, "video06.mp4"); Video07 = new Movie(this, "video07.mp4"); myCommChannel.write('1'); } void draw() { switch (trackID) { case 1: image(Video01, 0, 0, width, height); checkPlayStatusVideo01(); break; case 2: image(Video02, 0, 0, width, height); checkPlayStatusVideo02(); break; case 3: image(Video03, 0, 0, width, height); checkPlayStatusVideo03(); break; case 4: image(Video04, 0, 0, width, height); checkPlayStatusVideo04(); break; case 5: image(Video05, 0, 0, width, height); checkPlayStatusVideo05(); break; case 6: image(Video06, 0, 0, width, height); checkPlayStatusVideo06(); break; case 7: image(Video07, 0, 0, width, height); checkPlayStatusVideo07(); break; } if (isCurrentlyPlaying == false) { char inputCommandChar = myCommChannel.readChar(); if (inputCommandChar != lastSerialInput) { switch(inputCommandChar) { case 'a': println(inputCommandChar); isCurrentlyPlaying = true; lastSerialInput = inputCommandChar; playVideoFile01(); myCommChannel.clear(); break; case 'b': println(inputCommandChar); isCurrentlyPlaying = true; lastSerialInput = inputCommandChar; playVideoFile02(); myCommChannel.clear(); break; case 'c': println(inputCommandChar); isCurrentlyPlaying = true; lastSerialInput = inputCommandChar; playVideoFile03(); myCommChannel.clear(); break; case 'd': println(inputCommandChar); isCurrentlyPlaying = true; lastSerialInput = inputCommandChar; playVideoFile04(); myCommChannel.clear(); break; case 'e': println(inputCommandChar); isCurrentlyPlaying = true; lastSerialInput = inputCommandChar; playVideoFile05(); myCommChannel.clear(); break; case 'f': println(inputCommandChar); isCurrentlyPlaying = true; lastSerialInput = inputCommandChar; playVideoFile06(); myCommChannel.clear(); break; case 'g': println(inputCommandChar); isCurrentlyPlaying = true; lastSerialInput = inputCommandChar; playVideoFile07(); myCommChannel.clear(); break; default: // do nothing break; } } } myCommChannel.clear(); } void movieEvent(Movie m) { m.read(); } void playVideoFile01() { if (isPlayingVideo01 == false ) { startPlayTimeVideo01 = millis(); isPlayingVideo01 = true; trackID = 1; Video01.play(); } } void checkPlayStatusVideo01() { if (isPlayingVideo01 == true) { if ( (millis() - startPlayTimeVideo01) >= (Video01.duration()*1000) ) { isPlayingVideo01 = false; isCurrentlyPlaying = false; Video01.stop(); println("offVT01"); myCommChannel.write('<'); myCommChannel.write('2'); myCommChannel.write('+'); } } } void playVideoFile02() { if (isPlayingVideo02 == false ) { startPlayTimeVideo02 = millis(); isPlayingVideo02 = true; trackID = 2; Video02.play(); } } void checkPlayStatusVideo02() { if (isPlayingVideo02 == true) { if ( (millis() - startPlayTimeVideo02) >= (Video02.duration()*1000) ) { isPlayingVideo02 = false; isCurrentlyPlaying = false; Video02.stop(); println("offVT02"); myCommChannel.write('<'); myCommChannel.write('3'); } } } void playVideoFile03() { if (isPlayingVideo03 == false ) { startPlayTimeVideo03 = millis(); isPlayingVideo03 = true; trackID = 3; Video03.play(); } } void checkPlayStatusVideo03() { if (isPlayingVideo03 == true) { if ( (millis() - startPlayTimeVideo03) >= (Video03.duration()*1000) ) { isPlayingVideo03 = false; isCurrentlyPlaying = false; Video03.stop(); println("offVT03"); myCommChannel.write('<'); myCommChannel.write('4'); } } } void playVideoFile04() { if (isPlayingVideo04 == false ) { startPlayTimeVideo04 = millis(); isPlayingVideo04 = true; trackID = 4; Video04.play(); } } void checkPlayStatusVideo04() { if (isPlayingVideo04 == true) { if ( (millis() - startPlayTimeVideo04) >= (Video04.duration()*1000) ) { isPlayingVideo04 = false; isCurrentlyPlaying = false; Video04.stop(); println("offVT04"); myCommChannel.write('<'); myCommChannel.write('5'); } } } void playVideoFile05() { if (isPlayingVideo05 == false ) { startPlayTimeVideo05 = millis(); isPlayingVideo05 = true; trackID = 5; Video05.play(); } } void checkPlayStatusVideo05() { if (isPlayingVideo05 == true) { if ( (millis() - startPlayTimeVideo05) >= (Video05.duration()*1000) ) { isPlayingVideo05 = false; isCurrentlyPlaying = false; Video05.stop(); println("offVT05"); myCommChannel.write('<'); myCommChannel.write('6'); } } } void playVideoFile06() { if (isPlayingVideo06 == false ) { startPlayTimeVideo06 = millis(); isPlayingVideo06 = true; trackID = 6; Video06.play(); } } void checkPlayStatusVideo06() { if (isPlayingVideo06 == true) { if ( (millis() - startPlayTimeVideo06) >= (Video06.duration()*1000) ) { isPlayingVideo06 = false; isCurrentlyPlaying = false; Video06.stop(); println("offVT06"); myCommChannel.write('<'); myCommChannel.write('7'); } } } void playVideoFile07() { if (isPlayingVideo07 == false ) { startPlayTimeVideo07 = millis(); isPlayingVideo07 = true; trackID = 7; Video07.play(); } } void checkPlayStatusVideo07() { if (isPlayingVideo07 == true) { if ( (millis() - startPlayTimeVideo07) >= (Video07.duration()*1000) ) { isPlayingVideo07 = false; isCurrentlyPlaying = false; Video07.stop(); println("offVT07"); myCommChannel.write('<'); myCommChannel.write('1'); myCommChannel.write('+'); } } }
-
Arduino code
08/29/2018 at 05:18 • 0 comments#include <Adafruit_NeoPixel.h> #define trigPin01 12 #define echoPin01 13 #define trigPin02 10 #define echoPin02 11 #define trigPin03 8 #define echoPin03 9 #define trigPin04 6 #define echoPin04 7 #define trigPin05 4 #define echoPin05 5 #define vibrationPin06 3 #define vibrationPin07 2 unsigned char stateInterrupt1 = 0; // pin 3 unsigned char stateInterrupt0 = 0; // pin 2 #define LED01 A5 #define NUM_LED01 176 Adafruit_NeoPixel strip01 = Adafruit_NeoPixel(NUM_LED01, LED01, NEO_GRB + NEO_KHZ800); void setup() { Serial.begin(9600); pinMode(trigPin01, OUTPUT); pinMode(echoPin01, INPUT); pinMode(LED01, OUTPUT); pinMode(trigPin02, OUTPUT); pinMode(echoPin02, INPUT); pinMode(trigPin03, OUTPUT); pinMode(echoPin03, INPUT); pinMode(trigPin04, OUTPUT); pinMode(echoPin04, INPUT); pinMode(trigPin05, OUTPUT); pinMode(echoPin05, INPUT); pinMode(vibrationPin06, INPUT); pinMode(vibrationPin07, INPUT); attachInterrupt(1, interrupt1, FALLING); attachInterrupt(0, interrupt0, FALLING); strip01.begin(); strip01.show(); } void loop() { byte incomingByte = '?'; if (Serial.available() > 0) { incomingByte = Serial.read(); Serial.println(incomingByte); } switch (incomingByte) { case 62: //this should be equivalent to ASCII ">" turnAllRed(); break; case 60: //this should be equivalent to ASCII "<" turnAllOff(); break; case 43: //this should be equivalent to ASCII "+" stateInterrupt1 = 0; stateInterrupt0 = 0; break; case 49: //this should be equivalent to ASCII "1" LEDTurnGreen01(); delay(500); while (checkVSensor06() == false) { delay(10); // Sensor is slow in returning response, so add a little delay } break; case 50: //this should be equivalent to ASCII "2" LEDTurnGreen02(); delay(500); while (checkVSensor07() == false) { delay(10); // Sensor is slow in returning response, so add a little delay } break; case 51: //this should be equivalent to ASCII "3" LEDTurnGreen03(); delay(500); while (checkSensor01() == false) { } break; case 52: //this should be equivalent to ASCII "4" LEDTurnGreen04(); delay(500); while (checkSensor02() == false) { } break; case 53: //this should be equivalent to ASCII "5" LEDTurnGreen05(); delay(500); while (checkSensor03() == false) { } break; case 54: //this should be equivalent to ASCII "6" LEDTurnGreen06(); delay(500); while (checkSensor04() == false) { } break; case 55: //this should be equivalent to ASCII "7" LEDTurnGreen07(); delay(500); while (checkSensor05() == false) { } break; } } void interrupt1() { stateInterrupt1++; } void interrupt0() { stateInterrupt0++; } boolean checkSensor01() { float duration01, distance01; digitalWrite(trigPin01, LOW); delayMicroseconds(2); digitalWrite(trigPin01, HIGH); delayMicroseconds(10); digitalWrite(trigPin01, LOW); duration01 = pulseIn(echoPin01, HIGH, 1000000); distance01 = (duration01 / 2) * 0.0344; if (distance01 >= 40 ) { Serial.print('c'); turnAllRed(); return true; } else { return false; } } boolean checkSensor02() { float duration02, distance02; digitalWrite(trigPin02, LOW); delayMicroseconds(2); digitalWrite(trigPin02, HIGH); delayMicroseconds(10); digitalWrite(trigPin02, LOW); duration02 = pulseIn(echoPin02, HIGH); distance02 = (duration02 / 2) * 0.0344; if (distance02 >= 40) { Serial.print('d'); turnAllRed(); return true; } else { return false; } } boolean checkSensor03() { float duration03, distance03; digitalWrite(trigPin03, LOW); delayMicroseconds(2); digitalWrite(trigPin03, HIGH); delayMicroseconds(10); digitalWrite(trigPin03, LOW); duration03 = pulseIn(echoPin03, HIGH); distance03 = (duration03 / 2) * 0.0344; if (distance03 >= 40) { Serial.print('e'); turnAllRed(); return true; } else { return false; } } boolean checkSensor04() { float duration04, distance04; digitalWrite(trigPin04, LOW); delayMicroseconds(2); digitalWrite(trigPin04, HIGH); delayMicroseconds(10); digitalWrite(trigPin04, LOW); duration04 = pulseIn(echoPin04, HIGH); distance04 = (duration04 / 2) * 0.0344; if (distance04 <= 90) { Serial.print('f'); turnAllRed(); return true; } else { return false; } } boolean checkSensor05() { float duration05, distance05; digitalWrite(trigPin05, LOW); delayMicroseconds(2); digitalWrite(trigPin05, HIGH); delayMicroseconds(10); digitalWrite(trigPin05, LOW); duration05 = pulseIn(echoPin05, HIGH); distance05 = (duration05 / 2) * 0.0344; if (distance05 >= 40) { Serial.print('g'); turnAllRed(); return true; } else { return false; } } boolean checkVSensor06() { if (stateInterrupt1 != 0) { stateInterrupt1 = 0; turnAllRed(); Serial.print('a'); return true; // delay(500); } else return false; } boolean checkVSensor07() { if (stateInterrupt0 != 0) { stateInterrupt0 = 0; turnAllRed(); Serial.print('b'); return true; // delay(500); } else return false; } void LEDTurnGreen01() { for (int pixID = 0; pixID < 14; pixID++) { strip01.setPixelColor(pixID, 0, 255, 0); strip01.show(); } } void LEDTurnRed01() { for (int pixID = 0; pixID < 14; pixID++) { strip01.setPixelColor(pixID, 255, 0, 0); strip01.show(); } } void LEDTurnOff01() { for (int pixID = 0; pixID < 14; pixID++) { strip01.setPixelColor(pixID, 0, 0, 0); strip01.show(); } } void LEDTurnGreen02() { for (int pixID = 14; pixID < 38; pixID++) { strip01.setPixelColor(pixID, 0, 255, 0); strip01.show(); } } void LEDTurnRed02() { for (int pixID = 14; pixID < 38; pixID++) { strip01.setPixelColor(pixID, 255, 0, 0); strip01.show(); } } void LEDTurnOff02() { for (int pixID = 14; pixID < 38; pixID++) { strip01.setPixelColor(pixID, 0, 0, 0); strip01.show(); } } void LEDTurnGreen03() { for (int pixID = 38; pixID < 47; pixID++) { strip01.setPixelColor(pixID, 0, 255, 0); strip01.show(); } } void LEDTurnRed03() { for (int pixID = 38; pixID < 47; pixID++) { strip01.setPixelColor(pixID, 255, 0, 0); strip01.show(); } } void LEDTurnOff03() { for (int pixID = 38; pixID < 47; pixID++) { strip01.setPixelColor(pixID, 0, 0, 0); strip01.show(); } } void LEDTurnGreen04() { for (int pixID = 47; pixID < 55; pixID++) { strip01.setPixelColor(pixID, 0, 255, 0); strip01.show(); } } void LEDTurnRed04() { for (int pixID = 47; pixID < 55; pixID++) { strip01.setPixelColor(pixID, 255, 0, 0); strip01.show(); } } void LEDTurnOff04() { for (int pixID = 47; pixID < 55; pixID++) { strip01.setPixelColor(pixID, 0, 0, 0); strip01.show(); } } void LEDTurnGreen05() { for (int pixID = 55; pixID < 70; pixID++) { strip01.setPixelColor(pixID, 0, 255, 0); strip01.show(); } } void LEDTurnRed05() { for (int pixID = 55; pixID < 70; pixID++) { strip01.setPixelColor(pixID, 150, 0, 0); strip01.show(); } } void LEDTurnOff05() { for (int pixID = 55; pixID < 70; pixID++) { strip01.setPixelColor(pixID, 0, 0, 0); strip01.show(); } } void LEDTurnGreen06() { for (int pixID = 70; pixID < 113; pixID++) { strip01.setPixelColor(pixID, 0, 255, 0); strip01.show(); } } void LEDTurnRed06() { for (int pixID = 70; pixID < 113; pixID++) { strip01.setPixelColor(pixID, 255, 0, 0); strip01.show(); } } void LEDTurnOff06() { for (int pixID = 70; pixID < 113; pixID++) { strip01.setPixelColor(pixID, 0, 0, 0); strip01.show(); } } void LEDTurnGreen07() { for (int pixID = 114; pixID < 175; pixID++) { strip01.setPixelColor(pixID, 0, 255, 0); strip01.show(); } } void LEDTurnRed07() { for (int pixID = 114; pixID < 175; pixID++) { strip01.setPixelColor(pixID, 255, 0, 0); strip01.show(); } } void LEDTurnOff07() { for (int pixID = 114; pixID < 175; pixID++) { strip01.setPixelColor(pixID, 0, 0, 0); strip01.show(); } } void turnAllRed() { LEDTurnRed01(); LEDTurnRed02(); LEDTurnRed03(); LEDTurnRed04(); LEDTurnRed05(); LEDTurnRed06(); LEDTurnRed07(); } void turnAllOff() { LEDTurnOff01(); LEDTurnOff02(); LEDTurnOff03(); LEDTurnOff04(); LEDTurnOff05(); LEDTurnOff06(); LEDTurnOff07(); }
-
Project Log 11 : User Testing
07/25/2018 at 14:11 • 0 commentsWEEK 11
Monday,30/07/2018
- Short meeting to go over progress, arrangement for user testing.
Tuesday, 31/07/2018
- Cable arrives.
Wednesday, 01/08/2018
- We discover the cable is bogus; fails to work. Upon further research, we find that other people on the internet have come across the same deceit. Several tinkering youtubers suggest using a different converter. With good faith in their tutorials, and a pressing need to get our videos working on our CRT TV, we set to ordering this little guy:
Thursday, 02/08/2018
User Testing day.
There is a mad rush to complete the following:
- Soldering LEDs
- Cutting videos and narration together with final messages
We manage to get everything done, albeit a little over the opening 2pm mark. We tested our core experience with our 7 items and accompanying reactable stories, sans our large structure stored in the Sunway workshop.
Collected feedback from the client and other students:
- Video: make sure to clearly make the 7 item props part of the reactable video scenes to create a more believable narrative, trim the video clip length, make the copywriting for final message a bit shorter.
- Wiring: keep the wiring neat and tidy; ensure they're concealed so it doesn't get in the way of the visual experience and aesthetic.
- Audio: audio levels inconsistent and need to be louder, script needs to be shortened to match shortened video and simplified in the event that the public cannot hear it over the mall environment din.
After the user test, the group met up to review the feedback and continue planning next steps for updates and changes.
- Review UT feedback
- Review shopping list
- Plan Audio-Video reshoots
- Plan PVC mat purchase to cover completed structure platform
- Plan Week 12 workshop visit
- Assign poster moodboard, content
Friday, 03/08/2018
- New converter box arrives.
WEEK 12
Tuesday, 07/08/2018
- Testing CRT TV.
Wednesday, 08/08/2018
- Yong Jie and lecturer made magic: the CRT TV finally works, though the resolution is not as clear as we thought it would be. This leaves out the option for subtitles for our narration, as text is hardly visible. Final messages therefore need to be concise and enlarged as well. We no longer have to consider adding 'glitch' VFX to our footage as the tv seems to do it by itself. Au naturel.
- Radio tinkering for audio output has been scrapped in the interest of time; the tv audio seems loud enough for now.
Thursday, 09/08/2018
- Structure Construction Day 5: Review cut-out window, complete painting, and measuring wire lengths to cut from the in-and-out's of the total structure.
Friday, 10/08/2018
Final check to confirm video re-shooting schedule over weekend:
- Confirm actors.
- Confirm props.
- Confirm wardrobe.
Saturday, 11/08/2018
- Reactable Video Re-Shooting Day 1.
- Filmed COMFORT, HEALTHCARE, and SECURITY scenes.
Sunday, 12/08/2018
- Reactable Video Re-Shooting Day 2. Filmed EDUCATION scenes.
-
Project Log 10 : Building Structure
07/25/2018 at 14:06 • 0 commentsWEEK 9
Monday,16/07/2018
DI independent working day.
- Yong Jie devises an easier way to code the LED interaction for the sequence of our 7 interactable items. Instead of creating a random sequence, he will code it so that a green LED for the first item will light up, then after item interaction, all the other item LEDs will turn red (therefore not interactable) during the reactable response. After reactable response is complete, the second item LED will then turn green, so on and so forth.
- Felecia brings up CRT TV 2.0 to FabLab for testing; we discover we need an RCA cable of sorts. TBD.
Tuesday, 17/07/2018
- Set appointment to buy an old radio as a reactable tomorrow morning.
- Put in group order for 5 metres of LED.
Wednesday, 18/07/2018
- Felecia and Natalie pick up old radio reactable.
- Structure Construction Day 1: learned how to operate necessary power tools for cutting wood and drilling. Started work on structure platform first.
Thursday, 19/07/2018
- Structure Construction Day 2: Completed structure platform. Next are wall panels.
Friday, 20/07/2018
- Begin planning for reactable video shooting to pair with audio narration.
WEEK 10
Wednesday, 25/07/2018
- Structure Construction Day 3: Begin work on walls.
- Put in order for cable to connect PC/CPU to CRT TV to channel reactable videos.
Thursday, 26/07/2018
- Structure Construction Day 4: Completed building the four walls panels. Next is to paint everything up, and put in the door extrusion + faux knobs.
Friday, 27/07/2018
- Confirm video shooting schedule for weekend.
Saturday, 28/07/2018
- Reactable Video Shooting Day 1.
Sunday, 29/07/2018
- Reactable Video Shooting Day 2.
- Set short meeting for Monday, 30th July for internal user test run through. Actual user test date set for Thursday, 2nd August.
-
Project Log 9: Code, Audio, Materials
07/15/2018 at 11:47 • 0 commentsWEEK 8
Tuesday,10/07/2018
DI working day.
- Discussed prop requirements with Sunway workshop i.e. tikar and shelf.
- Continued acquiring items on shopping list.
- Work on structure blueprints for Sunway workshop.
- Recorded all audio clips for reactable video narrations.
Wednesday, 11/07/2018
- Sent completed blueprints to Sunway workshop.
- Continue work and research on coding.
Thursday, 12/07/2018
For one of our reactables, we need an old CRT TV. One of our lecturers offered to bring an old one from his house; however, we found out it wasn't working. Our immediate solution was to replace it with a 'mock' CRT TV made up of a PC screen in a foam board body, however, we were encouraged by another lecturer to keep the search for a working CRT TV going.
We also took a trip to the Sunway workshop to review our blueprints. After the 'ok', we set plans to begin structure building. Set date for construction:
- Structure Building Day 1 scheduled for Wednesday, 18th July.
Friday, 13/07/2018
Short meet-up to review shopping list.
- Plan to check for CRT TV at Felecia's home.
- Plan to visit PVC mat store to survey price + design.
- Check back on Carousell for radio availability.
Saturday, 14/07/2018
- Went to store to survey PVC mats.
- Continued work on coding.
- Discovered (potentially) working CRT TV from Felecia's household store room.
- Radio search continues.
Sunday, 15/07/2018
Decided that we would not have an official meeting for discussion on Monday, just independent working day.
Current list of work in progress:
- Carla: editing audio, need to forward the list of final messages to Felecia to compile appropriate stock videos.
- Felecia waiting on final messages to compile stock videos. In the meantime, test edit the B-roll footage of Nikk and shoot silhouettes (Winnie and Jin Heng?)
- Yong Jie is continuing with the coding; he might need some help with that? looked stressed as heck last week.
- The shopping list remains to be completed.
- Need to compile our previous list of sources + info packets for our infographic posters.
-
Project Log 8: Mahjong Paper
07/15/2018 at 11:47 • 0 commentsWEEK 7
Monday, 02/07/2018
Met up for 9th Group Discussion.
Officially commence construction planning.
Master list of questions we asked ourselves to properly map out our project plans on mahjong paper™:
THINGS TO ASK CLIENT
- Charity for Donation Box?
- Who is going to supervise/handle collection + distribution?
- Project deadlines
- Display duration
THINGS TO ASK BUILDING CREW
- How big is service lift? Do we need to separate the structure into segments?
CREATING THE INSTALLATION
A) Mechanism
- What mechanism do we use for each interactable item?
- What does the mechanism need? (wiring? battery? circuits?)
- Where do the mechanisms go inside the installation?
B) Structure
- What is the updated blueprint plan for the structure?
- What are the materials that the client has?
- What are the materials that we still need?
- What are the building tools that we need?
- Where are we going to build the structure?
- Do we need to design it so it can be disassembled?
C) Items
- What is the final list of interactable items?
- Are the physical objects tinker-able? (do we need to craft a fake one? or use skeleton?)
- Where are we going to buy/source these items?
- When are we going to buy them?
- How much are they going to cost?
- How to theft-proof?
Once everything was mapped out properly, the following two days were dedicated to surveying the items on our shopping list.
Thursday, 05/07/2018
AM: Continued shopping list survey online, outlined weekly schedule, begin coding research. HOD's appointed for ease of organisation and execution, though members' obligations are not limited by their appointed work areas.
- Project Manager (Carla)
- Communications (Carla)
- Copywriting (Carla)
- Technical (Yong Jie)
- Audio & Video (Felecia)
- Logistics (Natalie)
PM: Visited client's workshop.
- Surveyed materials needed to build structure i.e. wood planks, boards, frames, etc.
- Took measurements of confirmed recyclables.
- Further discussed building plans; workshop liaison expressed need for more detailed structure technical plan in order for workshop crew to assist in building; we promised to send it over before our next visit.
Friday, 06/07/2018
Met up for 10th Group Discussion.
- Took a 'field trip' to Pudu to survey LED strip prices.
- Returned to FabLab to discuss structure dimensions for updated technical plan