안녕하세용! 팀에서 모기기피제 역할을 맡고 있는 꾸기🚂입니다!
평소에 글 작성을 많이 안해봐서 잘 쓸 수 있을지 걱정되지만 한번 작성해보겠습니다!
기획이 어느정도 틀이 잡히고 앱 디자인과 개발이 시작되는

5주차!!
Lo-Fi
주말 동안 각자가 생각하는 앱 디자인을 가볍게 그려와서 공유하는 시간을 가졌습니다.
그동안 기획에 대해 많은 이야기를 나누었기에 비슷한 디자인이 나올 것이라고 생각했지만,
팀원들이 생각하는 디테일한 부분에서 차이가 있었습니다.
웬디는 악보를 촬영할 때 가로로 찍는 상황을 방지할 수 있는 방안을 생각해왔고,
저는 곡의 빠르기를 간단하게 버튼으로 설정하면서도 디테일한 수정이 가능한 방법을 생각해왔고,
료샤는 사진 촬영뿐만 아니라 사진 앨범에서 악보 사진을 업로드하는 기능도 제안했습니다.
벨은 우리의 타겟이 시니어인 만큼 가독성과 사용성에 중점을 두어 디자인을 해왔습니다.
노랑은 우리의 핵심 기능인 리듬 진동을 지원하는 애플워치 착용을 자연스럽게 유도하는 방법과
앱을 더욱 재미있게 사용할 수 있는 방안을 고민해왔습니다.
그리고 우리의 최고의 디자이너 유솔은 전체적으로 자연스러운 플로우를 가지면서도 깔끔한 디자인을 가져왔습니다.

