UI, UX...그리고 프로그래머
얼마전 TV에서 하는 '썸머워즈'를 봤습니다.
다음영화 - 썸머워즈
프로그래머의 입장에서 이런류의 컨텐츠를 보면.....참 얼토당토 않다라는 생각을 많이 하게 됩니다.
아무래도 흥행성을 위해서 그러는거고 일반사람들은 오덕같은 사람들이 키보드 두들기고 있는 모습을 보고 싶지 않아서 일지도 모르죠 ㅎㅎㅎㅎ
그런 의미에서 매트릭스나 다이하드4 같은 영화는 적당한 선에서 양쪽을 잘 섞었다고 할수 있습니다.
그런데 문득 예전에 봤던 글이 떠올랐습니다.
가령 80~90년대 영화에서 전자매일을 지우면 구겨저서 휴지통으로 이동하는 모습 같은 것이죠.
당시 프로그래머들은 그 장면을 보며 "말도 안돼' 라고 말했을지 모르지만 지금 우리는 그러한 모습의 프로그램을 만들고 있습니다.
이 글에서 말하는 것은 영화는 사람들이 보고 싶어하는 프로그램의 모습을 반영하고 있고 그것은 곧 수요라는 것입니다.
......그리고 이것은 UX가 됩니다.
(참고 : 위키백과 - UX(User Experience))
프로그래머에게 UX란?
예나 지금이나 프로그래머에게 UI는 귀찬은 존재 입니다.
(참고 : 위키백과 - UI(User Interface) )
여전이 따로 UI필요없는 콘솔프젝트나 최소한의 UI만 쓰는 프로젝트는 기획단계에서 인기품목입니다.
문제는 이제는 서버프로젝트가 아닌 이상 거의 이런게 없죠-_-;
불과 몇년전까지만 해도(라고 해도 10년가까이 되긴 했습니다 ㅡ.-;) UI라고 해봐야 "일괄성만 지키면 된다"라는 시각이 대다수였습니다.
UX는 "먹는거임?"
역시나 잡느님의 힘은 강력해서 UX를 전면에 끌어주셨죠.
덕분에 프로그래머는 이제 UX도 신경을 써야 합니다.
UX프로그래머를 따로 두는 경우도 있긴 하겠지만 UI때와 마찬가지로 UI/UX를 생각하며 개발해야하는 것은 똑같습니다.
아래 예재를 통해 UI와 UX의 차이점을 알아 봅시다.
UX는 사치다.
유지보수 용의성
효율성
입니다.
이런입장에서 UX는 사실 사치입니다.
버튼하나만 추가 한다고 해도 UI수정에 UX수정은 덤으로 붙어오죠.
위 예제만 봐도 UX의 경우 최종 결과를 확인하는데 1초 가까운 시간이 필요합니다.
만약 화면전환이 많이 필요한 화면이라면 1초가 누적되어 1분이 되고 1시간이 되는건 금방입니다.
유지보수 용의성과 효율성을 떨어트리는 대표주자가 UX라고 볼수 있습니다.
(그래도 툴이나 언어가 UX를 구성하기 쉽게 나오고 있기 때문에 예전보다는 덜 문제가 되긴 합니다 ㅎㅎㅎ)
사람들은 UX를 원한다.
클라이언트가 프로그램의 목적이 통계데이터를 보는 것인데도 불구하고 데이터를 늦게보더라도 UX를 보고 싶어햇다는 말입니다.
ㅡ.ㅡ;
사람들은 프로그램에서도 따스함을 느끼기를 원합니다.
그렇기 때문에 그 프로그램의 진짜 목적을 포기하고라도 감성을 느끼고 싶어한다는 의미 입니다.
- 메뉴가 이왕이면 부드럽게 열린다
- 화면이 전환될때 그냥 깜박하고 화면이 새로운 화면이 나오는 것이 아니라 옆에서 달려 나오는 것 처럼 보이게 한다.
- 다음페이지로 넘어갈때 책장넘기는 애니에니메이션이 나온다.
- 팝업창이 나올때는 뒤에서 앞으로 달려오고 사라질때는 다시 뒤로 달려가는 효과
이런 것들이 사용자의 요구이고 사용자의 경험, 즉 UX입니다.
프로그래머도 진화한다.
(어찌보면 당연하죠. UI와 디자인 계념이 하루이틀 이야기는 아니니 까요. 거기에 UX계념도 추가 된것 뿐입니다.)
그래서 디자이너(혹은 UI/UX)와 프로그래머와 분리하기 위항여 여러가지 기법들이 생겨났습니다.
대표적인것이 MVC패턴, MVP패턴같은 각종패턴입니다.
(실버라이트나 WPF에서는 MVVM패턴을 사용합니다.)
결론은 우리가 해야 한다.
(물론 그 시스템을 말하는 것은 아닙니다.
한 시스템에 국가의 모든 중요 구성요소까지 때려 넣을 확률은 거의 제로라고 보시면 됩니다.
기껏해야 고객상담 같은 것이나 통합하겠지요(다산 콜센터 처럼 말이죠.)