# 왜 자꾸 업데이트를 시켜요 2020년 말, 삼성 갤럭시 디바이스에는 [원 UI 3.0 업데이트](https://news.samsung.com/kr/%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90-%EC%9B%90-uione-ui-3-%EC%A0%95%EC%8B%9D-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%EC%8B%9C%EC%9E%91)가 있었고, 구입한지 3년 정도 지난 제 갤럭시 S9+ 또한 안드로이드 11버전 업데이트를 받을 수 있었습니다. 서브로 사용하는 아이폰 또한 2020년 9월에 출시된 [iOS 14](https://www.apple.com/kr/ios/ios-14/) 이후로 추가 업데이트를 진행하여 2021년 3월 말, 14.4.2 버전까지 올라왔습니다. 그런데, 이렇게 업데이트가 있을 때마다 짜증내며 싫어하는 사람이 꽤 많습니다. 어르신들 같은 경우 휴대폰 업데이트를 최대한 미루기도 하고, "이거 하면 망가지는 거 아냐?" 하면서 피하시는 경우도 많이 보게 됩니다. 실제로, 평소에 자주 쓰던 기능이 업데이트 후 사라지거나, 잘 쓰지 않는 기능이 부각되는 일이 많기 때문이죠. ![[Pasted image 20250206230953.png]] 운영체제 업데이트가 있을 때 | [naivecomics.com](http://naivecomics.com/) 심지어, 급하게 어떤 앱을 써야하는데 업데이트부터 하고 오라고 하는 경우도 많습니다. 잘 쓰지 않거나 대체재가 있다면 그냥 앱을 삭제하면 되지만, 필수 앱이거나 금융/관공서 앱이라면 울며 겨자먹기로 업데이트가 끝나기를 기다려야하죠. ~~삼성페이 제발~~ 이렇게 다양한 불만이 있음에도 불구하고, 플랫폼 운영사들은 업데이트를 꾸준히 제공합니다. 심지어, 업데이트가 없으면 오히려 사람들이 떨어져나가기도 하죠. ~~힘내라 LG~~ 그리고 이런 불만은, 어떻게 잠재울 수 있을까요? 개발 관점을 잠시 내려놓고, 사용자 경험 관점에서 한 번 살펴봅시다. ## 업데이트의 목적 극단적으로 말해서, 모든 업데이트는 제품을 "더 낫게" 만들고자 하는 목적으로 진행합니다. 품질을 높이거나, 불편함을 개선하거나, 하다못해 서비스 제공자의 수익을 높인다는 목적이라도 존재하죠. 그런 다양한 개선 목적이 존재하겠습니다만, 여기서는 사용자 경험 측면에서만 살펴보겠습니다. ### 보안 문제 많은 사람들이 무시하는 것 같지만, 소프트웨어 업데이트의 가장 큰 목적은 대부분 보안 이슈 때문입니다. 저는 1년 넘게 해외여행을 떠나지 못하고있지만 제 개인정보는 이미 전세계를 떠돌고있죠. 다만 그것이 제 신변을 위협할 정도가 아니기 때문에 그러려니 하고 있습니다. 하지만, 간단한 개인정보조차 소프트웨어의 문제로 유출된다면, 그 파장은 어마어마하기 마련입니다. 그래서 소프트웨어 제조사들은 보안 업데이트에 최선을 다합니다. 스마트폰 업데이트는 짧아도 보통 1~2년, 길어야 4년 정도입니다. 하지만 보안 업데이트는 4년 정도는 기본에, 길게는 7년 이상(ex: 아이폰 5s) 이어지기도 하죠. 심지어 2001년에 출시된 윈도우XP는 2008년 서비스팩 3 업데이트 이후, 공식적으로는 2014년에 지원이 종료됐습니다. 하지만 보안 2019년에도 보안 업데이트가 이루어질 정도였죠. 이처럼, 업데이트는 보안이라는 필요에 따라 매우 길게 이어지게 됩니다. [전세계 ATM중 95%가 윈도우 XP 사용 - The Verge](https://www.theverge.com/2014/1/20/5326772/windows-xp-powers-95-percent-of-atms-worldwide) ### 유지보수 문제 소프트웨어는 설계와 구축, 유지보수 및 폐기까지 일정한 생명 주기를 지니고있으며, 이 과정은 건축과 비슷한 관점에서 볼 수 있습니다. 그래서 이 과정을 체계적으로 진행하고자 탄생한 학문이 바로 [소프트웨어 공학](https://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EA%B3%B5%ED%95%99)입니다. 어쩌면 조금 의아하게 여길 수도 있습니다. "소프트웨어는 하드웨어와 달리 부서지거나 낡지 않잖아요?"라고 질문할 수도 있죠. 하지만 의외로, 소프트웨어는 낡고, 부서지기도 합니다. 대다수의 소프트웨어는 다른 개발자들이 미리 작성해둔 코드 중 일부분을 "빌려" 사용하며, 이렇게 빌리는 과정은 여러 단계를 거치는 경우가 많습니다. 소위 말하는 의존성(dependency) 개념이나 라이브러리가 여기에 해당하죠. 그런데 기능 추가나 버그 수정을 위해 적용하려는 시점에서, 그것이 불가능해지는 시점이 오게됩니다. 가져온 코드 중 일부가 더 이상 사용되지 않거나(deprecated), 가져온 다른 코드와 충돌하여 새로 작성해야 하는 경우도 많죠. [11줄의 코드, 인터넷을 패닉에 빠뜨리다 - 블로터](https://www.bloter.net/newsView/blt201604040002) 꾸준히 고치면서 더 낫게 만들 수는 있지만, 어느 순간 그것이 불가능해지는 순간이 오게됩니다. 보통 그 시점 전에, 새로운 소프트웨어를 도입하지만, 그조차 힘들다면 결국 대규모 업데이트를 제공해야 합니다. 고치지 않고 처음 상태 그대로 쓰면 되지 않냐고요? 글쎄요... 앞에서도 이야기했지만, 업데이트를 싫어하는 사람이 있는 반면에 업데이트가 없어서 떠나는 사람도 많습니다. 세상 어디에도 완벽한 프로그램은 없고, 버그를 발견하면 그것을 악용하는 사람도 있기 마련이기 때문이죠. 아무리 좋은 서비스를 만들었어도 버그는 있기 마련이고, 그 버그를 악용해서 다른 사람들에게 피해주는 상황을 내버려둔다면, 서비스 전체가 망하는 것은 시간문제입니다. ### 사용자 경험 문제 이처럼, 사용자 경험을 저해하는 **현재 상태**를 수정하지 않고 그대로 둔다면, 사용자는 "차라리 ~를 쓰고 말지"하게됩니다. 보통 서비스 제공 기간이 오래되면, 동일한(혹은 더 나은) 기능을 제공하는 서비스가 등장하기 마련이죠. 사용자 대다수가 현재 서비스에 **애착**을 지녔거나, 도저히 옮겨갈 수 없을 정도로 락인(Lock-in)이 강한 경우는 많지 않습니다. 안드로이드에서 아이폰으로 옮겨가는 경우나, 그 반대방향 또한 많지 않죠? 하지만 배민을 쿠팡이츠로 바꾸는 일은 그리 어렵지 않습니다. 그리고 우리는 모두, 싸이월드를 버리고 페이스북으로 옮겨왔던 과거가 있죠. ## UX 개선방안 그렇다면, 어떻게 해야 사용성을 최대한 덜 저해하면서, 효과적으로 소프트웨어 업데이트를 제공할 수 있을까요? 업데이트라는 특정한 목적 달성을 위해, 사용자 행동 경로를 효율적으로 설계해야 합니다. 즉, UX 디자이너가 나설 차례라는 뜻이죠. ### 강제 업데이트 사실, 이게 제일 쉬운 방법입니다. 소프트웨어(혹은 앱)을 사용하고자 할 때, 업데이트를 진행하지 않으면 사용이 불가능하게 만드는 방법이죠. 금융이나 보안, 혹은 게임 등, 다수의 사용자에게 온라인으로 서비스를 제공하는 경우 자주 사용하는 방식입니다. 접속자 중 버전이 일치하지 않는 사용자가 있다면, (다양한 사유로) 누군가는 손해를 보게 되죠. 그러한 상황을 막기 위해 어쩔 수 없이 택하는 방법입니다. 위와 같은 상황이 아니더라도, 서비스 자체가 충분히 락인이 강하다면 언제라도 시도할 수 있는 방법입니다. 대표적인 예시가 카카오톡인데요, 카카오톡은 작년 8월 [구버전 지원을 중단](https://pc.kakao.com/talk/notices/ko/2466)한 바 있습니다. 물론 보안 등의 사유가 있었겠지만, 그 외에도 "대체재가 없다시피한" 상황을 잘 이용했다고 볼 수 있겠습니다. 혹은 조금 나은 방법으로, 서비스 시작 화면에서 경고성 안내를 매우 크게 표시하는 등, 강제에 가까울 정도로 업데이트를 유도하는 방법도 있습니다. 하지만, 쉬운만큼 사용자의 불만도 클 수밖에 없죠. 그러니, 이보다는 조금 나은 방법을 생각해봅시다. ### 사용자 불만 해소 사람의 인지체계는 게으름을 지향하며, 이는 뇌가 "칼로리를 덜 쓰는 방향"으로 진화해 온 결과물입니다. 또한, 100원이 생겨서 얻는 **행복**보다, 100원을 잃어서 생기는 **고통**을 더 크게 느끼죠. 결국 변화 자체는 사람에게 일정 분량만큼 고통을 주기 마련입니다. 그래서 대부분의 사람은 안정을 지향하죠. 누군가는 "나는 성장지향형 인간이야!"라고 말 할 수는 있겠습니다만, 그 사람 또한 하향 변화는 싫어할수밖에 없습니다. 업데이트 또한 동일합니다. 리디자인이나 기능 수정 등의 업데이트가 끝나면, 앱스토어(또는 플레이스토어)에는 항상 "~기능 잘 쓰고있었는데 없어졌어요"라는 리뷰가 달리게 됩니다. ~~"구매내역 삭제해주세요"~~ 사라지지 않고 위치만 이동한 경우에도, 변화에 대한 적응력이 부족하면 언제라도 "업데이트하고 이상해졌어요" 같은 리뷰가 달릴 수 있죠. 사실, 서비스 중 특정 기능 제공에 대해서는 계약(또는 약관)에 포함되지 않는 경우가 많습니다. 그렇기 때문에 어떤 기능 제공이 사업상 손해가 될 경우, 언제라도 사라질 수 있죠. 아이폰의 포스터치 기능 삭제가 그 대표적인 예시입니다. 아예 사라지지 않더라도, 접근이 어렵게 만들어버릴 수도 있습니다. Depth를 추가하거나 정보를 숨기는 등(참고: [다크 패턴](https://en.wikipedia.org/wiki/Dark_pattern)) 다양한 방법이 있죠. 즉, 이 과정을 피하면 됩니다. UX 통계를 꾸준히 수집하고 정리하여, 사용자가 최대한 덜 불편한 방향으로 유도해야죠. 여기에도 다양한 방법이 존재할 수 있으며, 아래는 그에 대한 몇 가지 예시입니다. - 어떤 시점에서 업데이트를 안내해야 이탈률을 줄일 수 있는지 고민하기 - 업데이트 알림을 미리 표시하고 준비기간을 주거나, 업데이트를 단계별로 제공하기 - 업데이트 이후 기존 사용성 유지를 위해 충분한 가이드를 제공하기 ### 쉬운 업데이트 [OTA(Over The Air) 업데이트](https://source.android.com/devices/tech/ota)라는 말이 있습니다. 사용자의 디바이스에 새로운 소프트웨어를 제공해야 할 때, 따로 케이블을 연결하거나 할 필요 없이 무선으로 바로 업데이트를 적용하는 방법이죠. 이 방법을 적용하면, 사용자는 해당 업데이트를 변조하거나 거부하기 어려우며, 심지어 변조가 된 이후에도 제한적으로나마 원상복원이 가능해집니다. 어찌 보면 강제 업데이트와 비슷한 방법이지만, 사용자가 인식하기 어렵다는 점에서 차이가 나죠. 이전에는 휴대폰 업데이트를 위해서는 컴퓨터에 연결하거나, 심지어는 서비스센터에 방문하기도 했습니다. 아래와 같은 이유가 있었기 떄문이죠. (이외에도 다양한 사유가 있으나 생략할게요) - 통신 상태가 좋지 않은 경우가 많음(Wi-Fi 미지원 등) - 디바이스 자체 업데이트 기능 미구현(성능 문제) - 업데이트 기능을 활용한 소프트웨어 위/변조 우려 다행히도 지금은 일반적인 통신 환경이 크게 개선되었고(5GHz Wi-Fi, 5G 이동통신 등), 디바이스 성능은 비교조차 불가능할 정도로 엄청난 발전을 거듭했습니다. 그래서 최근에는, 운영체제 업데이트가 필요한 경우 아래와 같은 방법으로 진행되는 경우가 많습니다. 1. 업데이트가 존재함을 안내 2. 전원, 와이파이 연결 3. 잘 사용하지 않는 시간대(수면 도중 등)에 업데이트 진행 4. 이후 사용 시 업데이트 완료된 화면 표시 즉, 사용자는 알림 한 번만 받고, 특별히 거부([Opt-out](https://en.wikipedia.org/wiki/Opt-out))하지 않는 이상 자동으로 업데이트를 받을 수 있습니다. 그리고 그 과정에서 큰 불편을 느끼는 경우는 별로 없죠. 최근 그 추세가 꺾이기는 했으나, 이런 방법을 매우 쉽게 적용하는 방법이 있습니다. 바로 [웹앱](https://developer.mozilla.org/ko/docs/Web/Progressive_web_apps/Introduction)과 [하이브리드 앱](https://ionic.io/resources/articles/what-is-hybrid-app-development)이죠. 이 경우 앱(또는 소프트웨어)은 단순히 서비스에 접속하는 도구일 뿐이며, 내용물은 서버에서 제공합니다. 서비스에 변경사항이 있을 경우에는 사용자가 인식하기도 전에 수정해서 제공이 가능해집니다. 비슷한 사례로, 온라인 게임에서는 "잠수함 패치"라는 말이 있습니다. 게임 실행 과정에서 몰래 변경사항을 적용하거나, (사례가 많지 않으나)실행 도중에도 서버측 수정으로 변경사항이 적용되는 경우를 말합니다. ~~업무실수한 것 팀장 몰래 고친 거랑 똑같은~~ 이 경우 게임 내 밸런스가 변경되기 때문에 불만은 존재할 수 있으나, 전체적인 **사용성**을 저해하지는 않기 때문에 가끔 사용되는 방법입니다. ## 결론 보안은 중요하지만, 사용자 경험은 더 중요합니다. 비즈니스 모델은 분명 중요하지만, 고객 경험을 무시하면 정말 큰일납니다. 최신 기술과 신기능은 흥미롭지만, 종종 추억이 더 재밌을지도 모릅니다. 사용자의 입장을 고려하지 않으면 반드시 저항이 생기게 됩니다. 사용자에게 최고를 제공하겠다는 마음은 좋지만, UX부터 챙기는 기획을 할 수 있기를 바랍니다. ### 참고자료 [The death of Windows XP will impact 95 percent of the world's ATMs](https://www.theverge.com/2014/1/20/5326772/windows-xp-powers-95-percent-of-atms-worldwide) [전세계 ATM중 95%가 윈도우 XP 사용 - The Verge](https://www.theverge.com/2014/1/20/5326772/windows-xp-powers-95-percent-of-atms-worldwide) [11줄의 코드, 인터넷을 패닉에 빠뜨리다](https://www.bloter.net/newsView/blt201604040002) [11줄의 코드, 인터넷을 패닉에 빠뜨리다 - 블로터](https://www.bloter.net/newsView/blt201604040002) [안드로이드 버전별 통계](https://developer.android.com/about/dashboards/?hl=ko) [iOS, iPadOS 버전별 통계](https://developer.apple.com/kr/support/app-store/) [운영 체제 시장 점유율 - 위키백과, 우리 모두의 백과사전](https://ko.wikipedia.org/wiki/%EC%9A%B4%EC%98%81_%EC%B2%B4%EC%A0%9C_%EC%8B%9C%EC%9E%A5_%EC%A0%90%EC%9C%A0%EC%9C%A8) --- ## **Contact** GitHub : [https://github.com/john33fiao](https://github.com/john33fiao) Email : [[email protected]](mailto:[email protected])