본문 바로가기

개발/App Developer

Apple Human Interface Guidelines - Characteristics of Great Software(7/7)


Apple Human Interface Guidelines - Characteristics of Great Software(7/7)

Characteristics of Great Software
  • High Performance
  • Ease of Use
  • Attractive Appearance
  • Reliability
  • Adaptability
  • Interoperability
  • Mobility
Mobility에 대한 디자인은 노트북 사용의 급등함에 따라 점점더 중요해지고 있다.
Mobility를 지원하는 프로그램은 시스템 폴링이나 불필요한 주변 장치에 대한 접근을 통한 배터리 파워를 낭비하지 않고, 사용자가 이동할 때나 모니터 구성을 변경하거나 슬립모드 또는 활성화되었을 때 멈추지 않게 하는 기능을 제공해야 한다.
Mobility를 지원하기 위해, 프로그램은 네트워크 구성 변경을 포함한 다른 시스템 구성에 적응할 수 있어야 한다.
많은 하드웨어 디바이스는 컴퓨터가 동작하는 중에 플러그 상태 또는 언플러그 상태가 될 수 있다. 이동을 인지하는 프로그램은 이러한 변화에 우아하게(?) 반응해야 한다.
또한 파워 사용과 같은 이슈에 민감해야 한다.
지속적인 하드나 광학 드라이브에 대한 접근은 노트북의 배터리를 빠르게 소모시킨다.
하나의 배터리 충전으로 컴퓨터를 더 오래 사용할 수 있도록 모바일 사용자를 고려해야 한다.

Guidelines
  • 이벤트에 대한 폴링을 피하라.
    • 시스템 폴링은 불필요하게 CPU 시간을 낭비하고 그 다음으로 포터블 시스템에서 배터리 파워를 소모한다.
    • 대부분의 modern API는 흥미로운 뭔가가 일어나면 프로그램에 알려주는 방법을 가지고 있다.
    • 이러한 통지를 받기위해 등록하고 적절하게 응답하라; 그렇지 않으면 (프로그램이 아무것도 하지 않는다면) 완전히 유휴 상태가 된다.
  • 소프트웨어를 사용할 때 사용자에게 프로그램 CD를 넣으라는 요구를 하지 마라.
    • 사용자에게 로컬 하드 드라이브에 모든 것을  설치할 수 있는 옵션을 제공하라.
  • 하드나 광학 드라이브에 파일 접근을 최소화하라.
    • Performance를 향상시킬 뿐 아니라, 드라이브를 좀더 자주 덜 돌게 함으로써 배터리 소모를 줄일 수 있다.
  • 네트워크 구성 변경을 적용하기 위해서는 Modern 네트워크 인터페이스  사용하라.
    • 모바일 사용자는 장소나 어느 한순간에 무선 접속 장소를 바꿀 수 있다.
    • 이러한 구성 변경을 다루기 위해 CFNetwork와 다른 modern 인터페이스를 사용하라.
  • 네트워크 볼륨의 연결이 끊기는 경우, 파일 시스템에 접근할 때 이를 허용하라.
    • 네트워크 볼륨이 사라지면 사용자에게 알리고 파일을 다른 볼륨에 저장할 수 있는 옵션을 제공하라.
  • 화면 해상도 변경과 모니터의 플러그와 언플러그에 민감하게 반응하라.
    • 모바일 사용자는 다른 해상도를 요구하는 프로젝트나 다른 디바이스에 연결할 수도 있기 때문에 소프트웨어의 화면 크기를 고정이라고 생각하면 안된다.
    • 모니터가 사라지면, 윈도우들이 보이는 상태로 남을 수 있도록 모니터에 있던 모든 윈도우의 위치를 조정하라.(모니터가 다시 나타났을 때 이전 위치에 놓이게 하기 위해)


출처 : Apple Human Interface Guidelines