오픈타운 스튜디오
- AOS 앱 개발
- Socket 통신을 사용하여 같은 WI-FI에서 카메라 연동을 가능하게 하였습니다
- 사용자가 어떤 형태로 얼굴이 로드되고 있는지를 보여주기 위해 GLSurfaceView를 사용하여 얼굴의 윤곽선을 표현하였습니다.
- 러닝타임의 이점과 DI를 적용하기 위해 Hilt를 사용하였습니다
- 비동기 처리와 동시성 프로그래밍을 위해 Coroutine을 사용하였습니다.
- 뷰, 엔티티 등 관심사의 분리를 위해 Android Clean Architecture를 적용하였습니다
- 디자인 패턴은 MVVM을 사용하여 뷰와 로직을 구분하였습니다.
오픈타운
- 안드로이드 앱 버그 수정 (2021.10.~)
- Sentry나 FireBase등에서 검출된 에러나 Qa 과정에서 발생한 에러 등 앱에서 발생하는 에러를 수정하였습니다.
- 안드로이드 2차 리팩토링 (2022.12.~)
- 이전부터 문제가 있었던 이미지 선택 라이브러리, 유지보수와 테스트가 어려운 코드들을 개선하고자 전면 리팩토링을 계획하게 되었고, 아바타의 추가로 인해 메모리 사용량이 늘어 메모리 개선도 진행하고자 하였습니다.
- Koin을 Hilt로 마이그레이션을 진행하였습니다
- 구글에서 제공하던 Youtube Player API가 Deprecated 됨에 따라 IFrame을 사용하여 유튜브를 재생하도록 하였습니다
- RxJava를 Coroutine으로 조금 더 쉬운 비동기 처리 방식으로 수정하였습니다
- 뷰, 엔티티 등 관심사의 분리를 위해 Android Clean Architecture를 적용하였습니다
- 디자인 패턴은 MVVM을 사용하여 뷰와 로직을 구분하였습니다.
- 단톡 기능 추가 (2022.11.~2022.12.)
- 이전부터 유저들의 요청이 많던 단톡 기능을 구현하였습니다. 기존의 별점이 1점, 2점 등 부정적이던 리뷰들이 4점, 5점 등으로 개선하거나, 유저들도 스토리, 문의사항 등으로 만족을 나타내는 등, 유저들이 만족할만한 업데이트를 이뤄내는데 성공하였습니다.
- 파티 라이브 기능 추가 (2022.09.~2022.11.)
- Agora사의 SDK를 사용하여 화면공유, 음성 공유 기능을 구현하였습니다. 또, 파티 참가자도 음성공유 기능을 추가하여 8명까지 대화를 하며 파티를 진행할 수 있습니다.
- 아바타 추가 (2022.06.~2022.09.)
- Vtube 기능을 구현하기 전, 아바타를 먼저 개발하고자 하였고, MediaPipe, Filament를 사용하여 각각 얼굴의 3D 좌표를 가져와서, 3D 모델로 표시하고, 3D모델을 사용하여 숏폼을 찍는 기능을 구현하였습니다.
- 파티 기능 추가(2022.03.~2022.05.)
- 파티 기능을 통해 유튜브를 같이 스트리밍 하거나, 많은 사람들과 이야기 하는 기능을 구현하였고, 이는 오픈타운 앱의 다운로드 5만명 달성을 이루는데 큰 역할을 했습니다.
- 스토리 기능 추가(2022.01.~2022.02.)
- 스토리 기능을 추가함으로써 유저들간의 소통을 늘리게 하였고, 당시 안드로이드 앱 기준 별점이 0.2점 정도 상승하는 등의 성과가 있었습니다.
- 안드로이드 1차 리팩토링 (2021.10.~2021.12.)
- 전체적으로 리소스를 해제하지 않는 부분이나 API의 잘못된 사용 방법, 뷰와 로직이 분리되지 않은 부분이 많이 있었습니다. 그래서 MVVM 패턴을 적용하여 뷰와 로직을 분리하고, RxJava를 적용하여 비동기처리를 해주면서 해당 화면이 종료될때 리소스 해제하는 부분을 추가하여 메모리 사용량을 2/5 수준으로 (1GB → 400MB) 줄이는데 성공하였습니다.
- 채팅창 수정 (2021.09.~2021.10.)
- 기존의 채팅창에서는 리소스 사용량이 많아 사용자 휴대폰의 메모리 사용량, 데이터 사용량이 너무 과도하다는 지적이 있었습니다. 이에 PubNub 함수 호출 방식을 변경하여 메모리, 셀룰라 데이터 사용량을 2/3 수준으로 개선하였습니다.
더보기