어쩜 이렇게 다양하게 생각할 수 있는지 새삼 다시 한번 놀라게되는 것 같다!
워케이션
그리고 공휴일에 맞춰 우리는 남은 작업도 할겸 경주 감포에 위치한 숙소로
워~~~~~~~~~~~~케이션
에 갔습니다. (Work로 가득찼던…)
아침 일찍 출발해서 체크인까지 시간이 남았던 우리는 가볍게 식사를 하고
경치 좋은 카페에가서 체크인시간까지
일을하였습니다 ^^
(열정부자들!)
그리고 나서 체크인 시간에 맞춰 도착한 우리의 숙소, 워케이션을 위한 숙소는 아니지만
여러개의 침대와 넓은 거실과 커다란 테이블을 워케이션을 즐기기에는 최적의 장소였습니다!
위치가 궁금하다면 댓글 남겨주세요~
도착하자마자 이어지는 작업들…
(우리 빨리하고 놀 수 있겠지?…)
그렇게 시간이 흘러가고, 모두의 배꼽시계가 열심히 알림을 울리기 시작했습니다.
그래서 우리는 토론 중이던 부분을 서둘러 마무리하고, 빠르게 불을 피웠습니다.
다행히 우리에게는 불의 마법사 웬디가 있어,
순식간에 불을 지피고 맛있는 바비큐 파티를 즐길 수 있었습니다!!
(밥 다 먹었으니 다시 회의~~)
그리고 다음 날 아침이 되어서야 우리 팀은 워케이션의 ‘케이션’을 즐길 수 있었습니다.
바다를 바라보며 커피 한 잔의 여유를 만끽했어요.
(이제 다시 현실로~)
이렇게 팀원들과 워케이션을 진행하니
기분 전환도 되고, 더 자유롭게 소통할 수 있어서 너무 좋았었습니다.
또 하나의 소중한 추억이 쌓인 것 같아서 더욱 의미 있는 시간이었어요.
다음에 기회가 된다면 또 가고 싶습니다!
개발 컨벤션
워케이션 중 우리가 진행한 주요 과제 중 하나는 개발 컨벤션 정하기였습니다.
이전에 팀 프로젝트를 진행할 때, 개발 컨벤션을 확실하게 정하지 않고 진행하다 보니 코드 정리와 협업 과정이 매끄럽지 못해 아쉬움이 있었습니다. 그래서 이번에 다시 팀을 꾸리면서 가장 먼저 개발 컨벤션을 정하자는 의견이 나왔습니다.
1. GitHub Project로 Task 관리
우리가 처음으로 정한 것은 Task를 GitHub Project로 관리하는 것이었습니다.
기존에는 노션으로 Task를 관리했었는데, 서버 불안정 문제나 GitHub의 이슈와 브랜치를 연동하기 어려운 부분들이 있었습니다. 하지만 GitHub Issues와 Projects 기능을 사용하면 팀원 간 실시간 협업이 가능하고, 각 Task의 진행 상태를 Kanban 보드 형태로 시각적으로 쉽게 추적할 수 있었습니다. 덕분에 노션에서 겪었던 불편함을 해소할 수 있었습니다!
2. 이슈 및 PR 템플릿 만들기
다음으로 정한 것은 이슈와 PR 템플릿 만들기였습니다.
템플릿을 만들어 두면 이슈나 PR 작성 시 번거로움을 줄일 수 있고, 중요한 내용이 빠지지 않도록 할 수 있습니다. 이를 통해 각자의 작업을 팀원들과 더 잘 공유할 수 있게 되었죠.
3. 코드 컨벤션과 커밋 컨벤션
https://jusung.github.io/Swift-Code-Convention/
팀에서 사용 중인 Swift Style Guide (코드 컨벤션)
코드 컨벤션이 있으면 협업시 일관성있는 코드를 작성할 수 있어서 코드의 일관성 유지에 좋습니다. 또 다른 사람이 작성한 코드를 읽을 때 코드의 문법보다 로직에 집중할 수 있는 장점이 있습
jusung.github.io
코드의 일관성을 유지하기 위해, 팀에서 사용하는 코드 컨벤션을 따르기로 했습니다. 관련해서는 Swift 코드 컨벤션을 참고하여 코드 작성 규칙을 정리했습니다.
또한, 커밋 컨벤션도 정해서 일관된 규칙에 따라 커밋 메시지를 작성했습니다. 이를 통해 코드 변경의 의도를 쉽게 파악할 수 있었고, 팀원들이 코드 검토나 히스토리 탐색을 할 때 각 커밋이 무엇을 위한 것인지 빠르게 이해할 수 있었습니다.
4. 앱 아키텍처 설계
마지막으로, 이번 개발에서는 개발에 들어가기 전에 앱의 아키텍처를 미리 설계하자는 규칙을 정했습니다.
이전 프로젝트에서는 폭포수 방식으로 모델을 만들어 갔었는데, 이로 인해 나중에 유지보수나 수정 작업을 할 때 코드가 얽혀 있어서 어려움을 겪었습니다. 그래서 이번에는 앱의 구조를 좀 더 효율적으로 설계하여 협업, 유지보수성, 확장성을 보장하고, 코드 복잡도를 줄이기로 했습니다.
한번 다른 팀으로 분산되었다가 다시 모여 각 팀에서 좋았던 부분을
참고하며 개발 컨벤션을 정할 수 있었던 것이 큰 도움이 된 것 같습니다. (진짜 짱이야!)
논쟁이 길어졌던 부분
Lo-fi 작업을 정리하면서 논쟁이 길어졌던 부분이 몇 가지 있었습니다. 그중 이번 주 내내 의견이 오갔던 주제는
아이폰 앱을 사용하면서 어떻게 애플워치를 자연스럽게 활용하게 할 것인지였습니다.
먼저, 우리 앱의 핵심 기능은 음악의 리듬을 진동으로 느낄 수 있게 하는 것이었고,
이를 위해서는 애플워치의 햅틱 기능이 필요했습니다. 하지만 우리의 주요 사용자층이 시니어였기 때문에, 작은 애플워치를 통해 조작하는 것은 무리가 있다고 판단했습니다. 따라서 조작은 아이폰 앱에서 하도록 하고,
애플워치는 진동 제공 장치로만 사용하기로 결정했습니다.
그러다 보니, 유저가 아이폰 앱을 사용하면서 자연스럽게 애플워치를 활용할 수 있도록 유도해야 했습니다.
하지만 예상치 못한 문제가 아이폰에서 애플워치 앱을 자동으로 실행시키기 어려웠던 것입니다.

