FOCI

Design Process

Design Brief

Create a mundane object with Generative AI that fits seamlessly into everyday life, offering playful and meaningful interactions beyond typical AI assistants

Choosing Focus Area

Our brainstorming session helped us clarify the brief and narrow our focus to designing romantic objects, particularly for long-distance couples

We started with a brainstorming session to address the broad nature of our brief. Initially focused on AI implementation, we shifted our attention to enhancing product interactions with generative AI. As we discussed ideas, a recurring theme of products used by couples emerged, leading us to concentrate on romantic objects. Recognizing that many of our team members were in long-distance relationships, we decided to design specifically for long-distance couples, drawing on our shared experiences to address their unique needs and challenges

Problem Discovery

Long-distance couples face challenges with time differences and busy schedules

Long-distance couples face challenges in staying connected, with time differences and busy schedules often making real-time communication difficult. While technology helps with asynchronous communication, creative ways of interacting are needed to maintain excitement and connection in the relationship

Pain Points

Interviews with four couples revealed that maintaining real-time connection and exploring new ways to connect are essential for long-distance relationships

Couples face challenges in finding real-time connection due to busy schedules and time differences. Maintaining a sense of connection requires staying updated on each other's lives. New ways to connect, supported by creative communication and technology, are crucial for enhancing asynchronous communication and keeping the relationship strong despite the distance
Long-distance couples often face challenges in aligning their schedules for real-time conversations, but technology, social media, and modern devices offer new ways to stay connected and share their daily lives. Misaligned schedules and emotional states can result in less meaningful interactions. Foci solves this by syncing communication times based on both partners' availability and emotional readiness, fostering deeper and more engaging conversations.

Prototype

Limtations

The primary limitation in executing FOCI design was the coding and synchronization with third-party apps. My knowledge of Arduino was limited, so I relied on YouTube tutorials and ChatGPT to accomplish the necessary tasks. However, integrating AI posed a significant challenge. As a result, we simulated the prototype in areas where AI functionality was required

Components for LED clock

Coding LED ring with Arduino

Goal is to create a system that synchronizes an LED ring with your Google Calendar in real-time, lighting up specific LEDs to indicate your free and busy times throughout the day.

Trial 1

1. Set Up Google Cloud Credentials
2. Create Node.js Server
3. Configure Arduino
4. Deploy and Test
I successfully created the Google Calendar API and downloaded the necessary credentials. When I set up the server, I was able to see real-time events from my Google Calendar displayed on the server. The events updated correctly whenever I made changes to my calendar.
I encountered an issue connecting the server to the Arduino, where the Arduino couldn't fetch data from the server. Although the server displayed events correctly, the Arduino couldn't retrieve the data to update the LED ring based on calendar events

Trial 1

1. Set Up Google Cloud Credentials
2. Install Required Libraries in Arduino IDE
3. Write Arduino Code to Connect to Google Calendar
4. Deploy and Test Arduino Code
I attempted to connect the Arduino directly to Google Calendar and created the Google Calendar API credentials and downloaded the credentials.json file.
After incorporating the credentials into the Arduino code, the Arduino failed to connect to Google Calendar and did not fetch any data
I consulted a software engineer who explained that Google Calendar uses .ics files, while our Arduino project was designed for .xml data. This format mismatch likely caused the issue, and with limited time, changing the code wasn't feasible

Solution

Manually setup LED ring corrolation

To create an Arduino-controlled LED ring that visually represents free and busy times from a Google Calendar using smooth pulsating effects with specified colors for different times of the day.

The LED ring, mapped to specific hours of the day, uses cyan for PM hours, orange for AM hours, and magenta for overlaps, while smoothly pulsating between brightness levels (30-100), with intensified pulsation during AM/PM transitions

Components for Ai Chat Display

Coding LCD display with Arduino

I set up a text LCD display to alternate between two prompts, connecting jumper cables, the LCD, and a potentiometer for brightness control to the Arduino. After finding and uploading a code, I adjusted the text on the screen. The main challenge was the jumper wire length, but we solved it by bending the wires for extra reach.

Solution

Manually setup LED ring corrolation

To create an Arduino-controlled LED ring that visually represents free and busy times from a Google Calendar using smooth pulsating effects with specified colors for different times of the day.

The LED ring, mapped to specific hours of the day, uses cyan for PM hours, orange for AM hours, and magenta for overlaps, while smoothly pulsating between brightness levels (30-100), with intensified pulsation during AM/PM transitions

Designing the Housing

Simple Cubic Box

The goal was to design a minimal housing for the clock. We wanted to emphasize the clock's features rather than the housing design. Given our limited time to create the prototype, we decided on a cube design. Due to the size constraints of the electronic components, a cube was the best and fastest option.