본문 바로가기
앱 제작/키워드 알림 앱

1.1.0 패치 노트 (공지 추가, 연락처 검색 등)

by Kim Juhwan 2021. 3. 30.

 


 

앱을 출시한 지 한 달이 지났습니다.

키워드 알림을 해주는 서비스를 문제없이 제공하고 있고 많은 분들이 이용해주셔서 정말 정말 기쁩니다!
안정성이나 편의성면에서 조금 더 보완을 해야겠다 생각해서 이번 업데이트를 하게 됐습니다.
먼저 새로 추가된 부분을 알아보도록 할까요?
제작과정은 여기에서 볼 수 있습니다.

 

 

공지사항 추가


 

홈 화면

 

공지사항 모아보기: 이번 1.1.0 패치의 가장 큰 변화는 '공지사항'입니다. 학교 공지사항만 확인할 수 있던 이전 버전과는 달리 여기저기 흩어져 있는 공지사항들을 한 번에 확인할 수 있습니다. 개인적으로 비교과 프로그램 신청 페이지는 찾기 불편했고 웹 페이지에 사소한 버그가 있어 불편하여 꼭 구현하고 싶었던 기능이라 정말 뿌듯하네요.

 

new 태그: 새 글 임을 표시하는 'new' 태그는 학교에서 사용하는 이미지를 가져다가 사용하려 했으나 픽셀이 깨지는 것이 보이기도 하고 학교를 대표하는 색상인 파랑을 사용하고 싶어 따로 제작하였습니다. 당일 게시글만 태그가 달리도록 했으며 이는 추후에 따로 사용자가 직접 기간을 설정할 수 있게 할 예정입니다.

 

SNS 소식: 현재 카카오톡 플친 소식만 서비스하고 있습니다. 크롤링을 전부 허용해둔 카카오톡과 달리 인스타그램은 마구마구 데이터를 퍼 나르는 사람들 때문에 진절머리가 났는지 보안이 심한 상태입니다. (언젠간 인스타그램도 가져오고 말 테다..)

 

 

 

학교 공지사항

 

카테고리 기능: 저는 취창업지원단이 이렇게 열일 하는 줄 몰랐습니다... (위 사진에서도 공지사항의 50%를 차지하고 있습니다) 특정 카테고리의 공지사항만을 원하는 학생이 있을 수 있기 때문에 카테고리 별로 확인할 수 있게 만들었습니다. 

 

 

 

연락처 검색


연락처 검색 페이지(좌), 다이얼로그 창(우)

 

연락처 검색: 어느 부서에 연락을 해야 할 때 번호를 찾기란 은근히 귀찮습니다. 인터넷에 접속해서 학교 홈페이지에 들어가서 260여 개의 연락처 중 원하는 부서를 찾아야 하죠. 그래서 이 기능을 만들었습니다! 검색만 하시면 됩니다. 또, 학교로 추정되는 부재중 전화가 찍혀있을 때를 위해 번호로도 검색할 수 있게 하였습니다. 다시 전화를 걸어 확인할 수 도 있지만 스팸 번호일 수도 있잖아요? 😕

 

 

 

여기까지 새로 추가된 부분이었습니다.
그 외 UI도 많은 변화가 있었지만 자잘한 내용들이니 넘기도록 하겠습니다.
이번에는 보완된 점을 알아보도록 할게요. 은근히 문제가 있었거든요
지금부터는 다소 개발자 냄새나는 이야기가 섞여있을 수 있습니다.

 

 

 

키워드 등록


실제 등록된 키워드들

 

한 글자 키워드: 앱을 론칭해서 실제로 운영을 해보니 생각지도 못한 문제들이 발생했습니다. 우선 위와 같이 '학'같은 키워드를 등록하는 경우입니다. 생각보다 공지사항 제목에는 다양한 글자가 들어갑니다. 아마 저 학생분은 다음 날 푸시 알림을 무진장 받으셨을지도 몰라요.. 그래서 두 글자 이상만 등록 가능하도록 변경할지 고민 중입니다. 우선은 지켜봐야겠습니다.

 

공지에 올라온 이력이 없는 키워드: 진짜 문제는 이거였습니다. 예를 들어 위 사진의 '힙합 트레인'은 저희 학교 동아리 중 하나인데 아마 신입생 분께서 등록해주신 것 같습니다. 문제는 학교에서는 힙합 트레인과 관련된 공지사항을 올린 적이 단 한 번도 없었고 앞으로도 없을 거라는 거죠. 키워드를 등록하고 오지 않을 알림을 오매불망 기다리는 겁니다.

(마치 이등병이 오지 않을 전역날을 기다리는 것과 같군요 😥)

 

 

다이얼로그 창을 띄워 확인시켜준다.

 

그래서 만약 공지에 등록된 이력이 없는 키워드를 입력할 시 의사를 한 번 더 물어보도록 하였습니다.

이력을 확인하는 로딩 시간이 0.0x초 정도 늘어나겠지만 모든 사용자들이 똑같은 앱 사용 경험을 가지기 위해서 추가해야 할 기능이라고 판단했습니다.

그냥 안내 문구만 적어 놓기으면 만드는 제 입장에선 편하겠지만 다이얼로그를 띄워 확실히 안내하는 것이 더 낫다고 판단했습니다.

 

 

 

로딩 시간


학교 웹사이트 중 유독 비교과 프로그램 신청 페이지는 정말 느립니다. 그래서 로딩 시간이 길어질 수밖에 없었는데요. 이를 해결하기 위해 우선 splash screen을 이용했습니다. 앱이 최초 실행되었을 때 잠깐 로고를 보여주는 화면을 띄우며 그동안 미리 공지사항을 불러오는 방법을 사용했습니다. 하지만 이 마저도 시간이 부족했습니다. (그만큼이나 느립니다) request 요청을 하면 받는 응답이 JSON이 아니라 HTML이라 파싱 하는 시간까지 필요해 더 그랬던 것 같습니다. 그래서 request는 splash screen에서, 파싱은 main activity에서 하였고 다른 View를 먼저 화면에 뿌려준 뒤 모든 작업이 끝나면 LiveData를 통해 마지막으로 비교과 프로그램 신청 목록을 새로고침 하였습니다. 이렇게 하니 사용자 입장에서 기다리는 시간이 짧아 더 좋은 퍼포먼스를 보여줄 수 있었습니다.

 

 

 

MVVM 구조


부끄럽지만 1.0.0 버전에는 치명적인 버그가 있었습니다. infinite scroll(무한 스크롤)에 문제가 있었고 강제 종료까지 되는 버그였는데요. 핫픽스를 했지만 근본적인 해결 방법이 아니였습니다. 해결책을 찾다가 Clean Architecture에 대해 알게 되었고 앱의 구조부터 다시 설계해야 함을 깨달았습니다. 즉, 설계 부분에 결함이 있었고 그 결함 때문에 무한 스크롤 구현 부분에서 문제가 발생하게 된 것입니다. 이번 v1.1.0 에서는 Clean Architecture를 준수하여 제작하려고 노력했습니다.

 

 

 

 

앞으로 예정된 업데이트는
공지사항 통합 검색, 인스타그램 크롤링, 푸시 알림 서비스 확장(서버)입니다.
UI도 이쁘게 바꾸고 싶지만 디자인은 저에게 너무 힘든 일인 것 같습니다 🤔
아냥이 많이 많이 사용해주세요 감사합니다!

 

 

반응형

댓글