Apple Human Interface Guidelines - Characteristics of Great Software(5/7)
Characteristics of Great Software
- High Performance
- Ease of Use
- Attractive Appearance
- Reliability
- Adaptability
- Interoperability
- Mobility
현재 환경이 바뀔 때 동작이 멈추지 않는다는 것이다.
네트워크 연결이 다운된다면, adaptable 프로그램은 사용자가 오프라인에서 계속 작업할 수 있게 해준다.
마찬가지로, 특정 리소스가 잠기거나 사용 불가능하게 되었을 때, adaptable 프로그램은 사용자의 요청에 맞는 다른 방법을 찾을 것이다.
Mac OS X의 강점 중 한가지는 설정 변화에 빠르게 적응할 수 있는 능력이다.
예를 들어, 사용자가 시스템 설정에서 컴퓨터의 네트워크 환경을 변경한다면, CFNetwork를 이용하여 네트워크 설정 변경을 자동으로 처리하는 사파리나 메일과 같은 어플리케이션이 자동으로 변경된 부분을 잡아낸다.
Guidelines
- 인터페이스에 허용(forgiveness)와 영리함(intelligence)를 넣어라.
- 소프트웨어가 파일 시스템 볼륨이나 네트워크가 사라지는 경우를 다룰 수 있게 하라.
- 사용자에게 다른 볼륨에 저장하기나 추후 네트워크에 재연결과 같은 옵션을 제공하라.
- 가능한 하드웨어와 접근할 수 있는 하드웨어에 가정을 피하라.
- 하드웨어 구성은 컴퓨터, 국가, 사용자에 따라 아주 다르게 바뀔 수 있다.
- 예를 들어, 모든 매킨토시가 프로세서에 벨로시티 엔진이 장착된것이 아니다.
- 마찬가지로 모든 키보드가 같은 키셋을 가지고 있지 않다.
- 하드웨어는 실행 중 추가되거나 제거될 수 있다.
- 사용 가능한 디바이스 구성을 감지하기 위해 I/O 킷 인터페이스를 사용하라.
- 현재 사용자의 장소에 의해 가정하지 마라.
- 다른 날짜, 시간, 그리고 숫자 포맷을 다룰 수 있게 준비하라.
- 또한, 현재 사용자의 주소 포맷이 반드시 사용 중인 주소 포맷이라고 가정하지 마라.
- 예를 들어, 사용자는 address book에 외국인의 주소와 함께 연락처를 저장할 수도 있다.
- 실행 환경을 가정하지 마라.
- 프로그램이 NetBootk 환경에서 실행된다면, 시스템 리소스의 접근은 제한되거나 읽기 전용일 것이다.
- 예를 들어, 전형적인 NetBoot 환경에서는 사용자의 홈 디렉토리만 쓰기 가능하다.
- 화면 유효성과 해상도의 변화에 민감해져라.
- Mac OS X는 모니터의 하플러깅을 지원하고 Quartz 서비스를 통해 변경을 어플리케이션에 알려준다.
- 소프트웨어는 윈도우 위치와 크기를 조정하여 이에 대해 적절하게 반응해야 한다.
- Modern 시스템 API를 사용하라.
- 애플은 Modern 시스템 API는 구성 변경을 제대로 다루도록 동작한다.
- 몇몇 legacy API 또한 구성 변경을 지원할 수도 있지만, 미래의 릴리스 버전에서 지원할 것이다
- 커스텀 디바이스 드라이버를 만들지 마라.
- I/O 킷은 많은 표준 프로토콜과 디바이스 타입을 지원하는 동작 드라이버를 포함하고 있다.
- 이러한 드라이버에 의존하면 새 버전의 Mac OS X에서 하드웨어어가 자동으로 동작하는 것을 의미한다.
출처 : Apple Human Interface Guidelines