본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/컴퓨터 이야기
  3. User Interface

User Interface

· 댓글개 · 바다야크

컴퓨터 유저 인터페이스란?

컴퓨터 프로그램을 작성하다 보면 하나의 프로그램으로 모든 기능을 다 하는 경우가 있고, 또는 규모가 커지거나 기능이 많아지면 여러 개로 나누어서, 여러 개의 프로그램이 마치 하나의 프로그램처럼 실행되도록 하는 경우도 있습니다.

또한 프로그램은 하는 일의 특성에 따라 화면에 자신 어떤 일을 하는지 꼼꼼히 출력하는가 하면 아예 꽁꽁 숨어서 제 할 일을 다하는 프로그램도 있습니다. 이렇게 모양이나 형태가 모두 다르지만, 그중에서도 제일 어려운 부분이 유저 인터페이스가 아닌가 싶습니다. UI, User Interface. 즉, 사용자와 프로그램 간의 대화를 맡는 부분입니다.

유저 인터페이스 구현의 어려움

화면에 출력되는 부분이라 사용하는 사람의 눈을 만족시켜야 하고 사용 방법의 편리성을 제공해야 하기 때문에 디자인 능력과 함께 엄청난 인내가 필요합니다. 같은 프로그램이라고 하더라도 어떤 사용자를 만나느냐에 따라 일의 난이도가 하늘과 땅 차이로 발생할 수 있어서입니다.

유저 인터페이스는 칼의 손잡이와 같아서 서로 다른 성격과 생각을 가지고 있는 사용자 입장을 골고루 반영해야 하기 때문에 매우 힘이 듭니다. 힘들 뿐만 아니라 모든 작업이 끝나도 계속 변경 요청이 들어오는 것이 또한 UI입니다.

유저 인터페이스 구현의 즐거움

그러나 힘든 만큼 다른 사람으로 감탄의 목소리를 직접 들을 수 있는 것이 또한 유저 인터페이스입니다. 특히, 그래픽 인터페이스를 제공하는 요즘 OS에서는 자신의 실력을 사용자에게 직접적으로 보여 줄 수 있는 것이 유저 인터페이스입니다.

예전에는 컴퓨터가 화면에 출력할 수 있는 능력이 매우 빈약해서 대부분 글자에 선 문자를 섞어서 거의 표나 그리드 형태였습니다. 흑백에서 컬러로 바뀌던 시절에는 같은 프로그램인데도 글자 색상만 몇 가지를 섞어서 출력해 주면 죽인다라는 얘기를 들을 때도 있었습니다.

하얗던 심장 문자를 그저 빨간색으로 보였다 감췄다만 했을 뿐인데 주위에서 칭찬을 해 주더라는 것이죠. 이러니 \|/- 문자를 계속 반복으로 출력해서 마치 풍차가 도는 모양만 보여 주어도 감탄을 아끼지 않는다는 것이죠.

더욱 어려워진 유저 인터페이스 프로그래밍

그러나 지금은 가로 해상도가 1600 이상인 경우도 있고, 필요하다면 멀티 모니터를 이용하여 더 넓은 해상도를 사용할 수 있으며 다양한 방법으로 그래픽을 출력할 수 있기 때문에 예전 프로그래머보다 수십 배는 더 많이 고심하고 고생해야 하는 것이 당연해졌습니다.

갑자기 UI 말씀을 드리고 싶은 것은 UI 프로그램의 어려움을 말하고 싶은 것입니다.

저는 이런 프로그램을 만들고 싶었습니다. 사람과 비슷한 생각을 내놓는 프로그램을 말이죠. 예를 들어 학교 성적 프로그램 같은 경우 학생들의 시험 성적을 선생님께 숫자로만 알려줄 것이 아니라 간단명료하게 그림으로 보여 주자는 것이죠.

선생님께서 관리해야 할 숫자가 너무 많습니다. 반 평균 성적과 학년 평균에다가 그 많은 학생 하나하나에 대해서 반 석차와 학년 석차뿐만 아니라 이전 시험 성적과 비교해서 얼마큼 올랐는지 아니면 떨어졌는지를 판단해서 아이들을 교육시켜야 하는데, 그렇지 않아도 피곤하신 선생님께서 얼마나 고단하시겠습니까? 대부분의 프로그램이 이렇게 숫자 정보를 출력할 것입니다.

