요즘 생각하는 디자인이라는 재미있는책을 읽는도중 하노이탑퍼즐을 변형하여 디자인기법을 설명하고 있는 재미있는 부분을 소개할까한다.(UI개발의 중요성을 다시한번 생각하게 하는부분.)
한번 아래 두문제를 풀어 보기 바란다.
첫번째 문제는 c를 d처럼 만드는 문제이다.
크게 둥그런건 쟁반이고 안에 까만것들은 오렌지다.
c에서 d로 만드는데는 규칙이 있다.
1.한번에 하나의 오랜지만을 옮길수 있다.
2.쟁반에 옮겼을 때 옮긴 오랜지가 가장 큰것이어야한다.
3.각 쟁반에서 가장 큰 오렌지만 다른 쟁반으로 옮길수있다.
두번째 문제는 e를 f처럼 만드는것이다.
e에서 f로 만드는데도 첫번째 문제와 동일한 규칙을 가지고 있다.
근데 과연 두가지문제가 동일한 난이도의 문제일까?
난이도는 첫번째 문제가 두배이상 높다.(책에 근거함.)
이유는 무엇일까?
실질적으로 두번째 문제에서는 3가지 규칙중 첫번째 규칙만 있으면된다.
두번째 문제에선 잔안에 커피가 있기때문에 큰잔에 작은잔을 넣을경우 잔에 커피가 넘쳐
커피잔을 포갤때 반드시 작은잔이 아래로 간다.그리고 쟁반에는 하나이상의 커피잔을 놓을경우
포갤수 밖에 없기 때문에 2번과 3번의 제약은 물리적으로 제약 하고 사람또한 경험으로 알고 있다.
이렇기 때문에 두번째 문제는 1번의 제약만으로 똑같은 문제를 낼수있고 난이도 또한 낮아지는것이다.
위와같은 경우와 유사한 UI개발이 어떤것이 있을까?
찾아보면 상당히 많을것이다. 지금 바로 생각한 것은 전송버튼이다.
많은 사용자들은 전송버튼을 누른후 전송이 느리면 여러번 전송버튼을 누를때가 많다.
이러한 경우 처리을 잘못하면 구매페이지일때 여러개의 원치않은 물건들이 목록에 올려놓을수 있다.
이럴때 처리방법이 많겠지만 내가 경험한바로는 대부분은 UI쪽에서는 아무런 대책이 없고
서버측에서 해결하는것으로 알고 있다.그 이외로 alter창을 띄우는경우도 있다.(물론 잘된곳도 많다.)
서버측에서 해결하는방법이나 alter창을 띄우는 방법말고 간단하게 전송버튼을 disabled 하면
아마 사용자는 당연히 전송하고 있는중인것으로 알고 누를지도 못할뿐더라 생각조차 안할것이다.
이렇게 UI개발시 사용자의 고민을 최대한 덜어주는것이 중요한것 같다.
UI개발을 할때 무심코 경고메세지나 도움말을 추가하기 보다는 UI개발이 잘되었는지 다시 한번 생각해봐야겠다.
이미지 출처:Graspable User Interfaces(이곳에서도 같은얘기를 하는것 같다.;;)
한번 아래 두문제를 풀어 보기 바란다.
첫번째 문제는 c를 d처럼 만드는 문제이다.
크게 둥그런건 쟁반이고 안에 까만것들은 오렌지다.
c에서 d로 만드는데는 규칙이 있다.
1.한번에 하나의 오랜지만을 옮길수 있다.
2.쟁반에 옮겼을 때 옮긴 오랜지가 가장 큰것이어야한다.
3.각 쟁반에서 가장 큰 오렌지만 다른 쟁반으로 옮길수있다.
두번째 문제는 e를 f처럼 만드는것이다.
e에서 f로 만드는데도 첫번째 문제와 동일한 규칙을 가지고 있다.
근데 과연 두가지문제가 동일한 난이도의 문제일까?
난이도는 첫번째 문제가 두배이상 높다.(책에 근거함.)
이유는 무엇일까?
실질적으로 두번째 문제에서는 3가지 규칙중 첫번째 규칙만 있으면된다.
두번째 문제에선 잔안에 커피가 있기때문에 큰잔에 작은잔을 넣을경우 잔에 커피가 넘쳐
커피잔을 포갤때 반드시 작은잔이 아래로 간다.그리고 쟁반에는 하나이상의 커피잔을 놓을경우
포갤수 밖에 없기 때문에 2번과 3번의 제약은 물리적으로 제약 하고 사람또한 경험으로 알고 있다.
이렇기 때문에 두번째 문제는 1번의 제약만으로 똑같은 문제를 낼수있고 난이도 또한 낮아지는것이다.
위와같은 경우와 유사한 UI개발이 어떤것이 있을까?
찾아보면 상당히 많을것이다. 지금 바로 생각한 것은 전송버튼이다.
많은 사용자들은 전송버튼을 누른후 전송이 느리면 여러번 전송버튼을 누를때가 많다.
이러한 경우 처리을 잘못하면 구매페이지일때 여러개의 원치않은 물건들이 목록에 올려놓을수 있다.
이럴때 처리방법이 많겠지만 내가 경험한바로는 대부분은 UI쪽에서는 아무런 대책이 없고
서버측에서 해결하는것으로 알고 있다.그 이외로 alter창을 띄우는경우도 있다.(물론 잘된곳도 많다.)
서버측에서 해결하는방법이나 alter창을 띄우는 방법말고 간단하게 전송버튼을 disabled 하면
아마 사용자는 당연히 전송하고 있는중인것으로 알고 누를지도 못할뿐더라 생각조차 안할것이다.
이렇게 UI개발시 사용자의 고민을 최대한 덜어주는것이 중요한것 같다.
UI개발을 할때 무심코 경고메세지나 도움말을 추가하기 보다는 UI개발이 잘되었는지 다시 한번 생각해봐야겠다.
이미지 출처:Graspable User Interfaces(이곳에서도 같은얘기를 하는것 같다.;;)
TAG UI개발