유튜브 뮤직처럼 아이폰에서 앱을 실행하면 자동으로 애플워치에서도 앱이 실행되는 것을 기대했지만, 이는 실제로 애플워치에서 앱이 실행되는 것이 아니라 뮤직 플레이어가 작동하는 것이었습니다. 😢
결국 우리는 앱 사용 중 애플워치 앱 사용을 디자인적으로 유도해야한다는 결론을 내렸습니다.
그리고 논의가 길어지면서 한 가지 의문이 생겼습니다. 우리의 메인 기능이
애플워치의 진동 제공인데, 앱이 너무 아이폰에 의존적이지 않은가 하는 의문이었습니다.
사실 애플워치 전용 앱이 많지 않고, 두 개의 디바이스를 이용해 서비스를 제공하는 앱도 드물기 때문에,
이런 의문이 더욱 커진 것 같습니다.
“그래서 다른 앱들도 이렇게 진행되지 않는 이유가 있지 않을까?“라는 막연한 두려움이 생겼습니다.
하지만 팀원들과 이야기를 나눈 결과, 이런 두려움만으로 우리가
그동안 근거에 기반해 만든 기획을 뒤집을 이유는 없다는 결론에 도달했습니다.
지금은 기획을 다시 고민하기보다는,
어떻게 유저가 자연스럽게 애플워치 앱을 사용할 수 있도록 유도할 것인가.
에 집중해야 할 때라는 것을 깨달았습니다.
그래서 애플워치 사용을 유도하기 위해 중요하게 고려해야 할 부분들을 정리했습니다:
유저가 원하지 않는 순간에 애플워치 연결이 방해되지 않아야 한다.
연주가 진행 중일 때, 애플워치의 연결 상태를 확인할 수 있어야 한다.
먼저, 애플워치 연결이 유저의 행동을 방해하지 않도록 하기 위해, 유저가 워치앱을 켜지 않았을 때는
잠깐 나타났다 사라지는 토스트 알림을 사용하기로 했습니다.
토스트 알림 방식을 통해, 유저가 진동을 원하지 않으면 알림이 자연스럽게 사라지게 하고, 진동을 원할 경우에는 알림 받기 버튼을 눌러 쉽게 워치앱을 실행할 수 있도록 하였습니다.
또한, 연주 중 워치의 연결 상태를 쉽게 확인할 수 있도록 화면 상단에 워치 연결 상태 아이콘을 배치했습니다. 이를 통해 사용자가 연주 도중 연결이 끊기더라도 당황하지 않도록 하고, 진동이 제대로 제공되지 않을 경우 바로 인지할 수 있도록 하였습니다.
마무리
이렇게 이번주는 Lo-Fi와 개발 컨벤션을 정리하는 시간을 가질 수 있었습니다. 이제 남은 것은 Hi-Fi와 개발 백로그 및 개발
앞으로 해야할 것이 좀(많이?) 남아있고 어떻게 될지 모르지만 하나 하나씩 해나가면 잘 마무리 할거라고 생각하고 있습니다. (우리팀에 능력자가 많다보니 걱정되는게 없는 것 같아요)
이후 뒷내용이 궁금하시다면 구독하고 다음 포스팅을 기대해주세요!!
그리고 어려울때 서로 도와주고 기댈 수 있는 우리팀 항상 고마워~
남은 기간도 다 같이 화이팅해봅시다!!!
'MacC' 카테고리의 다른 글
매크로 7주차 - 두 번의 애플 리뷰 (5) | 2024.10.25 |
---|---|
매크로 6주차 - 개발 START (창우띵) (12) | 2024.10.11 |
매크로 4주차 - 기획의 끝자락... 설득하고, 설득하는 과정 (1) | 2024.10.03 |
매크로 2주차 회고 : 대상자를 찾아서... (9) | 2024.09.17 |
9월 첫주차 대망의 매크로 첫주 (7) | 2024.09.10 |