제가 생각하는 유저 인터페이스

그러나 저는 선생님께서 직접 이 숫자, 저 숫자를 비교해서 때릴(?) 학생과 칭찬할 학생을 피곤하고 고단하게 판단하게 할 것이 아니라 프로그램이 알아서 계산해서 그림으로 알려 주자는 것이죠. 성적이 떨어진 학생은 때릴 횟수만큼 몽둥이를 여러 개 출력하고 성적이 올라 칭찬할 학생에게는 얼마큼 칭찬해야 할지 손 그림을 여러 개를 출력합니다.

이제 선생님은 숫자에서 해방되었습니다. 이제 골치 아프게 숫자를 비교할 필요가 없어졌습니다. 그저 몽둥이 개수를 세서 그만큼 때리면 됩니다. 그리고 손바닥 그림 수만큼 아이에게 머리를 쓰다듬어 주면 끝입니다.

그러나 !!

그러나 선생님 중에 칭찬할 아이에게 싸다구를 날리시는 분이 계십니다. 오류죠. 이것이 UI의 오류입니다. 다른 분은 칭찬으로 알아보는 손바닥이 이 분은 싸다구가 된 것이죠. 그래서 머리를 그려 주었습니다. 머리를 쓰다듬어 주라는 뜻인데, 선생님은 꿀밤을 때립니다. 역시 에러. 그럼 어떻게 해야 할까요?

그래서 프로그램 전문가는 이미지만으로 표현하는 것은 한계가 있다고 말하면서 그림과 함께 짧은 글씨를 넣어 주라고 합니다. 그래서 손바닥에 “칭찬”이라고 써넣으면 그나마 싸다구를 날리는 일은 적어지겠지요. 그러나 어떤 선생님은 이렇게 해도 아이에게 체벌하시는 분도 계실 것입니다. 왜냐? 없다는 보장은 어디에도 없습니다.

모니터 해상도가 떨어질 수 있고요, 하필 그때 안경을 가지고 오지 않으셔서 글씨를 읽지 못할 수도 있으니까요.

그러나 정작은 프로그래머가 이미지뿐만 아니라 적당한 단어를 찾아야 하는 고충이 새로 생겼습니다. 대충 비슷한 이미지는 구했는데 뭐라고 쓰나? 글을 써 놔도 따지시는 분이 계시죠. 버튼에 [OFF]라고 써 놓으면 기능을 끄는 버튼이다. 아니다 현재 꺼져 있는 상태를 보여 주는 버튼이다. 아니다 끄는 버튼. 아니 지금 현재 상태를 보여주는....아이쿠~

프로그래밍은 종합 예술?

컴퓨터의 표현 능력이 높아져 가면서 프로그래머들은 한층 힘들어졌습니다. 프로그래밍 능력뿐만 아니라 디자인 감각도 함께 가지고 있어야 하며 필요에 따라 적절한 단어를 구사해야 합니다. 도움말도 작성해야 하기 때문에 작문 실력과 보기 좋게 편집할 수 있는 능력까지 겸비했다면 금상첨화죠.

최근에 임베디드 리눅스 시스템의 매력에 빠졌습니다만 대부분 UI를 작성할 필요가 없다는 것을 큰 장점으로 생각했었는데, 최근에는 점점 UI를 요구하는 경우가 많아지네요. 이런 요구에 따라 그래픽 라이브러리도 여러 개 나오고 있습니다만 이 모두가 또 학습해야 될 숙제라 반가우면서도 밉기도 합니다. 아예 방법이 없으면 못한다고 할 텐데 말이죠. ^^

지금도 UI, 특히 Graphic User Interface로 고심하시는 프로그래머가 저 어디 있을 것이라는 생각에 잡담하듯이 적어 보았습니다.

'컴퓨터 > 컴퓨터 이야기' 카테고리의 다른 글

컴퓨터 프로그래밍 언어 학습 방법?!  (49) 2008.06.14
컴퓨터! 너 나가!!  (43) 2008.03.29
한자키를 Alt 키로 사용?  (30) 2007.12.13
SNS 공유하기
최근 글
바다야크
추천하는 글
바다야크
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.