Day 03 개발일지 iOS - boostcamp-2020/Project03-A-TOTP GitHub Wiki

Day 03 개발일지

Main 화면 구성

어제까지 twilio authy 앱을 분석해보았다. 요구 사항에 있는 내용들을 모두 가지고 있는 앱이기 때문에 분석하면서 무엇을 만들어야 하는지 명확해졌다. 하지만 앱에 있는 내용이 요구사항과 너무 닮아서 오히려 그저 똑같이 만드는 것은 아닌가 걱정이 되었다. 그래서 UI/UX 모두 딴지를 걸면서 우리만의 앱을 만들기로 했다. 이번 주에는 가장 중요한 기능이 담겨 있는 Main 화면을 먼저 구성해보고 유스케이스와 테스트케이스를 만들어 보려고 한다.

  • 이미지 아이콘

    twilio authy 앱에서는 TOTP 토큰마다 해당 토큰 키값과 함께 넘겨 주는 정보로 서버에서 이미지를 받아와 토큰에 할당해주었다. 그런데 우선은 이러한 과정은 배제하려고 한다. 꼭 필요한 기능으로 보이지 않고 swiftUI를 공부하면서 이런 기능도 추가하게 되면 부담이 가중될 것으로 판된 되었다.

  • 디자인 변경

    twilio authy에서는 첫 메인 화면에서 최대한 간략한 기능만 제공하고 설정 버튼을 눌렀을 때 부가적인 기능들을 사용할 수 있도록 했다. 그래서 Main화면에서 TOTP 토큰 편집이나 삭제가 되지 않는다. 우리는 이 기능도 Main 화면에서 제공하도록 하여 설정 버튼을 눌렀을 때 나오는 세 개의 탭 화면들을 하나로 합치도록했다. 그리고 설정 버튼을 누르면 계정 관리, 백업 관리, 디바이스 관리를 함께 해주게 된다.

  • 라운드, 간격

    디자인을 전공하신 도경님이 라운드를 좀만 덜 깎고 셀 간격을 줄이면 어떻겠냐는 제안을 해주셔서 반영했다. 하지만 이 부분에 있어서 취향이 좀 갈리는 것 같다. 코드를 작성하게 된다면 여러가지를 시도해볼 필요가 있어 보인다.

  • 애니메이션

    기술적으로 가능할지는 모르겠지만, 작은 셀을 터치하면 큰 셀로 자연스럽게 셀이 이동하면서 확대되는 애니메이션을 생각하고 있다. 되면 좋겠고, 되도록 열심히 학습할 예정이다.

  • TOTP 6자리 수 표시

    비밀 번호를 모든 셀에 표시할 지 고민이 되었다. 우선은 twilio authy 앱에서 셀이 작았기 때문에 노출할 수 없었던 것이라고 생각하고, 구글 Authenticator처럼 모든 TOTP 토큰 셀에 비밀번호를 노출하는 것이 사용자에게 편의를 제공할 것이라고 판단되었다. 그래서 비밀 번호를 모두 표시하기로 했다. 하지만 석암님이 모두 표시하도록 할 것인지 의문을 던지신 것처럼 누군가는 이것이 옳지 못하다고 생각할 수 있을 것 같다. 조금 더 고민해 볼 사항이다.

  • 디자인 툴을 다룰 수 있는 것이 없어서 가장 익숙한 스토리보드를 사용하기로 했다. disignable로 인터페이스 빌더에 보이지 않는 속성 값들을 추가해주고, cornerRadius처럼 스토리 보드에 바로 보이지 않는 것들은 swiftUI의 provider를 사용하여 볼 수 있도록 했다. 이렇게 디자인툴 부럽지 않게 우리의 첫 화면을 만들 수 있었다.

개인 회고

(솔직히 쓰기 - 현재 파트너 또는 누군가가 본다고 생각하지 말고 미래의 내가 본다고 생각하며 쓰면 어떨까요??😏)

어진

  • 참고 앱의 디자인을 다 따라가는 것 보다 우리의 앱에 맞게 직접 구성하는 경험이 재미있었다. 다만, Xd를 다운받아놓고 다룰 줄 몰라, 스토리보드를 사용해야했던것이 아쉬웠지만 ㅎㅎㅎㅎㅎ!
  • 그리고 이런 경험이 디자인에서 끝나는 것이 아니라, 각 기능이 존재하는 이유를 명확하게 파악할 수 있었다.

재명

  • 가장 중요한 화면을 구성해보면서 어떤 기능이 필요하고 어떻게 구성해야 하는지 구체적으로 이야기를 나누어 보았다. UX/UI에 대해 평소에 무관심 했어서 그런지 어떤게 좋고 나쁜지 기준이 없었다. 그래도 최선을 다해서 뭐가 더 좋을지 고민하고 의견을 내 보았다. 다행히 어진님이 뚜렷한 기준을 가지고 계시고 왜 그런지 이유도 잘 설명해 주셔서 배운 것이 많았다.
  • 메인 화면의 디자인을 구성해 놓고 보니 앱의 기능에 대한 이해도가 많이 좋아졌다. 이제는 서버가 어떻게 동작하는지도 많은 부분 이해할 수 있게 되었다.
  • 병휘님이 챌린지 그룹 프로젝트 때 심심하셔서 주말에도 작업을 진행하셨는데, 함께 작업에 참여하지 못했던 같은 팀원이 주말에 참여하지 못해 죄송하다는 DM을 보낸 이야기를 해주셨다. 그리고 괜히 쉬는 날에 일해서 팀원에게 부담을 준 게 아닌가 죄송스러웠다는 이야기도 해주셨다. 이 이야기를 듣고, 함께 작업하는 어진님이나 다른 팀원들에게 혹시라도 부담을 주는 게 아닌가 걱정이 되었다. 최대한 코어 타임 내에 작업을 끝낼 수 있는 방법을 생각해보고, 그 이후에 혹시라도 무언가를 하게 된다면 팀원들에게 부담되지 않도록 조심해야 될 것 같다.