우리 중 일부는 UI 디자인의 부드러운 측면 ( 특히 나 자신 ) 으로 어려움을 겪고 있습니다. “백엔드 코더”는 비즈니스 로직 및 데이터 계층 만 설계 할 운명입니까? 유쾌하고 유용한 프리젠 테이션 레이어를보다 효과적으로 디자인하기 위해 뇌 를 재교육 하기 위해 할 수있는 일이 있습니까?
동료는 나를 포함한 몇 가지 책을 추천 한 사이트의 디자인을 , 나를 생각하지 마십시오 과 왜 소프트웨어는 짜증 ,하지만 난 다른 사람들이이 지역에서 자신의 결함을 제거하기 위해 무엇을했는지 궁금?
답변
직접 말하겠습니다 :
이를 개선하는 것은 지침으로 시작하지 않습니다. 소프트웨어에 대한 생각을 재구성하는 것으로 시작합니다.
대부분의 하드 코어 개발자들은 거의가 제로 자신의 소프트웨어의 사용자와 공감을. 사용자의 생각, 사용자가 사용하는 소프트웨어 모델을 작성하는 방법 및 컴퓨터를 일반적으로 사용하는 방법에 대한 실마리 는 없습니다 .
전문가가 평신도와 충돌 할 때 나타나는 전형적인 문제는 다음과 같습니다. 일반인이 어떻게 10 년 전에 전문가가 이해 한 것을 이해하지 못하는 것이 어리석은 것일까 요?
거의 모든 숙련 된 개발자가 파악하기 어려운 사실을 인정하는 첫 번째 사실 중 하나는 다음과 같습니다.
평범한 사람들은 소프트웨어와 개념이 크게 다릅니다. 그들은 프로그래밍의 실마리가 없습니다. 없음 제로. 그리고 그들은 신경 쓰지 않습니다. 그들은 신경 써야한다고 생각하지도 않습니다. 강제로 실행하면 프로그램이 삭제됩니다.
이제는 개발자에게는 믿을 수 없을 정도로 가혹합니다. 그는 자신이 생산 한 소프트웨어를 자랑스럽게 생각합니다. 그는 모든 단일 기능을 좋아합니다. 그는 코드의 작동 방식을 정확하게 알려줄 수 있습니다. 어쩌면 그는 이전보다 50 % 더 빠르게 작동하는 믿을 수없는 영리한 알고리즘을 발명했을 수도 있습니다.
그리고 사용자는 신경 쓰지 않습니다.
이런 멍청이 같으니라고.
많은 개발자가 일반 사용자와 함께 일할 수 없습니다. 그들은 존재하지 않는 기술 지식에 의해 우울해집니다. 그렇기 때문에 대부분의 개발자는 부끄러워하고 사용자는 바보라고 생각합니다.
그들은 아닙니다.
소프트웨어 개발자가 자동차를 구입하면 자동차가 원활하게 작동 할 것으로 기대합니다. 그는 일반적으로 타이어 압력, 그런 식으로 작동시키는 데 중요한 기계적 미세 조정에 관심이 없습니다. 여기서 그는 전문가 가 아닙니다 . 그리고 미세 조정이없는 자동차를 사면 다시 돌려주고 원하는 것을하는 자동차를 구입합니다.
영화를 좋아하는 많은 소프트웨어 개발자. 상상력을 자극하는 영화. 그러나 영화 제작, 시각 효과 제작 또는 훌륭한 영화 스크립트 작성 전문가는 아닙니다. 대부분의 얼간이는 복잡한 감정을 표시하고 분석에 거의 영향을 미치지 않기 때문에 행동에 매우 좋지 않습니다. 개발자가 나쁜 영화를 본다면 영화 전체가 나쁘다는 것을 알게됩니다. 얼간이는 IMDB를 구축하여 좋은 영화와 나쁜 영화에 대한 정보를 수집하여 어떤 영화를보고 피해야하는지 알 수 있습니다. 그러나 그들은 영화 제작 전문가가 아닙니다. 영화가 나쁘면 영화에 가지 않거나 BitTorrent에서 다운로드하지 않습니다.
전문가로 일반 사용자를 줄이는 것은 무지입니다. 전문가가 아닌 분야 (그리고 너무 많은 분야)에서 그들은 다른 분야의 전문가들이 그들의 제품이나 서비스를 사용하는 일반인에 대해 이미 생각했을 것으로 기대합니다.
이를 해결하기 위해 무엇을 할 수 있습니까? 프로그래머로서 하드 코어가 많을수록 일반적인 사용자의 생각에 덜 개방적입니다. 그것은 외계인이며 당신에게 실마리가 아닙니다. 당신은 생각할 것이다 : 나는 사람들이 수 있는지 상상할 수없는 적 지식의 부족으로 컴퓨터를 사용합니다. 그러나 그들은 할 수 있습니다. 모든 UI 요소에 대해 다음을 고려하십시오. 사용자가 내 도구에 가지고있는 개념에 맞습니까? 어떻게 그를 이해할 수 있습니까? 이것에 대한 유용성을 읽어보십시오. 좋은 책이 많이 있습니다. 과학의 전체 영역이기도합니다.
아, 그리고 말하기 전에, 나는 애플 팬입니다.)
답변
UI 디자인 은 어렵다
질문에 :
대부분의 개발자에게 UI 디자인이 왜 그렇게 어려운가요?
반대의 질문을 해보세요 :
대부분의 UI 디자이너 에게는 왜 프로그래밍 이 어려운 가요?
UI를 코딩하고 UI를 디자인하려면 다른 기술과 사고 방식이 필요합니다. UI 디자인은 코드를 작성하는 것이 일부 디자이너가 아닌 대부분의 디자이너에게 어려운 것처럼 일부 개발자가 아닌 대부분의 개발자 에게는 어렵다 .
코딩이 어렵다. 디자인도 어렵다. 둘 다 잘하는 사람은 거의 없습니다. 훌륭한 UI 디자이너는 거의 코드를 작성하지 않습니다. 그들은 방법을 알지 못하지만 여전히 훌륭한 디자이너입니다. 그렇다면 왜 훌륭한 개발자가 UI 디자인을 책임 져야합니까?
UI 디자인에 대해 더 많이 알고 있으면 더 나은 개발자가되지만 UI 디자인을 책임 져야한다는 의미는 아닙니다. 코드를 작성하는 방법을 알면 더 나은 디자이너가 될 수 있지만 UI 코딩을 책임 져야한다는 의미는 아닙니다.
UI 디자인을 향상시키는 방법
UI 디자인을 향상시키고 자하는 개발자에게는 3 가지 기본 조언이 있습니다.
- 디자인을 별도의 기술로 인식합니다 . 코딩과 디자인은 별개이지만 관련이 있습니다. UI 디자인은 코딩의 하위 집합이 아닙니다. 다른 사고 방식, 지식 기반 및 기술 그룹이 필요합니다. UI 디자인에 중점을 둔 사람들이 있습니다.
- 디자인에 대해 알아보십시오 . 적어도 조금은 요 아래의 긴 목록에서 몇 가지 디자인 개념과 기술을 배우십시오. 좀 더 야심이 있다면, 책을 읽고, 회의에 참석하고, 수업을 듣고, 학위를 받으십시오. 디자인을 배우는 방법에는 여러 가지가 있습니다. UI 디자인에 대한 Joel Spolky의 책 은 개발자에게 좋은 입문서이지만 더 많은 내용이 있으며 디자이너가 그림을 찾는 곳입니다.
- 디자이너와 협력하십시오 . 당신이 할 수 있다면 좋은 디자이너. 이 작업을 수행하는 사람들은 다양한 제목으로 이동합니다. 오늘날 가장 일반적인 제목은 UXD (User Experience Designer), IA (Information Architect), ID (Interaction Designer) 및 유용성 엔지니어입니다. 코드에 대한 생각만큼 디자인에 대해서도 생각합니다. 당신은 그들에게서 많은 것을 배울 수 있고 그들은 당신에게서 배울 수 있습니다. 그러나 당신이 할 수있는 그들과 함께 작동합니다. 회사에서 이러한 기술을 가진 사람들을 찾으십시오. 누군가를 고용해야 할 수도 있습니다. 또는 일부 회의에 참석하거나 웹 세미나에 참석하고 UXD / IA / ID 세계에서 시간을 보내십시오.
배울 수있는 몇 가지 구체적인 사항이 있습니다. 모든 것을 배우려고하지 마십시오 . 아래의 모든 것을 알고 있다면 상호 작용 디자이너 또는 정보 설계 자라고 할 수 있습니다. 목록 상단 근처의 것부터 시작하십시오 . 특정 개념과 기술에 중점을 둡니다. 그런 다음 아래로 이동하여 분기하십시오. 이 물건을 정말로 좋아한다면, 그것을 진로로 생각하십시오. 많은 개발자들이 경영진으로 이주하지만 UX 디자인이 또 다른 옵션입니다.
- 기본 설계 개념을 배웁니다 . 어포던스, 가시성, 피드백, 매핑, Fitt의 법칙, 포카 요크 등에 대해 알아야합니다. 나는 일상적인 것들의 디자인 (Don Norman)과 보편적 인 디자인 원칙 (Lidwell, Holden, & Butler)을 읽는 것이 좋습니다.
- 사용자 경험에 대해 알아보십시오 . 이것은 인간 중심의 웹 사이트, 응용 프로그램 및 기타 디지털 아티팩트의 포괄적 인 용어가되었습니다. 여기서 기본 입문서 는 User Experience (Jesse James Garrett) 의 요소입니다 . 저자의 사이트에서 개요와 처음 몇 장을 얻을 수 있습니다 .
- 디자인을 스케치하는 법을 배웁니다 . 스케치는 디자인 옵션 을 탐색 하고 올바른 디자인을 찾는 빠른 방법 이며, 유용성 테스트는 디자인을 올바르게 얻는 것입니다. 종이 프로토 타이핑은 초기 설계 단계에서 빠르고 저렴하며 효과적입니다. 디지털 프로토 타입을 코딩하는 것보다 훨씬 빠릅니다. 여기서 핵심 텍스트는 Sketching User Experience : 올바른 디자인 및 올바른 디자인 얻기 ( Bill Buxton )입니다. 스케치는 IA / ID / UX 디자이너와 작업 할 때 특히 유용한 기술입니다. 당신의 협력이 더 효과적입니다. 디자이너가 스케치하는 방법과 이유에 대한 입문서를 보려면 2008 IA Summit 의 Leah Buley 가 UX 팀이되는 방법 프레젠테이션 을보십시오 .
- 종이 프로토 타이핑을 배웁니다 . 코드를 작성하기 전에 인터페이스 를 반복적으로 테스트 하는 가장 빠른 방법 입니다. 스케치 및 유용성 테스트와 다릅니다. 여기서 결정적인 책은 종이 프로토 타이핑 (Carolyn Snyder)입니다. Nielsen Norman Group 에서 좋은 DVD를 얻을 수 있습니다 .
- 유용성 테스트를 배우십시오 . 할인 테스트는 쉽고 효과적입니다. 그러나 많은 UI의 경우 유용성은 잘 수행되지 않습니다. 기본 사항을 빠르게 배울 수 있지만 유용한 유용성은 매우 중요합니다. 책을 원한다면 클래식은 사용성 테스트 핸드북 (Jeffrey Rubin)입니다. 오래되었지만 실험실 기반 테스트에 대한 철저한 적용 범위를 제공합니다. 유명한 첫 책은 Do n’t Make Me Think (2nd Ed) (Steve Krug)입니다. 나는 사람들에게 이것에 대해 경고한다 : Krug은 그것이보다 쉽게 들리게한다. 그러나 좋은 출발점이됩니다. 다음에 나열된 사용자 연구 서적도이 주제를 다룹니다. 그리고 당신은 온라인으로 그것에 대한 더미를 찾을 수 있습니다.
- 정보 아키텍처에 대해 알아보십시오 . 여기서 주요 책 은 월드 와이드 웹 (3 차)을위한 정보 아키텍처 (Louis Rosenfeld & Peter Morville)입니다. 좋은 시작 책은 정보 아키텍처 : 웹을위한 청사진 (Christina Wodtke)입니다. 자세한 정보 는 Information Architecture Institute를 방문 하거나 연례 정보 아키텍처 서밋에 참석하십시오 .
- 인터랙션 디자인에 대해 알아보십시오 . 이 책의 주요 책 은 인터랙션 디자인의 필수 요소 (3 차)입니다 (Alan Cooper 등 ). 좋은 시작 책은 상호 작용을위한 디자인 (Dan Saffer)입니다. 자세한 내용은 IDA (Interaction Design Association)를 방문 하거나 연례 Interaction Design 컨퍼런스에 참석하십시오 .
- 그래픽 디자인의 기초를 배우십시오 . 그래픽 디자인은 UI 디자인이 아니지만 그래픽 디자인의 개념은 인터페이스를 향상시킬 수 있습니다. 그래픽 디자인은 근접성, 정렬 및 작은 배수와 같은 정보를 시각적으로 표현하기위한 디자인 원칙을 소개합니다. 비 디자이너의 디자인 북 (Robin Williams)과 구상 정보 (Edward Tufte)를 읽는 것이 좋습니다.
- 사용자 조사 수행 방법을 배웁니다 . 유용성이 인터페이스를 테스트하는 경우, 사용자 연구는 개인, 시나리오, 사용자 여정 및 기타 문서를 통해 사용자와 해당 작업을 모델링하려고합니다. 사용자와 사용자의 행동을 이해 한 다음 추측하지 않고 디자인을 알리는 데 사용합니다. 일부 기술은 인터뷰, 설문 조사, 일기 연구 및 카트 정렬입니다. 이에 관한 좋은 책 은 사용자 경험 관찰 (Mike Kuniavsky)과 사용자 이해 (Courage & Baxter)입니다
- 현장 조사를 배우십시오 . 인공 조건에서 실험실의 사람들을 보는 것이 도움이되지만 (예 : 유용성) 사람들이 집, 사무실 또는 어디에서나 코드를 문맥에서 사용하는 것을 보는 것만 큼 좋은 것은 없습니다. 민족 지학, 현장 연구, 상황에 맞는 문의 등 다양한 이름으로 진행됩니다. 다음은 현장 조사에 좋은 프라이머 . 여기서 잘 알려진 두 가지 책은 Rapid Contextual Design (Karen Holtzblatt et al )과 인터페이스 디자인 (Hackos & Redish)에 대한 사용자 및 작업 분석입니다 .
- UX 디자인 웹 사이트를 읽으십시오 . 큰 것 중 일부는 Box & Arrows , UX Mag , UX Matters 및 Digital Web magazine 입니다.
- UI 패턴 라이브러리를 사용하십시오 . 인터페이스 패턴이 있습니다. 웹 사이트 의 경우 사이트 디자인, 2nd ed (Van Duyne 등 ) 및 홈페이지 유용성 : 50 개의 웹 사이트가 해체되었습니다 (Jakob Nielsen & Marie Tahir). 데스크톱 응용 프로그램의 경우 인터페이스 디자인 (Jennifer Tidwell)을 권장하고 웹 응용 프로그램의 경우 웹 인터페이스 디자인 : 풍부한 상호 작용을위한 원칙 및 패턴 (Bill Scott & Theresa Neil)을 권장 합니다. 온라인에서 Welie 패턴 라이브러리 , UI 패턴 및 웹 UI 패턴을 확인해야 합니다 .
- UX 디자인 컨퍼런스에 참석하십시오 . 좋은 연례 회의는 Information Architecture Summit , Interaction ’09 (IxDA) , User Interface 및 UX week 입니다.
- 워크샵이나 웹 세미나에 참석하십시오 . 워크샵, 웨비나 및 온라인 코스를 수강 할 수 있습니다. 이 목록은 포괄적 인 목록은 아니지만 Rosenfeld Media 의 UIE 가상 세미나 , Adaptive Path 가상 세미나 및 UX 웨비나를 사용해 볼 수 있습니다 .
- 학위를 받으십시오 . HCI의 대학원 학위는 한 가지 접근법이지만, 이러한 프로그램은 주로 코딩 작성에 관한 것입니다. 디지털 아티팩트 및 장치의 디자인에 대해 배우려면 CS에없는 대학원 프로그램을 원합니다. 일부 옵션에는 Carnegie Mellon의 인터랙션 디자인 , Stanford 의 d-School , NYU 의 ITP 프로그램 및 정보 아키텍처 및 지식 관리가 포함됩니다.Kent State (공개 : 저는 Kent 교수진입니다. CS 학위를 가진 사람들이 관리 대신 UX 디자인으로 옮겨가는 것을보고 있습니다. 이는 관리가 기존 개발자로부터 떠나고 싶어하는 전통적인 경로이기 때문입니다. 해당 분야에 머무르는 동안 코드 작성). 더 많은 프로그램이 있습니다. 각각의 관점, 강조 영역 및 기술적 기대치가 있습니다. 일부는 예술과 시각 디자인에서 나오고, 일부는 도서관과 정보 과학에서 나 왔으며, 일부는 CS에서 나왔습니다. 대부분 하이브리드이지만, 모든 하이브리드는 하나 이상의 필드에서 더 깊은 뿌리를 가지고 있습니다. 관심이 있으시면 둘러보고 이들 프로그램의 차이점을 이해하십시오. 일부는 본격적인 학위 외에도 온라인 과정 및 인증 프로그램을 제공합니다.
UI 디자인이 어려운 이유
좋은 UI 디자인은 크게 다른 기술이 필요하기 때문에 어렵습니다.
- 기계에 대한 깊은 이해 . 이 그룹의 사람들은 먼저 코드에 대해 걱정하고 사람들은 두 번째로 걱정합니다. 그들은 깊은 기술 지식과 기술을 가지고 있습니다. 이를 개발자, 프로그래머, 엔지니어 등이라고합니다.
- 사람과 디자인에 대한 깊은 이해 :이 그룹의 사람들은 먼저 사람들에 대해 걱정하고 코드 둘째에 대해 걱정합니다. 그들은 사람들이 정보, 컴퓨터 및 주변 세계와 어떻게 상호 작용하는지에 대한 깊은 지식을 가지고 있습니다. 이를 사용자 경험 디자이너, 정보 설계자, 인터랙션 디자이너, 유용성 엔지니어 등이라고합니다.
이것이 개발자와 디자이너 사이에서이 두 그룹의 근본적인 차이점입니다.
- 개발자는 그것을 작동 시킵니다. TiVo, iPhone, 즐겨 찾는 웹 사이트 등에서 기능을 구현합니다. 실제로해야 할 일을 실제로 수행합니다. 그들의 최우선 과제는 그것이 작동하는 것입니다.
- 디자이너는 사람들이 그것을 좋아하게 만듭니다 . 그들은 상호 작용하는 방법, 모양 및 느낌을 파악합니다. 그들은 응용 프로그램, 웹 사이트, 장치 사용 경험을 디자인합니다. 그들의 최우선 순위는 개발자가 만드는 것에 사랑을 느끼게하는 것입니다. 이것은 사용자 경험의 의미이며 브랜드 경험과 동일하지 않습니다.
게다가, 프로그래밍과 디자인은 다른 지식과 다른 기술뿐만 아니라 다른 사고 방식을 요구 합니다. 좋은 UI 디자인에는 두 가지 사고 방식, 지식 기반, 기술 그룹이 모두 필요합니다. 그리고 하나를 마스터하는 데 몇 년이 걸립니다.
UI 디자이너가 코드 작성을 어렵게 생각하는 것처럼 개발자는 UI 디자인을 찾기가 어렵습니다.
답변
내 디자인을 개선하는 데 실제로 도움이되는 것은 동료 개발자, QA 담당자, PM 또는 특정 위젯이나 화면을 시험해 보는 사람을 얻는 것입니다.
다른 사람이 소프트웨어를 처음 사용하는 것을 볼 때 알게 될 놀라운 사실
답변
궁극적으로 그것은 공감에 관한 것입니다. 사용자의 입장에서 자신을 맡길 수 있습니까?
물론 도움이되는 한 가지는 “자신의 개밥을 먹는 것”입니다. 응용 프로그램을 실제 사용자로 사용하고 성가신 것을 보는 것입니다.
또 다른 좋은 아이디어는 응용 프로그램을 사용하여 실제 사용자를 볼 수있는 방법을 찾는 것입니다. 단방향 미러, 화면 비디오 캡처, 사용자의 비디오 카메라 등이 포함 된 유용성 랩처럼 복잡하거나 간단 할 수 있습니다. 복도를 걸어가는 다음 사람을 사용하여 종이 프로토 타이핑으로
다른 모든 방법이 실패하면 UI가 너무 복잡하기보다 너무 단순할수록 거의 항상 좋습니다. “오, 나는 그것을 해결하는 방법을 알고있다. 사용자가 선호하는 모드를 결정할 수 있도록 체크 박스를 추가 할 것이다”라고 말하는 것은 매우 쉽다. 곧 UI가 너무 복잡합니다. 기본 모드를 선택하고 환경 설정을 고급 구성 옵션으로 설정하십시오. 아니면 그냥 놔둬
디자인에 대해 많이 읽으면 그림자와 둥근 모서리 등에 쉽게 매달 수 있습니다. 중요한 것은 아닙니다. 단순성과 발견 가능성은 중요한 것들입니다.
답변
대중적인 신화와는 달리 UI 디자인에는 문자 그대로의 부드러운 측면이 없으며 적어도 좋은 백엔드를 디자인하는 데 필요한 것 이상은 아닙니다.
다음을 고려하세요; 우수한 백엔드 디자인은 훌륭한 개발자가 잘 알고있는 상당히 견고한 원칙과 요소를 기반으로합니다.
-
낮은 커플 링
-
높은 응집력
-
건축 패턴
-
업계 모범 사례
-
기타
좋은 백엔드 설계는 일반적으로 여러 상호 작용을 통해 이루어지며, 테스트 또는 실제 사용 중에 얻은 측정 가능한 피드백을 기반으로 초기 청사진이 점차 향상됩니다. 때로는 백엔드의 작은 측면을 프로토 타입하고 격리 등으로 시험해야 할 때가 있습니다.
좋은 UI 디자인은 다음과 같은 사운드 원칙을 기반으로합니다.
-
시계
-
여유
-
피드백
-
공차
-
간단
-
일관성
-
구조
UI는 또한 테스트 및 평가판을 통해 반복되지만 컴파일러 + 자동 테스트 슈트가 아닌 사람들을 통해 탄생합니다. 백엔드와 마찬가지로 업계 최고의 실무, 측정 및 평가 기술, UI를 생각하고 사용자 모델, 시스템 이미지, 디자이너 모델, 구조 모델, 기능 모델 등의 목표를 설정하는 방법이 있습니다.
UI 디자인에 필요한 기술은 백엔드 디자인과는 매우 다르기 때문에 먼저 학습하지 않고도 좋은 UI를 수행 할 수있을 것으로 기대하지 않습니다. 그러나이 두 가지 활동은 공통적으로 설계 과정입니다. 좋은 소프트웨어를 디자인 할 수있는 사람이라면 누구나 시간을 투자하는 한 좋은 UI를 디자인 할 수 있다고 생각합니다.
휴먼 컴퓨터 인터랙션 과정을 수강하고 MIT 및 예일 사이트에서 온라인 자료를 확인하십시오.
이해와 사용법에서 구조적 vs 기능적 모델
Thorsten79 의 우수한 이전 게시물 은 소프트웨어 개발 전문가 대 사용자의 주제와 소프트웨어에 대한 이해가 어떻게 다른지 알려줍니다. 인간 학습 전문가는 기능적 정신적 모델과 구조적 정신적 모델을 구분합니다. 친구의 집으로가는 길을 찾는 것은 두 사람의 차이점에 대한 훌륭한 예가 될 수 있습니다.
-
첫 번째 접근 방식에는 일련의 세부 지침이 포함됩니다. 고속도로의 첫 번째 출구를 타고 100 야드 정도 좌회전 한 후 등. 이것은 기능 모델의 예입니다. 특정 목표를 달성하는 데 필요한 구체적인 단계 목록. 기능적 모델은 사용하기 쉬우 며, 단순한 실행을 생각할 필요가 없습니다. 분명히 단순성에 대한 페널티가 있습니다. 가장 효율적인 경로가 아닐 수도 있고 예외적 인 상황 (예 : 교통 우회)이 완전히 실패로 이어질 수 있습니다.
-
과제에 대처하는 다른 방법은 구조적 정신 모델을 구축하는 것입니다. 이 예에서는 “태스크 객체”의 내부 구조에 대한 많은 정보를 전달하는 맵입니다. 우리와 친구 집의지도와 상대 위치를 이해함으로써 기능 모델 (경로)을 차감 할 수 있습니다. 분명히 가능한 편차가 있지만 작업을 완료하는 데 더 많은 노력이 필요하지만 훨씬 더 안정적인 방법이 필요합니다.
UI를 통한 기능 또는 구조 모델 전달 (예 : 마법사 대 고급 모드) 중에서 선택하는 것은 Thorsten79의 게시물에서 볼 수있는 것처럼 간단하지 않습니다. 고급 사용자와 빈번한 사용자는 구조적 모델을 선호하는 반면, 경험이 많거나 경험이 적은 사용자는 기능적입니다.
Google지도는 훌륭한 예입니다. 기능적 모델과 구조적 모델이 모두 포함되어 있기 때문에 많은 위성 탐색 기능도 포함됩니다.
문제의 또 다른 차원은 UI를 통해 제공되는 구조 모델이 소프트웨어의 구조에 매핑되지 않아야하며, 당연히 사용자 작업 또는 관련된 작업 개체의 구조에 매핑되어야한다는 것입니다.
여기서 많은 어려움은 많은 개발자들이 소프트웨어 내부 구조에 대한 훌륭한 구조적 모델을 가지지 만 소프트웨어가 목표로하는 사용자 작업의 기능적 모델 만 가질 것이라는 점입니다. 좋은 UI를 구축하려면 작업 / 태스크 객체 구조를 이해하고 UI를 해당 구조에 매핑해야합니다.
어쨌든, 나는 여전히 공식적인 HCI 과정을 충분히 강하게 추천하지 않습니다. 휴리스틱 , 게슈탈트 물리학 에서 파생 된 원칙 , 인간이 배우는 방법 등과 같은 많은 것들이 있습니다 .
답변
유용성과 물건에 중점을 두지 않고 지금과 같은 방식으로 모든 UI를 시작하는 것이 좋습니다.
대체 텍스트 http://www.stricken.org/uploaded_images/WordToolbars-718376.jpg
이제 이것을 생각해보십시오.
디자이너는 추가 할 것이 없을 때가 아니라 제거해야 할 것이 없을 때 완벽 함을 달성했다는 것을 알고 있습니다. — 생 텍쥐페리
그리고 이것을 디자인에 적용하십시오.
답변
많은 개발자들은 코드를 작성할 수 있기 때문에 모든 것을 할 수 있다고 생각합니다. 인터페이스 디자인은 완전히 다른 기술이며, 대학에 다닐 때 전혀 배우지 못했습니다. 단지 자연스럽게 오는 것이 아닙니다.
또 다른 좋은 책은 Donald Norman 의 The Everyday Things 디자인입니다 .