Studio/Lab: Systems – Midterm Submission

Cursor Toolbox 

Concept, Usage and Technology

Cursor Toolbox is a system that translates the online experience to real life and uploads it back online. It consists of a toolbox of different forms of physical “cursors” with various functions (for midterm, I made the “pointer cursor” and the red “upload button”).  The user is able to record colors, GPS data, and point at object with laser, which respectively correspond to the three functions of the actual cursor on the computer: saving images, saving URLs and navigation. All data are stored temporarily on a micro SD card inside of the cursor. When the user gets home, he/she can put the cursor on the “upload button”, so that the data can be transferred to a web server through RFDuino Bluetooth transmission and serial reading on a Raspberry Pi inside of the button. A P5.js sketch is served on the Pi as the visualization of the recorded data, showing the color and the processed GPS data (the GPS data has not been input into the website in the current phase). Meanwhile, for each time of “uploading”, two colors are randomly selected from the color recording file and pushed into the database on Parse. Ideally, these color data can be utilized in the future as a palette from which the user can pick the color and draw on the screen.

The goal of Cursor Toolbox is to address on the issue that physical interactions are diminished by online activities for various reasons such as convenience and novel lifestyles. This shift from offline to online has tremendous impact on our communications, relationships and social interactions, inspiring the future of communication, social structures and human-machine interface, as well as causing unprecedented problems: apathy of physical contacts, digital abuse, online privacy, etc. Therefore, this project aims to re-emphasize the significance of offline activities and explores its connections back to the digital world. It uses the features of online behaviors as the lens to observe and magnify our offline life, facilitating physical interactions between people. As the bridge between online and offline, the system in this project also develops new possibilities for interactions and behaviors in the built environments.

The devices in this project take forms of identical computer interface icons. Through the explicit representations of the digital navigation tools, which defines and also limits the online experience, these devices investigate how digital/online tools have shaped the ways that we perceive the reality. In addition, the dual nature of the digital icons and their physical counterparts reflect on the idea that various social issues also exist online and offline that relate or contribute to each other. However, until now the functions of the devices focus merely on the actions that engage interactions between people and their environments. In the future, more functions and other forms of cursors will be developed to facilitate social interactions between people or address on other specific social issues.

Demonstration of the usage of the “cursor”, the “upload button”, and the visualization.

IMG_4967  IMG_4974   IMG_4980  IMG_5006   IMG_4960  IMG_4997   Screen Shot 2015-10-27 at 1.30.45 AM


Documentation of Making Process:

IMG_4924  IMG_4910   IMG_4922 2  IMG_4958 2   Screen Shot 2015-11-06 at 4.14.37 PM  Screen Shot 2015-11-12 at 12.36.19 AM   Screen Shot 2015-11-12 at 12.36.37 AM  IMG_5009

Here is the final presentation: midterm-finalPresentation

Here is the initial proposal presentation: midterm-proposalpdf

Here is the research for the project: midterm-research

Here is the code on GitHub: midterm-code

* Until now I only have image documentations and short videos. I will edit a demo video for the project and update this post soon.

Xbee Group Project


Group members: Adam, Caio, Nico, Yumeng

There were all sorts of problems with the Xbee. Didn’t want to complain about this project, but with the same code, same wiring, same setting, sometimes xBee works and sometimes it doesn’t receive anything. We really had no idea. Fortunately, although the process was tedious, we kind of got it to work.

When I press my button, my green LED lights up for half a second, and meanwhile, Nico’s red LED on her Xbee lights up, which indicates that she receives something. Vice versa. We could send the potentiometer’s value to each other on Saturday, but never succeeded on Sunday. Same for the Red LED, for which the brightness was controlled by my peer’s potentiometer value. In the code, we created two functions to handle transmitting and receiving respectively. The “broadcast()” function transmits each member’s pot value, while the “serialCheck()” function, which we take from the XbeeThief file, checks if the message we are receiving is started with one of the member’s names, so that we are able to filter out other groups’ messages, since we happened to work the same time on D12.

