본문으로 건너뛰기

도움이 되는 프로젝트가 되길 바라며

머리말

ScreenTime101은 애플 아카데미에서 프로젝트를 하며 ScreenTime 이라는 API를 사용하며 겪었던 시행착오 삽질 경험을 이유로 시작하게 된 프로젝트다. 당시 우리는 MustSleep 이라는 ScreenTime 를 활용한 사용자의 앱 사용을 제한하는 앱을 개발하고 있었다. 문제는 해당 API 가 공개된지 얼마 되지 않았고, 프로젝트를 진행하는 모두 Swift 에 익숙치 않았다는 점이다.

SwiftUI 를 본격적으로 활용했던 프로젝트

그러다보니, 여러 시행착오를 겪을 수 밖에 없었는데, 이와 관련된 정리사항은 동 섹션의 삽질 기록 항목을 살펴보면 확인할 수 있다. 프로젝트를 진행하며 특히 어려웠던 점은 2023년 5~6월 시점 기준으로 정보가 너무 없다는 점이었다. (최근에는 관련 블로그 글 등도 많이 추가된 것으로 보여진다.) 그렇게 프로젝트를 마무리 된 이후 우리와 같은 시행착오를 다른 사람들이 겪지 않게 도와주면 좋겠다는 생각이 들었다.

마침 소속되어 있던 애플 아카데미의 환경이 서로의 배운 것들을 공유하는 것을 즐기는 문화를 가진 환경이었고, 사용해본 애플의 프레임워크 경험을 공유하는 오픈 소스 프로젝트가 진행중였기에, 같이 프로젝트를 진행한 팀원 한명과 함께 ScreenTime API 를 활용하는 방법을 제시하는 샘플 프로젝트를 만들기로 했다. 그렇게 시작된 것이 ScreenTime101 이다.

프로젝트 배포 이후

한달 반 정도의 짧게 사이드 프로젝트로 진행하며, 앱 배포까지 마쳤다. 프로젝트를 진행하며 이게 아주 소소한 프로젝트긴 하지만, 다른 사람들이 보고 사용할 수 있게 해야한다고 생각했다. 그래서 코드도 읽기 쉽게 작성하려 노력했고, 주석에도 신경을 썼던 것 같다.

그렇게 배포 이후 아카데미 마지막 프로젝트를 하며 정신없이 달리고, 수료 후 취업준비에 열중하느라 까마득하게 잊고 있던 어느 날..

의문의 편지가 도착했습니다

바르셀로나의 누군가로부터 의문의 이메일이 도착했다. 해석하면 대충 너네가 만든 레포 고맙다. 너네 레포 보면서 기능 구현중이다. 근데 어떤 기능을 구현하려하는데 잘 안된다. 도와줄래? 라는.. 내용인 듯하다.

이메일을 보고 당황..하면서도, 한편으로 누군가가 우리가 원하던대로 스크린타임 API 활용을 위해 사용하고 있구나! 하는 생각에 기쁜 마음이 들었다.

요청한 방법에 대해 알려주었더니, 잘 해결되었는지 스페인오면 연락하랜다.

이후에도, 스크린타임과 관련된 에러를 두고 이메일을 몇 차례 주고 받았다. 문제들은 대체로 이전 프로젝트를 하며 겪었던 내용들이었고, 삽질 기록에서 확인할 수 있는 내용들이었다. 이 내용들은 레포지토리에 동일하게 올려놨었는데, 아마 한국어로 작성되어 있어 읽지 못한 것 같다. 영어를 못해서 미안해 한편으로, 프로젝트 내 코드 및 주석만으로 부족하지 않았나 반성하기도..

누군가에게 도움이 된다는 게

이런 식으로 생전 모르는 사람의 그것도 지구 반 바퀴 뒤의 사람에게 도움이 될 줄은 생각지도 못했다. 이전에도 배운 것을 공유하고 나누는 것은 좋은 것이라 생각했지만 내가 줄 수 있는 도움은 크진 않을 것이라 생각했고, 주변에 한정된다고 생각했었는데 이렇게 이메일을 주고받으니 생각보다 더 기뻤던 것 같다. 앞으로도 도움이 될 만한게 있으면 남겨놔야겠다.

맺음말

생각해보면, 무언가를 만드는 것을 좋아하게 된 이유가 여기에 있던 것 같다. 내가 만든 것을 누군가가 보고, 사용할 때 즐거움을 느꼈고, 그렇게 만드는 사람이 되고 싶어서, 디자인을 하게 되었다. 그러다 지금은 직접 만드는 재미에 이렇게 개발을 하고 있다. 취업을 못해 고생하고 있지만.. 그래도 그 즐거움을 바탕으로 앞으로도 꾸준히 만들고 배워 나가다보면, 더 많은 사람들이 내가 만드는 것을 사용하는 날이 오게 되지 않을까..