06 Emily Shen - molab-itp/content-2023-Fa GitHub Wiki
Week 01
1.1 An app experience I enjoy
I really love the Spotify app experience. Not only is it highly functional, it also creates a positive emotional experience by providing enjoyment in an unobtrusive manner (through music). I enjoy how minimal the app is with its interface and interactions and is overall a very cohesive experience. While I don't know what type of app I want to develop for my final project yet, I would love to build a useful, low-commitment app with a clean interface.
1.2 Homework
a. Swift Fundamentals
I spent around 4 hours going through the first 6 days of the 100 days of Swift challenge and found the convention very similar to Python and JS so I didn't have any trouble understanding the logic. I did struggle with remembering some of the conventions and function names though and had to refer back to the lessons several time to remember. I found it much easier to just read through the lessons rather than watching the video because I had a pretty good understanding of the general structure already.
b. Text Art
I created a relatively simple text art, producing a pattern with different symbols. I tried using a few functions such as stride and repeating that the lessons hadn't covered, but I found extremely helpful. I ran into an issue with the stride function where I tried to run the for loop in reverse order but it didn't produce any output at all. It turns out that instead of using stride(from: 0, to: 8, by: -1), I had to flip it around to stride(from: 8, to: 0, by: -1)

Week 02
2.1 Homework
a. Swift Fundamentals
I completed up until day 07 and was starting to experience difficulty with understanding functions, throws, etc. I want to take the time to understand its syntax a little better. b. ASCII Art I don't think I properly understood the assignment requirements but I used the ASCII code to render ascii art from the web! It was straightforward but I think I'm having difficulty understanding the code.
Week 03
3.1 Homework
a. Swift Fundamentals
I continued to work on my Swift Fundamentals until Day 10 with structs, spending around 5 hours on it. Because I didn't understand closures and functions thoroughly, building off of that became difficult for me and it took me a long time to digest a lesson. I will try going back to re-read the lessons to improve my foundations.
b. Single View SwiftUI
I tried to recycle the code from the example and adjusted a few values to understand the code better. I'm having trouble understanding the code syntax and could use some help! I drew a blue plaid pattern with the rect fill manually, but I'd love to get some feedback as to how I can do it through a while or for loop.

Week 04
4.1 Homework
a. Multi-View Swift UI Audio
I wanted to create a simple UI for a navigation that would lead me to a page where I can play the songs I like and another page where I can play and layer coffee shop audio. I spent most of my time figuring out the navigation and haven't gotten around to adding much content. I originally wanted my navigation links to show up in "List" format so it had better UI but I ended up using the NavigationLink because I couldn't figure out how to set a destination for the List. I played around with modifiers for the navigation links in an attempt to understand how styling works on SwiftUI.

I also wanted to use icons in place of the text for the buttons on the music page but I'm not sure how I can adjust the size.
Update: I figured it out, but now I want to figure out how to change the background color!
Week 05
5.1 Homework
a. Continuing to work on the navigation / music
I styled the UI for the music app from last time. I haven't gotten around to adding anything to the study break page but I was able to figure out how to change the button colors and add icons for the buttons.

I also added a spinning animation to the disc when it plays :)

I want to figure out how to change the font to a custom one but it doesn't seem to be working

Week 06
6.1 Homework
a. Continuing to work on the app
Troubleshooting: For some reason the preview no longer works when I duplicate my week 5 file and open the copy as week 6? Could use some help. Currently working off of my week 5 file. Copied code from ImageEditDemo and replaced it with my own variables and content. Moving forward, I would like to let users be able to add their own songs & make a playlist for studying.
Week 07
7.1 Homework
a. Continuing to work on app
I was able to get multiple audio clips to start playing simultaneously! Now that the basic functionality is down, I want to give users control over the individual volumes of each of the audio files as well and add a better looking user interface.

Week 08
8.1 Homework
a. Study / Relax App
I started implementing the UI and implemented a nice slider interaction. I'm trying to figure out why the corners of the rectangle round when I press on it. I can't find the reference in the code! I also want the audio to play automatically on load or even better, play for the first time when the volume > 0 and pause when the volume = 0. At the moment, I need to have a button or else it will initiate the play function every time the volume changes. 
Week 09
9.1 Homework
a. Study / Relax App
I got the audio to load on appear and play whenever the volume is > 0. I also cleaned up the folder so it's a lot easier to navigate now! In addition to all of this, I also worked on importing in some new sound files to populate the app with new experiences that add to the coffee shop ambience.
Week 13
13.1 Project Progress
For the past few weeks, I've been making progress on solidifying the overall user experience, thinking in more detail about how I want the users (mainly myself) to navigate the app. I mocked up a pomodoro timer with an interface inspired by Vinyl players in Figma and I plan to use the coming week to bring it to life. I was successful in implementing multiple background sound tracks so users would be able to play through a selection of music when they do their work.
