객체지향 UI 설계: 사용자 중심의 직관적인 인터페이스를 위하여
1. 일상생활에서의 소프트웨어 사용과 사용자 인터페이스(UI)의 정의
우리는 일상생활에서 다양한 소프트웨어를 사용합니다. 스마트폰으로 메시지를 보내고, 노트북으로 문서를 작성하며, 태블릿으로 인터넷을 검색합니다. 이처럼 소프트웨어는 우리 삶의 많은 부분에 자리 잡고 있습니다. 하지만 소프트웨어를 사용할 때, 우리는 화면에 나타나는 버튼, 아이콘, 메뉴 등을 통해서만 소프트웨어와 소통할 수 있습니다. 이렇게 사용자와 소프트웨어 사이에서 정보를 주고받는 접점을 사용자 인터페이스(User Interface, UI)라고 합니다.
2. UI에 대한 인식 변화: 그래픽 요소에서 실제 오브젝트로
과거에는 UI를 단순히 화면에 나타나는 그래픽 요소들의 집합으로 여겼습니다. 하지만 최근에는 UI를 마치 실제 세계에 존재하는 사물처럼 인식하는 경향이 늘고 있습니다. 이는 사용자 인터페이스가 가상의 존재가 아닌, 실제 오브젝트(객체) 그 자체로 인식되고 있음을 의미합니다. 이러한 변화의 중심에는 객체지향 UI의 개념이 자리잡고 있습니다.
3. 객체지향 UI의 정의와 그래픽 사용자 인터페이스(GUI)의 특성
객체지향 UI란 오브젝트를 기준으로 사용자의 조작을 설계한 UI를 말합니다. 애플리케이션의 UI를 구성할 때, 화면과 데이터를 오브젝트에 맞게 대응시키는 방법론이 바로 객체지향 UI 설계입니다. 그래픽 사용자 인터페이스(Graphical User Interface, GUI)가 사용자에게 친숙한 이유는 정보와 기능을 시각적으로 표현할 뿐만 아니라, 오브젝트를 중심으로 체계적으로 정리하기 때문입니다.
4. 객체지향 UI의 두 가지 목적: 업무 재구성과 사용자 중심 조작
객체지향 UI의 목적은 크게 두 가지로 요약할 수 있습니다. 첫째, 디자이너가 업무의 본질을 파악하여 이를 UI로 창의적으로 재구성(reframe)하는 것입니다. 객체지향 UI 디자이너는 업무의 형태를 파헤치고, 이를 사용자가 이해하기 쉬운 형태로 UI에 반영합니다. 둘째, 사용자가 자신만의 방식으로 목적을 달성할 수 있도록 하는 것입니다. 객체지향 UI는 사용자가 대상에 직접 접근하여 조작할 수 있게 함으로써, 사용자 나름의 방식으로 목적을 향해 나아갈 수 있도록 돕습니다.
5. 객체지향 UI의 특징: 사용자와 시스템 간 상호작용 방식
객체지향 UI의 특징은 사용자와 시스템 간의 상호작용 방식에서 잘 드러납니다. 전통적인 시스템에서는 사용자가 시스템이 제공하는 기능을 수동적으로 사용하는 데 그쳤습니다. 사용자는 시스템이 정해놓은 절차와 규칙에 따라야만 했고, 자신의 방식대로 시스템을 활용하기 어려웠습니다. 반면 객체지향 UI에서는 사용자가 능동적으로 시스템을 조작하고 제어할 수 있습니다. 마치 실제 세계의 사물을 다루는 것처럼, 사용자는 UI를 구성하는 오브젝트와 직접 상호작용합니다. 이를 통해 사용자는 자신의 목적에 따라 시스템을 유연하게 활용할 수 있게 됩니다.
6. 객체지향 UI의 기본 원칙
객체지향 UI는 다음과 같은 원칙을 따릅니다.
- 오브젝트는 사용자가 인지하고 직접 조작할 수 있어야 합니다.
- 오브젝트는 자신의 특성과 상태를 시각적으로 표현해야 합니다.
- 사용자는 ‘오브젝트 선택 -> 액션 선택’의 자연스러운 조작 순서를 따릅니다.
- 모든 오브젝트는 서로 협력하여 UI를 구성합니다.
7. 객체지향 UI에서 오브젝트의 시각적 표현과 사용자 인식
객체지향 UI에서 오브젝트는 자신의 성질과 상태를 사용자에게 명확히 전달해야 합니다. 컴퓨터 작업에 필요한 개념들은 지각 가능한 형태로 표현되어야 하며, 사용자가 작업 진행 상황을 파악하고 다음 조작을 결정할 수 있도록 도와야 합니다. 이를 위해 각 오브젝트는 자신의 성질과 현재 상태를 시각적 요소(형태, 색상 등)로 나타냅니다. 사용자는 이를 통해 오브젝트를 마치 실제 물체처럼 인식하게 되며, 직접 조작하는 듯한 느낌을 받게 됩니다. 이렇게 추상적인 정보를 구체적인 형태로 표현함으로써, 사용자는 일상생활에서의 경험을 바탕으로 컴퓨터를 더욱 쉽게 다룰 수 있게 됩니다.
8. 객체지향 UI의 조작 순서: ‘오브젝트 선택 -> 액션 선택’
객체지향 UI의 또 다른 특징은 ‘오브젝트 선택 -> 액션 선택’이라는 조작 순서를 따른다는 점입니다. 사용자는 먼저 조작하고자 하는 대상(오브젝트)을 선택한 뒤, 그 대상에 대한 액션을 선택합니다. 이는 마치 ‘명사 -> 동사’의 순서와 같습니다. 일상생활에서도 우리는 목적을 달성하기 위해 먼저 대상을 선택하고, 그 대상에 행위를 가합니다. 예를 들어, 사과를 먹기 위해서는 먼저 사과를 손에 든 뒤, 베어 물게 됩니다. 이처럼 객체지향 UI는 사용자에게 자연스러운 사고와 행동 흐름을 제공합니다.
9. 명령어 기반 인터페이스(CLI)와 객체지향 UI의 조작 순서 비교
반면, 전통적인 명령어 기반 인터페이스(Command Line Interface, CLI)에서는 이와 반대로 ‘동사 -> 명사’의 순서로 명령을 입력합니다. 사용자는 먼저 수행할 동작(명령어)을 입력한 뒤, 그 동작이 적용될 대상(매개변수)을 지정합니다. 이는 사용자에게 다소 부자연스러운 사고 흐름을 요구하기 때문에, 초보자가 접근하기 어려울 수 있습니다.
10. 객체지향 UI에서 오브젝트 간의 상호작용과 사용자 경험
객체지향 UI에서는 화면을 구성하는 모든 요소가 오브젝트로 취급됩니다. 각 오브젝트는 자신만의 속성과 행동을 가지며, 사용자와의 상호작용을 통해 전체 UI의 상태를 변화시킵니다. 이 때, 오브젝트들은 서로 연결되고 소통하면서 사용자에게 통합된 경험을 제공합니다. 마치 현실 세계에서 사물들이 서로 영향을 주고받으며 전체적인 맥락을 형성하는 것처럼, UI를 구성하는 오브젝트들도 유기적으로 협력합니다. 사용자의 조작에 따라 오브젝트의 상태가 변화하면, 해당 오브젝트는 이를 시각적으로 표현하여 사용자에게 피드백을 제공합니다. 이를 통해 사용자는 자신의 행동이 UI에 어떤 영향을 미쳤는지 직관적으로 파악할 수 있습니다.
11. 객체지향 UI와 하이데거의 도구 개념의 연관성
이러한 객체지향 UI의 특성은 독일의 철학자 마르틴 하이데거의 사상과도 연결지어 생각해 볼 수 있습니다. 하이데거는 도구란 그 자체로 독립적으로 존재하는 것이 아니라, 다른 도구들과의 관계 속에서 의미를 가진다고 보았습니다. 마찬가지로 UI를 구성하는 오브젝트들도 개별적으로 존재하는 것이 아니라, 서로 연결되고 영향을 주고받으며 전체적인 사용 경험을 만들어냅니다.
12. 객체지향 UI의 발전 방향과 사용자 경험 향상
이 글에서는 객체지향 UI의 개념과 특성, 그리고 그 근간이 되는 원칙에 대해 살펴보았습니다. 사용자 인터페이스가 단순한 정보 전달의 도구를 넘어, 사용자와 능동적으로 소통하는 존재로 발전해 가는 과정에서 객체지향 UI의 역할은 점점 더 중요해지고 있습니다. 객체지향 UI를 설계할 때에는 사용자가 오브젝트를 직접 조작하는 듯한 느낌을 받을 수 있도록 세심한 주의를 기울여야 합니다. 이를 통해 사용자는 자신의 목적을 더욱 쉽고 편리하게 달성할 수 있을 것입니다. 향후 객체지향 UI의 발전은 사용자와 컴퓨터 간의 상호작용을 더욱 자연스럽고 직관적으로 만드는 데 기여할 것으로 기대됩니다.
13. 객체지향 UI와 태스크지향 UI의 상호작용 방식 비교
객체지향 UI와 태스크지향 UI는 사용자와 시스템 간의 상호작용 방식에서 차이를 보입니다. 객체지향 UI는 ‘명사 -> 동사’의 순서로, 먼저 오브젝트를 선택한 다음 해당 오브젝트에 대한 액션을 고르는 방식입니다. 반면 태스크지향 UI는 ‘동사 -> 명사’의 순서로, 먼저 수행할 태스크를 선택한 다음 그 태스크의 대상이 되는 오브젝트나 파라미터를 지정합니다.
14. 객체지향 UI와 태스크지향 UI의 적용 분야
객체지향 UI는 사용자가 다양한 정보를 탐색하고 창의적인 활동을 수행할 때 유용합니다. 반면 태스크지향 UI는 정해진 절차에 따라 입력을 수행하는 경우에 적합합니다. 그럼에도 불구하고 업무 애플리케이션에서는 태스크지향 UI가 여전히 많이 사용되고 있는데, 이는 설계자들이 업무 분석 과정에서 ‘할 일’을 중심으로 요구사항을 정리하기 때문입니다.
15. 태스크지향 UI 설계의 원인: 업무 분석 과정에서의 ‘할 일’ 중심 요구사항 정리
또한 GUI의 기본적인 설계 방법인 객체지향 UI에 대한 문서화가 부족한 점도 태스크지향 UI가 만들어지는 원인 중 하나입니다. 시스템 개발 프로젝트에서는 사용자의 요구사항을 ‘할 일’ 중심으로 정리하다 보니, 자연스럽게 태스크를 기반으로 UI를 구성하게 됩니다.
16. 사용자 중심 설계 프로세스와 태스크지향 UI의 연관성
사용자 중심 설계 프로세스에서는 사용자의 태스크를 충분히 파악하고, 이를 효율적으로 지원하는 것이 디자인의 목적으로 인식됩니다. 이 과정에서 사용자의 이용 순서를 디자인하는 것에 초점이 맞춰지면서, 애플리케이션 전체가 태스크지향적으로 구성되는 경향이 있습니다.
17. UX 디자인과 태스크지향 UI의 확산
UX(사용자 경험)가 주목받으면서, UI 디자인의 목표가 사용자 경험 가치의 향상으로 인식되는 것도 태스크지향 UI의 확산에 일조하고 있습니다. 경험을 디자인한다는 것이 사용자의 이용 순서를 디자인하는 것으로 받아들여지면서, 태스크 중심의 UI 설계가 더욱 강화되고 있습니다.
18. 기업 시스템 기획자와 엔지니어의 태스크지향적 설계 경향
이러한 이유로 기업 시스템 기획자나 엔지니어들이 시스템을 구상할 때, 대개 태스크지향적이고 형식적인 설계를 하게 됩니다. 컴퓨터 과학자 나다니엘 보렌스테인은 디자인 감각과 기술, 경험이 부족한 사람들이 생각하는 애플리케이션의 기본 설계는 ‘차례대로 하기만’ 하는 식이라고 지적했습니다.
19. 객체지향 UI 설계를 위한 접근 방식: 태스크에서 오브젝트로
객체지향 UI를 제대로 설계하기 위해서는 태스크의 순서에 얽매이기보다, 태스크에 필요한 정보 오브젝트를 정의하고 사용자가 이를 자유롭게 다룰 수 있도록 해야 합니다. 사용자는 오브젝트를 직접 조작하면서 자신만의 방식으로 목적을 달성할 수 있어야 합니다. 이를 통해 사용자는 시스템을 보다 유연하고 창의적으로 활용할 수 있을 것입니다.
20. 객체지향 UI와 태스크지향 UI의 적절한 조합과 UI 디자이너의 역할
객체지향 UI와 태스크지향 UI의 차이를 이해하고, 상황에 맞는 적절한 UI 설계 방식을 선택하는 것이 중요합니다. 업무의 특성과 사용자의 니즈를 고려하여, 때로는 객체지향 UI와 태스크지향 UI를 적절히 조합하는 것도 필요할 것입니다. UI 디자이너는 사용자의 목적과 맥락을 깊이 이해하고, 이를 바탕으로 사용자에게 최적의 경험을 제공할 수 있는 UI를 설계해야 할 것입니다.
21. 객체지향 UI 설계의 출발점: 태스크 중심 vs 오브젝트 중심
객체지향 UI를 설계하기 위해서는 어디서부터 시작해야 할까요? 애플리케이션 설계의 단서는 크게 두 가지 경우로 나눌 수 있습니다. 첫째는 ‘OO하기 위한 애플리케이션’처럼 특정 태스크(할 일)를 중심으로 발상하는 경우이고, 둘째는 ‘BB가 기록되어 있는 애플리케이션’과 같이 대상물(오브젝트)을 중심으로 발상하는 경우입니다.
22. 객체지향 UI 설계 시 오브젝트 중심 접근의 중요성
대상물(오브젝트)을 중심으로 애플리케이션을 발상한 경우, 이를 그대로 화면에 표시하는 것이 바로 객체지향 UI입니다. 객체지향 UI를 설계할 때는 오브젝트를 단서로 삼아 애플리케이션을 만들어 나가야 합니다. 처음에 태스크를 중심으로 발상했더라도, 그 태스크에 필요한 오브젝트를 추출하고 이를 바탕으로 애플리케이션을 분석하고 설계하는 것이 중요합니다.
23. 객체지향 UI에서 사용자, 태스크, 오브젝트 간 관계 정립
객체지향 UI에서는 사용자, 태스크, 오브젝트 간의 관계를 명확히 정립해야 합니다. 사용자가 관심을 갖고 있는 오브젝트를 먼저 화면에 보여주고, 사용자는 이 오브젝트를 선택한 다음 그와 관련된 태스크를 수행하게 됩니다. 이렇게 하면 사용자 입장에서는 자신의 관심사인 오브젝트를 바로 볼 수 있기 때문에 조작 순서를 고민할 필요가 줄어듭니다. 또한 하나의 오브젝트에 대한 태스크들이 모여 있어 UI 디자인이 단순해지는 효과도 있습니다.
24. 태스크 중심 사고에서 벗어나 오브젝트 중심 UI 설계의 필요성
애플리케이션 개발 초기에는 특정 ‘할 일’을 중심으로 기획하는 경우가 많습니다. 그러나 객체지향 UI를 설계할 때는 이러한 태스크 중심의 사고에서 벗어나, 사용자가 다루게 될 대상(오브젝트)을 중심으로 UI를 구성해야 합니다. 사용자에게 오브젝트를 먼저 보여주고, 이를 기반으로 태스크를 수행할 수 있도록 하는 것이 객체지향 UI의 핵심 원칙입니다.
25. 객체지향 UI 설계 프로세스 요약
객체지향 UI 설계 프로세스를 정리하면 다음과 같습니다.
- 애플리케이션의 목적과 기능을 정의한다.
- 사용자가 다루게 될 오브젝트를 도출한다.
- 오브젝트를 중심으로 화면을 구성한다.
- 각 오브젝트에 필요한 태스크를 정의한다.
- 오브젝트와 태스크를 연결하여 사용자의 조작 흐름을 설계한다.
- 사용자 테스트를 통해 UI를 검증하고 개선한다.
26. 객체지향 UI 설계에서 UI 디자이너의 역할과 사용자 친화적 애플리케이션 개발의 중요성
객체지향 UI 설계에서는 사용자, 태스크, 오브젝트 간의 관계를 명확히 하고, 사용자의 관점에서 UI를 구성하는 것이 무엇보다 중요합니다. 오브젝트를 중심으로 UI를 설계함으로써, 사용자는 자신의 목적을 보다 직관적이고 효율적으로 달성할 수 있을 것입니다. 객체지향 UI 설계 원칙을 바탕으로 사용자 친화적인 애플리케이션을 만들어 나가는 것이 UI 디자이너의 역할이라 할 수 있습니다.
27. 객체지향 UI 설계의 시작점: 목적 의식을 가진 발상
객체지향 UI 설계를 시작할 때는 애플리케이션의 목적과 의도를 명확히 하는 것에서부터 출발합니다. 디자이너는 사용자가 애플리케이션을 통해 달성하고자 하는 목표와 수행할 태스크를 면밀히 분석해야 합니다. 이 과정에서 사용자가 특정 태스크를 수행하기 위해 필요한 기능을 제공하는 애플리케이션의 콘셉트를 떠올릴 수도 있고, 사용자가 다루게 될 대상물(오브젝트)이 화면에 어떻게 표현되어야 할지를 상상할 수도 있습니다. 후자의 경우, 사용자의 멘탈 모델에 부합하는 오브젝트를 직관적으로 화면에 구현하는 것이 바로 객체지향 UI의 핵심이라고 할 수 있습니다.
28. 태스크에서 오브젝트를 추출하여 애플리케이션의 단서로 삼기.
객체지향 UI를 설계할 때, 초기에는 사용자가 수행할 태스크를 중심으로 아이디어를 떠올리게 되는 경우가 많습니다. 하지만 태스크 단위를 그대로 UI에 구현하는 것은 바람직하지 않습니다. 대신 태스크를 분석하여 사용자가 다루어야 할 오브젝트를 추출하고, 이를 UI 설계의 기반으로 삼아야 합니다. 오브젝트는 사용자의 관심사를 반영하는 동시에, 태스크를 수행하는 데 필요한 정보와 기능을 함께 제공할 수 있어야 합니다. 따라서 객체지향 UI 설계에서는 오브젝트를 중심으로 애플리케이션의 구조와 동작을 구성해 나가는 것이 무엇보다 중요합니다.
29. 사용자, 태스크, 오브젝트의 관계 정립
객체지향 UI에서는 사용자의 관심사인 오브젝트를 화면의 전면에 내세웁니다. 사용자는 자신이 원하는 오브젝트를 먼저 선택하고, 해당 오브젝트와 관련된 태스크를 순차적으로 수행하게 됩니다. 이러한 인터랙션 흐름은 사용자의 자연스러운 사고 과정과 일치합니다. 사용자 입장에서는 태스크의 순서나 절차를 미리 고민할 필요 없이, 관심 있는 오브젝트에 직접 접근하여 필요한 작업을 수행할 수 있기 때문입니다. 또한 오브젝트를 중심으로 관련된 태스크들을 그룹화함으로써, UI의 구조를 단순화하고 사용자의 인지적 부담을 줄일 수 있습니다. 이처럼 객체지향 UI는 사용자, 태스크, 오브젝트 간의 긴밀한 연계를 통해 사용자 경험을 향상시키는 데 주력합니다.
30. UI의 역할: 사용자와 관심 대상(오브젝트)을 연결하는 공간
UI는 사용자와 시스템 간의 상호작용이 이루어지는 접점으로, 사용자의 관심사인 오브젝트와 사용자를 연결하는 매개체 역할을 수행합니다. 예를 들어, 이메일 애플리케이션에서 사용자는 ‘메시지’라는 개념을 가지고 있습니다. 따라서 UI 설계자는 ‘메시지’라는 사용자의 멘탈 모델을 그대로 UI에 반영하여, 프로그램 내부의 정보 구조를 ‘메시지’ 오브젝트로 표현합니다. 이렇게 구현된 UI는 사용자가 메시지 오브젝트를 직접 볼 수 있게 해주고, 메시지의 내용을 편집하거나 관리하고, 메시지를 주고받을 수 있는 각종 기능을 제공함으로써 사용자의 목적 달성을 돕게 됩니다. 즉, UI는 사용자의 관심사를 오브젝트라는 형태로 가시화하고, 해당 오브젝트에 대한 사용자의 조작을 통해 사용자와 시스템이 상호작용할 수 있는 공간을 제공하는 것입니다.
31. UI의 구조: 여러 오브젝트를 구조적으로 표상한 합성물
사용자에게 보이는 UI는 단순한 시각적 요소의 조합이 아닙니다. UI는 사용자의 관심사를 반영하는 여러 오브젝트들의 유기적인 관계를 구조적으로 표현한 것입니다. UI를 구성하는 각 요소들은 정보의 위계나 상태 변화와 같은 일련의 규칙에 따라 체계적으로 배치되고 상호작용합니다. 이 때, UI 요소 간의 관계와 동작은 사용자의 멘탈 모델과 일치해야 하며, 이를 통해 사용자는 자신의 목적에 부합하는 일관되고 예측 가능한 경험을 얻을 수 있습니다. 결국 UI는 사용자와 시스템이 공유하는 현실 세계의 추상화된 표상이자, 양자 간의 의사소통을 매개하는 기호 체계라고 할 수 있습니다.
32.소프트웨어 디자인의 3가지 측면
성공적인 소프트웨어 디자인을 위해서는 다음의 3가지 측면을 함께 고려해야 합니다.
- 프레젠테이션(Presentation): UI의 시각적 표현으로, 레이아웃, 색상, 타이포그래피, 그래픽 요소 등을 통해 사용자에게 정보를 전달하고 경험을 제공하는 디자인 영역입니다. 일관성 있고 심미적으로 훌륭한 UI 디자인은 사용자의 만족도와 몰입도를 높이는 데 기여합니다.
- 인터랙션(Interaction): UI의 구조와 동작을 설계하는 영역으로, 사용자의 입력에 대한 시스템의 반응, 화면 간 전환, 피드백 등 사용자와 시스템 간의 상호작용을 포괄합니다. 효과적이고 직관적인 인터랙션 디자인은 사용자의 학습을 촉진하고 태스크 수행을 원활하게 합니다.
- 개념 모델(Conceptual Model): 사용자의 멘탈 모델을 반영한 시스템의 추상적 표상으로, 사용자 리서치를 통해 파악한 사용자의 니즈, 지식, 경험 등을 기반으로 구축됩니다. 개념 모델은 UI 설계의 기반이 되며, 시스템의 정보 구조와 기능을 사용자 중심적으로 구성하는 데 활용됩니다.
이 3가지 측면은 서로 긴밀히 연결되어 있습니다. 사용자 리서치를 통해 도출된 개념 모델을 기반으로 인터랙션이 설계되고, 이를 시각적으로 구체화한 것이 프레젠테이션 디자인이라고 할 수 있습니다. 객체지향 UI는 개념 모델의 핵심 요소인 오브젝트를 중심으로 인터랙션과 프레젠테이션을 일관되게 설계함으로써, 사용자에게 유용하고 만족스러운 경험을 제공하는 것을 목표로 합니다.
33. 객체지향 UI 설계에서 오브젝트 모델링의 중요성
객체지향 UI를 설계할 때 가장 중요한 작업은 오브젝트 모델링입니다. 오브젝트 모델링이란 사용자의 관심사를 시스템 내에서 다룰 객체로 정의하고, 객체 간의 관계와 동작을 구조화하는 과정을 말합니다. 이는 디자인 프로세스의 초기 단계에서 이루어져야 하며, 이를 위해서는 사용자 리서치와 태스크 분석이 선행되어야 합니다. 오브젝트 모델링을 통해 사용자의 멘탈 모델과 시스템의 개념 모델을 일치시킴으로써, 사용자에게 자연스럽고 직관적인 상호작용 경험을 제공할 수 있습니다. 소프트웨어 개발 분야에서는 이러한 활동을 객체지향 분석(Object-Oriented Analysis)이라고 부르기도 합니다.
34. 객체지향 UI 모델링에서 사용자 중심 오브젝트 추출의 필요성
객체지향 UI 모델링의 핵심은 사용자에게 의미 있는 오브젝트를 추출하는 것입니다. 이 때, 시스템 구현에 필요한 모든 객체를 나열하기보다는 사용자의 목표 달성에 직접적으로 관련된 객체를 우선적으로 도출해야 합니다. 추출된 오브젝트는 사용자의 멘탈 모델을 반영해야 하며, 사용자가 이해하기 쉬운 개념과 용어로 표현되어야 합니다. 또한 각 오브젝트는 사용자의 태스크를 지원하는 데 필요한 속성과 기능을 갖추어야 합니다. 이렇게 사용자 중심으로 오브젝트를 정의하고 설계함으로써, 사용자의 요구사항을 충실히 반영하는 동시에 사용성과 접근성이 높은 UI를 구현할 수 있습니다.
35. 오브젝트의 시각적 표현 설계
35-1. 시각적 은유(Visual Metaphor)의 활용
- 추상적인 개념이나 정보를 사용자에게 친숙한 시각적 요소로 표현
- ex) ‘문서’ 오브젝트 = 종이 아이콘, ‘폴더’ 오브젝트 = 실제 폴더 모양
35-2. 오브젝트의 속성과 상태의 시각화
- 색상, 크기, 형태 등의 시각적 요소를 활용하여 오브젝트의 특성 표현
- ex) 파일 유형별로 다른 아이콘 사용, 선택된 오브젝트는 다른 색상이나 테두리로 강조
35-3. 오브젝트 간 관계와 계층 구조의 시각적 표현
- 트리 구조, 네트워크 다이어그램, 순서도 등 다양한 시각화 기법 활용
- 오브젝트 간의 연결성과 종속성을 나타내어 정보 구조 파악 용이
35-4. 오브젝트의 행위를 나타내는 컨트롤과 상호작용 표현
- 행위의 성격과 결과를 직관적으로 전달하는 버튼, 메뉴, 아이콘 등의 컨트롤 설계
- 드래그 앤 드롭, 핀치 투 줌 등의 상호작용 방식을 통해 오브젝트 직접 조작 경험 제공
35-5. 일관성과 통일성 유지
- 유사한 속성이나 기능의 오브젝트는 시각적으로 유사한 표현
- 전체 UI에서 통일된 비주얼 스타일 적용하여 일관된 경험 제공
35-6. 접근성과 포용성 고려
- 색각 이상, 저시력 등 사용자 특성을 고려한 정보 인지 방안 마련
- 충분한 대비, 명확한 텍스트, 적절한 크기의 컨트롤 사용
36. 오브젝트 기반 인터랙션 설계
36-1. ‘오브젝트-액션’ 모델 적용
- 사용자가 오브젝트 선택 후 수행할 액션을 선택하는 인터랙션 흐름 설계
- 실제 세계에서 사물을 다루는 방식과 유사한 인터랙션 제공
36-2. 오브젝트 선택 방식과 피드백
- 클릭, 탭, 드래그 등 다양한 오브젝트 선택 방식 제공
- 선택된 오브젝트에 대한 시각적 강조 및 피드백으로 사용자 인지 지원
36-3. 컨텍스트에 적합한 액션 제공
- 오브젝트의 유형과 상태에 따라 적절한 액션 옵션 제시
- ex) 텍스트 오브젝트 - 복사, 붙여넣기, 삭제 / 이미지 오브젝트 - 자르기, 회전, 필터 적용
36-4. 오브젝트 간 상호작용 설계
- 드래그 앤 드롭을 통한 오브젝트 간 ‘붙여넣기’, 오브젝트 간 연결선 생성 등
- 오브젝트 간 관계 이해와 조작 지원
36-5. 물리적 은유 사용
- 실제 객체를 다루는 듯한 물리적 은유를 통해 친숙한 경험 제공
- ex) 책장의 책을 넘기는 제스처, 페이지 넘김 등
36-6. 일관성과 예측 가능성
- 유사한 오브젝트에 동일한 인터랙션 패턴 적용하여 학습 용이성 확보
- 사용자의 실수 방지 및 실행 취소 옵션 제공하여 안전하고 탐색적인 인터랙션 장려
36-7. 접근성 있는 인터랙션 설계
- 키보드 내비게이션, 음성 명령, 대체 텍스트 등 다양한 상호작용 방식 지원
- 사용자의 신체적, 인지적 특성을 고려한 인클루시브한 인터랙션 제공
37. 프로토타이핑과 사용자 테스트를 통한 객체지향 UI 평가
37-1. 프로토타이핑의 활용
- 페이퍼 프로토타입, 와이어프레임, 인터랙티브 프로토타입 등 다양한 수준의 프로토타입 활용
- UI 설계 아이디어를 빠르게 구현하여 사용자 피드백 획득, 초기 단계에서 UI 방향성 검증 및 수정
37-2. 사용자 테스트 시 평가 항목
- 오브젝트 표현의 직관성과 일관성: 사용자의 멘탈 모델과의 일치 여부, 오브젝트 식별 및 구분 용이성 등
- 오브젝트 간 관계와 구조의 명확성: 오브젝트 간 위계와 연결성 파악 용이성, 원하는 오브젝트 접근성 등
- 오브젝트와의 상호작용 자연스러움과 효율성: 오브젝트 선택, 조작, 수정 과정의 직관성, 실제 객체 조작과의 유사성 등
- 태스크 달성 지원 정도: 목표 달성에 필요한 오브젝트와 액션의 접근성, 태스크 수행 과정의 간결성과 효율성 등
- 다양한 사용자 니즈 충족 여부: 초보자와 숙련자, 장애인 등 다양한 사용자의 UI 사용 가능성, 접근성, 유연성 등
37-3. 사용자 테스트 결과 분석과 UI 개선
- 행동 패턴, 오류 지점, 주관적 의견 등 다양한 데이터 종합 분석
- 객체지향 UI 원칙과 사용자 중심 설계 방법론에 기반한 문제점 진단 및 해결 방안 도출
37-4. 지속적이고 반복적인 사용자 테스트
- 설계와 개발의 각 단계마다 사용자 피드백 수렴 및 반영
- 반복적인 평가와 개선을 통한 UI 점진적 발전
37-5. 다양한 이해관계자들과의 협업
- 디자이너, 개발자, 기획자, 마케터 등 전문성을 가진 팀원들의 협력
- 사용자 중심적이면서 비즈니스 목표에 부합하는 솔루션 도출
37-6. 장기적이고 거시적 관점의 UI 평가
- 단기적 사용성 개선 외에 전반적 사용자 경험과 비즈니스 성과에 미치는 영향 평가
- UX 지표와 비즈니스 지표 모니터링 및 분석을 통한 UI 개선 효과 입증과 발전 방향 모색
38. 객체지향 UI의 철학적 기반
- 객체지향 UI 디자인은 단순히 기술적인 접근을 넘어, 사람과 컴퓨터의 보다 의미 있고 풍부한 상호작용 방식을 제안하는 철학적 토대를 가지고 있습니다. 객체지향 UI의 핵심은 인터페이스를 설계할 때 주체가 아닌 객체(오브젝트)에 초점을 맞추는 것입니다. 이는 사용자가 시스템을 조작하는 것이 아니라, 시스템 내의 객체와 상호작용하는 것으로 인식의 전환을 의미합니다.
- 객체지향 개념은 본래 프로그래밍 패러다임에서 출발했지만, 사물을 바라보는 관점 자체를 전환하는 광범위한 디자인 철학으로 발전했습니다. 객체지향에서는 클래스와 인스턴스의 개념이 중요한데, 이는 플라톤의 이데아론과 유사한 면이 있습니다. 클래스가 관념적이고 추상적인 개념의 틀이라면, 인스턴스는 그로부터 생성된 구체적이고 개별적인 실체라 할 수 있습니다.
- 이러한 사고는 인간과 컴퓨터의 소통 방식에도 영향을 미칩니다. 객체지향 UI에서는 사용자가 마치 실제 객체를 다루듯이 시스템의 객체와 상호작용합니다. 앨런 케이 등이 개발한 Smalltalk는 이런 ‘사용자 일루전’을 구현하는 것을 목표로 했습니다. 사용자에게 추상적인 기능이 아닌, 구체적이고 직관적인 객체를 제공함으로써 시스템과의 자연스러운 상호작용을 이끌어내고자 한 것이죠.
39. 객체지향 UI에서의 ‘구문론적 전환’
- 객체지향 UI에서 중요한 특징 중 하나는 ‘구문론적 전환(Syntactic Turn)’이라 할 수 있습니다. 전통적인 절차지향 프로그래밍에서는 동사(기능)가 먼저 나오고 그 대상(객체)이 뒤따르는 구조인 반면, 객체지향에서는 객체가 먼저 정의되고 그 객체의 행위(메서드)가 호출되는 형태를 띕니다.
- 이는 단순한 문법의 차이를 넘어, 시스템을 바라보는 관점의 전환을 의미합니다. 객체지향에서는 객체가 일종의 주체로서 역할을 하게 되는 것이죠. 이러한 변화는 사용자 인터페이스에도 그대로 반영되어, 사용자는 시스템 전체가 아닌 개별 객체와 상호작용하게 됩니다.
- 브렌다 로럴은 이런 변화를 인터페이스를 일종의 ‘공간’개념으로 파악한 것으로 설명합니다. 인터페이스는 단순히 명령을 입력하는 면이 아니라, 사용자와 시스템 간의 차이를 매개하고 전체적인 상호작용을 연출하는 장으로 기능하게 된 것입니다.
40. 객체지향 UI와 사용자 경험
- 객체지향 UI는 사용자 경험 측면에서도 중요한 의미를 가집니다. 스마트폰의 대중화로 소프트웨어가 일상 속으로 깊이 파고든 오늘날, 우리는 UI를 통해 대상(객체)과 직접 상호작용하는 경험을 하게 되었습니다. 화면 속 아이콘이나 버튼은 단순한 기호가 아니라 실제 사물처럼 인식되고, 그에 대한 조작은 일종의 ‘신체화’된 경험으로 다가옵니다.
- 이런 맥락에서 UI는 컴퓨터에 명령을 내리는 도구에서, 사용자의 의도와 목표를 실현시키는 매개체로 그 역할이 확장되었다고 볼 수 있습니다. 객체지향 UI는 사용자가 자신의 멘탈 모델에 부합하는 객체를 직접 조작함으로써 자연스럽고 직관적인 상호작용을 가능케 합니다.
- GUI는 이를 위해 대상(객체)을 시각적이고 상징적인 형태로 화면에 제시하는 것이 효과적임을 보여주었습니다. 사용자에게 익숙한 은유와 메타포를 통해 추상적인 정보 공간을 구체적이고 조작 가능한 세계로 구현하는 것이 객체지향 UI 디자인의 요체라 할 수 있겠죠.
41. 객체지향 UI 디자인의 원칙
- 앨런 케이는 객체지향의 핵심 원리가 추상과 구체를 통합하는 데 있다고 보았습니다. 프로그래밍 측면에서는 객체에 먼저 접근한 후 그에 대한 행위(메시지)를 지시하는 방식으로, UI 측면에서는 객체를 먼저 선택한 후 수행할 작업을 선택하는 방식으로 나타난다는 것이죠.
- 이는 사용자가 대상(객체)에 주목하고 그것과 상호작용한다는 일관된 멘탈 모델을 형성하는 데 기여합니다. 또한 그는 ‘사용자 일루전’의 개념을 제시하며, 객체지향 UI가 추구해야 할 이상향을 제시했습니다. 물리적 실체는 아니지만 사용자에게 실제처럼 느껴지는 상호작용, 그것이 객체지향 UI가 구현하고자 하는 ‘일루전’인 것입니다.
- 이를 위해서는 UI 설계 시 객체에 대한 직접 조작, 실시간 피드백, 일관된 은유 등이 중요한 원칙으로 고려되어야 합니다. 사용자의 행위에 대해 즉각적이고 가시적인 반응을 제공하고, 현실 세계의 경험과 유사한 방식으로 정보를 제공함으로써 사용자의 이해와 학습을 돕는 것이 객체지향 UI 디자인의 주요 과제라 할 수 있겠습니다.
- 이처럼 객체지향 UI는 프로그래밍 패러다임을 넘어 인간-컴퓨터 상호작용에 대한 새로운 비전을 제시합니다. 시스템을 추상적인 기능의 집합체가 아닌 사용자의 행위가 매개되는 구체적인 객체의 세계로 구현함으로써, 사용자에게 보다 자연스럽고 직관적인 경험을 제공하는 것을 목표로 하는 것이죠.
- 이는 소프트웨어 개발에 있어 사용자 중심성과 UI/UX 디자인의 중요성이 높아지는 오늘날의 트렌드와도 맞물려 있습니다. 객체지향 UI의 철학과 원리는 사용자의 요구와 경험에 부합하는 혁신적인 인터페이스를 설계하는 데 있어 여전히 유효한 지침이 될 수 있을 것입니다.
Reference: 객체지향 UI 디자인
HUME DESIGNLAB by Jaewon Lee is licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
댓글남기기