[본 개발기는 2015년 8월 11일 작성된 개발기입니다. 팀 하이에나의 블로그에서 옮겨왔습니다.]  
안녕하세요.
SWIKI 를 만드는 팀 하이에나에 오세용 입니다.
 
오늘은 네번째 SWIKI  개발기로 지난주 있었던 SWIKI Android 버전의 치명적인 버그로 인해 유저들이 떠나갔던 이야기를 전해드릴까 합니다.
 
지난주는 저와 Android A 팀원이 휴가를 가게되었습니다. 때문에 그동안 개발했던 기능들을 모두 업데이트 하느라 허겁지겁 마무리를 했는데요. 그렇게 7월 31일 Android 버전 1.0.9를 무사히 업데이트하고 휴가를 떠났습니다.
 
그리고 지난주 제 마음을 아프게 하는 그래프가 그려졌지요.
 
스크린샷-2015-08-11-오후-1.52.14
 
<SWIKI 설치수 그래프 / 출처 – 오세용>
 
왜그런지는 모르겠지만 업데이트 직후 많은 수의 신규 유저들이 유입되었습니다. 몇몇 페이스북 그룹에 글을 올린 것을 빼고는 홍보를 하지 않았는데, 왜 갑자기 늘었는지는 모르겠네요.
 
그리고 기존유저들이 SWIKI 에 접근하지 못하는 치명적인 버그가 발생합니다.
 

Android SharedPreferences

 
Android 기능 중 SharedPreferences 가 있습니다. 앱을 종료하여도 저장되어야 하는 Data 를 담아둘때 사용되는데, 이 기능이 잘못 사용되어 생기는 버그였습니다. (setString 으로 저장을 해둔 뒤 getBoolean 으로 빼니 try catch 문에서 걸리더군요. try catch 문을 사용하여 앱이 죽지는 않았지만, 예외처리를 하지 않아 유저들에게는 아무런 반응이 없는 앱이 되어버렸지요. 개발자 분들은 SharedPreferences 를 사용한 부분에 업데이트를 할때 예외처리를 신경쓰시기 바랍니다.)
 
결과는 SWIKI 라는 단어가 나오는 Intro 화면에서 진입이 불가능한 쓸모없는 앱이 되어버렸지요. 실행이 되지 않는 앱이기 때문에 유저들은 하나, 둘 앱을 지웠습니다. 신기하게도 새로 유입 된 만큼의 유저들이 떠나버렸지요.
 
하지만 이 버그는 새로 앱을 설치한 경우에는 문제없이 작동됩니다. 기존 1.0.8 이하 버전을 사용하던 기존 유저가 1.0.9 버전으로 업데이트 하였을 경우 발생되었지요. 즉, 새로 유입된 만큼의 유저가 떠났지만 신규 유저가 아닌 기존 유저들이 떠난것입니다. 아… 소중한 유저분들이 떠나가셨네요.
 
사실 저 그래프가 가슴 아픈 이유는 “이 버그를 알면서도 그냥 휴가를 떠났기 때문” 입니다… 앱이 등록되고 나서 저는 앱을 삭제 후 설치하였고, 옆에 팀원은 업데이트를 하였습니다. 제 스마트폰의 앱은 정상 작동하였고, 팀원의 앱은 Intro 화면에 멈췄지요. 서버 로그는 정상적으로 들어오는데 작동이 되지 않는걸 이상히 여겨 앱을 지웠다 깔아보자고 했고, 역시 정상 작동되었습니다. 뭔가 문제가 있음을 알았지만… 그냥 떠났지요.
 
결국 뭐, 누구도 탓 할 수 없는 제 책임이였습니다.
 
아… 이렇게 떠난 유저분들은 다시 모실수도 없습니다. 아마 이렇게 한명, 한명 떠나가는 아픔은 서비스를 운영하는 사람들만 알 수 있을거에요. 저 버그때문에 좋은 경험을 했지만, 그만큼의 비용을 지불하게 되었습니다.
 
다시는 이상한 낌새를 눈치 채고도 휴가를 떠나는 일은 없을것입니다.
 
다음 개발기에는 좋은 소식으로 찾아뵙고 싶네요 ㅎㅎ
 
감사합니다.