다만 방식이 다를 뿐.
가끔 개발자들 이력서를 보면 UX를 구현한다는 텍스트를 추가한 사람들 있다. 물론 우리는 문제를 해결하는 사람들이다라는 사람도 있지만 그런 전지전능한 텍스트는 함부로 사용하지 않는것이 맞다고 생각하기에 UX를 구현한다는 사람들에 대한 이야기를 쓰겠다. UX를 구현하는 부분에 있어서 개발이 차지하는 부분이 존재하기 때문에 글을 쓰게 되었다. 미리 이야기 하지만, 개발자에 따라 아래의 글과 같이 개발하지 않는 사람도 있다. (그렇다고 그들이 잘못되었다는것은 아니다.) 마찬가지로 개발자에게 아래의 글처럼 개발해 달라고 강요하는것도 좋은 태도가 아니다. 어디까지나 글을 읽고 판단하는 사람의 몫으로 남겨두고 있다는 것을 알린다. 이 글을 읽는 사람 모두 비판적 사고와 자기중심이 확고한 사람이길 간절히 바란다. (지금쓰는 이 글도 무분별하게 받아들이지 말고 그냥 참고만 하길 바란다.) 또한 여건상 프론트 부분만 작성하였지만, 실제 서버단에도 여러가지 진행하고 있는것이 있으니 한쪽 개발직군에 편향된 글만 아니라는것을 미리 이야기 한다.
1. 애니메이션 또는 액션 구현
눈에 보이는 인터렉션을 구현하는 부분이다. 주로 애니메이션이나 사용자가 직접 사용하는 페이지들에 대한 구현이다. 웹으로 한정하자면, 디자인한 부분에 액션을 추가하는 부분이라고 하겠다. 예로 들면, 페이지를 넘어감에 있어서 시간이 걸릴 경우 로딩 시간동안 사용자가 당황하지 않도록 프로그래스 바 또는 그에 해당하는 애니메이션을 구현하여 기다려야 한다는 인식을 주도록 하는 부분이다. 이러한 부분을 고려하지 않을 때 해당 페이지 이동 시간이 길어질 경우 화면이 멈춘 것 같은 현상이 발생하기 때문에 사용자는 오류가 있을것 같은 판단을 하게 된다.
2. 지연시간 감소
한정적인 부분만 설명하자면, 하나의 페이지를 구성할 때 서버로부터 불러오는 지연시간을 줄이고자 하는 부분이다. 이게 왜 사용성과 관련이 있는지는 다음과 같다. 웹이나 앱을 실행할 때 불러오는 데이터의 접속횟수나 양이 적으면 적을수록 빠르게 접속할 수 있다. 모바일 웹페이지를 불러온다고 가정할 때 하나의 보여지는 페이지를 불러오고 그 페이지를 볼 동안 다른 페이지를 불러 올 수 있도록 순서를 분기하는 방식을 사용하여 시간을 줄이려는 노력을 한다. 일반적인 모바일웹 페이지를 불러올 때 한번에 모든 페이지를 불러오는 방식으로 만들 경우 실행 후 몇초간의 대기 시간이 발생하기 때문에 그 부분을 고려하여 처리하는 방식을 사용하는것만 추가하여 속도에 대한 이득을 얻는 방법이다.
3. 데이터 다루기
데이터를 다룰 때 사용자에게서 데이터를 받아 올 경우 해당 데이터의 수가 많을 때 중간에 저장해 놓는 방법을 사용하는 부분이다. 예를들면 회원 가입 폼이나, 계약서를 작성하는 서비스가 있다고 할 때 법적 또는 기타 이슈에 의하여 많은 입력단계와 페이지가 필요한 경우가 있다. 이 경우 페이지를 넘어가거나 취소 할 시 이전 입력된 자료들을 미리 저장해 두어 추후 입력하여 진행 할 수 있도록 배려하는 부분에서 사용자들에게 편리한 환경을 제공할 수 있다.
4. OS배려
모바일 웹에 한정해서 다음과 같은 경우가 발생할 수 있다. 안드로이드의 경우 이전버튼이 물리적으로 스마트폰에 있기 때문에 사용자는 이전버튼을 누를 때 이전 페이지로 이동하는것으로 인식하게 된다. 그러나 실제적으로 이전버튼을 누를 시 초기화면으로 이동하거나, 브라우저를 나가게 되는 (경험 상 대부분 초기화면으로 이동한것 같다.) 경우가 발생하게 되어 사용자를 당황하게 할 수 있다. 아이폰의 경우, 물리적으로 구현되어 있지 않기 때문에 이전 버튼을 추가하지 않는 서비스가 있어서 발생하는 부분이기도 하다. 이러한 부분을 고려하여 만드는 것도 실제로는 작은 부분이지만, 사용자를 배려하는 개발이라고 할 수 있을 것 같다.
5. 검색엔진 분류
마지막으로 리소스의 절약인데, 웹페이지 서비스의 경우 검색엔진이 보는 페이지와 사용자가 보는 페이지를 분기하여 필요한 페이지만 보여 지도록 작성하여 검색엔진으로 인한 리소스의 절약으로 이득을 얻는 방법이다.
대부분 속도와 데이터에 초점을 맞추어서 글을 작성하였지만, 내가 알지 못하는 부분에서도 사용자를 배려하는 개발이 있을 수 있다. 다만 UX가 누군가의 점유물이 아니라 서비스를 만드는 모든 직군이 다같이 만들어가는 부분임을 이야기 하고 싶었다. 개발자를 변호하고자 글을 작성한것은 아니며, 높이고자 쓴 글도 아니다. 조금이나마 서로에 대하여 이해하고자 하는 마음으로 글을 쓴 것임을 다시한번 이야기 하고 싶다.