We didn’t get the chance to record a video when it was fully functional. But here is an early test video, which might be useless.

And here is the diagram of our circuit.


Finally, here’s the code on GitHub. Thanks Marco for helping with the code. We went through a few versions and I just committed them all at once, since we kept each version in a separate file stead of committing one file for multiple times.

Xbee Code – Github


P2P Network Examples and More

In Peer to Peer communication, both parties has the capacity of transmitting and receiving data, which is different from the client-server communication that server fulfills the client side’s request. In a sense, either party in Peer to Peer plays the role of a server and a client. Peer to Peer communication has become ubiquitous in our life since the beginning of 21st century, due to the increasingly accelerated development of Internet of Things nowadays. It forms a dynamic group of peers that can upload and download at the same time for file sharing. If one user is offline or disconnected, other users still are capable of transmission. However, there are security issues in P2P communication, such as more exposing ports, software viruses and the risk of downloaded files.

Here are three examples of P2P communication.

  1. Skype

Launched in 2003, Skype has changed the way we make phone calls and expanded the functions to instant messages, transferring files and video chat between multiple people. Although P2P communication can harm the benefit of certain large companies, Skype considered P2P as a creative approach of bringing individual’s ideas together for the development within a relatively small group. Also, in the case of Skype, P2P saves the heavy cost from traditional centralized resources, which is used by most of the other instant message services at different levels. Therefore, Skype is able to invest more resources on developing advanced functions and user experience to thrive in the industry. In addition, Skype protects the privacy of users by encrypting their phone calls, messages, videos and files. However, I still have doubt on Skype’s explanation for their security protection. It says, “Skype is as secure as we can possibly make it.” Security issues are inherent at the birth of P2P communication; to what level exactly does Skype resolve the security dilemmas?

  1. 360 Smart Camera

360 Smart Camera is a low-cost Wi-Fi camera released by the Chinese software company Qihoo 360 this year. Initially it has been designed as a tool to watch your house or store remotely, by connecting the camera with its phone app. Through the app, the user can turn the camera angle to see different sections of the surroundings and speak to the phone, through which the sound will be transmitted to the camera with a speaker embedded inside. The camera even has facial recognition function; while detecting a face or movement in an empty house, the app will automatically push notifications to the user. The camera also contains a micro SD card slot. An 8 GB SD card will be sufficient to store 24 hours of the recording, enabling the user to playback videos on the phone. However, as the camera has become acceleratingly popular for daily use, it causes critical privacy concerns, since it can be easily set up and the recording content can accessed online through the broadcasting function by just clicking a button.

  1. File Sharing Applications

Some file sharing applications, such as BitTorrent, Pando and Tribler, explicitly reflect on the salient features of P2P network. The most interesting aspect for these file sharing applications and websites is that it forms communities among users with similar interests; every member is encouraged to contribute resources and download files from their peers at the same time. For instance, Tribler has advanced functions for improving the quality of file sharing community, such as the resource filter that every user can rate the quality of the resources and provide feedback for other users’ reference.

An art project relating to P2P network:

P2P is a useful tool for interaction design. In the past DT MFA thesis show in May this year, Chinese designer Hang Ye showcased his unity game combined with an Oculus Rift and a 3d-printed game controller that he designed exclusively for the game. In the game setting, the player enters a cubic room from a first-person perspective, and she/he can move forward by staring at a circle in the center of her/his vision from the Oculus. The play cannot move to other directions directly but instead, she/he can twist the game controller, also a cube, in order to turn the virtual room in the game upside down or sideways to change the directions they move forward. The genius part of the game is the cubic controller, a physical analogical presentation of the virtual cubic room, which adds a layer of philosophical duality to the game. For the technical part, there is an Arduino Uno, a gyroscope, an accelerometer and an Xbee module inside the 3d-printed controller. Through Xbee, the position data of the controller are sent to the computer that has a USB Xbee module. Unity reads the data and input them into the game.