사용하기 편리한 컴퓨터를 개발하기 위해 과학자들은 그래픽유저인터페이스(GUI), 입력장치, 문자음성인식, 가시화, 사용자모델링, 특성화, 도움말기능 등에 주목하고 있다.
컴퓨터의 능력이 놀라우리만큼 빠른 속도로 증가하고 있다. 10년전에 출현한 PC를 오늘날의 PC와 비교해 보면 금석지감을 느끼지 않을 수 없다. 대략적으로 살펴보면 컴퓨터의 계산속도와 기억용량은 10년전에 비해 1백배 정도 증가했다. 따라서 2000년에는 1천 MIPS(초당 1백억 명령어 처리속도)의 프로세서와 10기가바이트의 기억장치, 10기가bps(bit per second)의 통신속도, 그리고 1천5백만개의 화소(畫素)를 갖는 개인용 컴퓨터가 보편화될 것으로 예상된다. 이러한 발전추세로 가면 지금 슈퍼컴퓨터라고 불리는 컴퓨터가 조만간 책상위에 올라오게 될것이 틀림없다. 이런 막대한 계산 능력과 저장 능력을 갖는 컴퓨터가 책상 위에서 무엇을 하고 있을 것인가.
위의 질문에 대한 답은 다음과 같은 점을 주목한다면 자연스럽게 도출될 수 있다. 오늘날의 컴퓨터는 사용 방법이 매우 어려워 그 사용자가 어느 정도의 훈련을 받은 극히 일부에 지나지 않는다는 사실과 현재의 컴퓨터가 다루는 매체가 주로 문자이고 그림이나 소리, 움직이는 화상 등은 잘 다루지 못한다는 사실이다. 다시 말하면 컴퓨터의 그 놀라운 계산능력을 이용해 사용자가 쉽게 사용할 수 있도록 하고, 다양한 매체 즉 그림 소리 움직이는 화상 등도 자연스럽게 활용할 수 있도록 하는, 소위 지능형 다중매체 시스템으로 사용하는 것이다.
컴퓨터를 전화기와 TV 정도, 아니면 최소한 VCR 정도로 이용하기 쉽게 만들 수는 없을까. 어떻게 하면 복잡한 컴퓨터를 사용자가 잘 이용할 수 있을까. 이러한 '쓰기쉬운 컴퓨터'를 만들기 위한 노력을 총체적으로 인간과 컴퓨터의 대화 방식의 연구, 즉 HCI(Human Computer Interaction)라고 한다.
사용하기 쉬운 컴퓨터를 만들기 위해서는 여러 분야의 연구가 종합적으로 활용돼야 한다. 즉 인공지능 전산과학 전자공학 심리학 언어학 인지과학 인간공학 등의 연구가 필수적으로 요구된다. 또한 이런 연구에 대한 접근방법도 관련 학문 분야만큼 다양하다. 즉 효과적인 화면구성 방법과 아이콘(icon)의 모양에 대한 연구에서부터 어떻게 사용자의 상태를 파악하여 컴퓨터에게 알려줄 것인가를 결정하는 등의 심리학적인 접근방법까지 다양하다. 이중에서 대표적인 몇가지 커다란 연구 방향을 살펴보기로 하자.
■GUl/여러 서류를 뒤적이듯이
컴퓨터의 명령어를 기존의 방식처럼 키보드로 입력하는 것이 아니라 화면에서 그림조각(아이콘)을 선택하거나 화면의 사각형 영역을 윈도로 정의해 그 크기와 개수, 위치를 마음대로 조정하면서 필요한 작업을 할 수 있는 사용자와 컴퓨터의 대화방식을 그래픽유저인터페이스(GUI)라고 한다. 이러한 대화방식은 책상 위에 여러가지 서류를 펼쳐 놓고 이 서류 저 서류를 뒤적이면서 업무를 보는 것을 연상시킨다. 즉 여러 개의 서류를 펼쳐 놓았으나 한 순간에는 하나의 서류밖에 처리하지 못하듯이 윈도시스템에서도 작업할 윈도를 마우스로 선택해 그 윈도 상에서 작업을 수행한다.
GUI는 애플컴퓨터사의 매킨토시를 효시로 워크스테이션은 물론이고 PC에서도 매우 보편화된 대화방식이다. 특히 MIT에서 개발한 X-윈도 시스템이 유닉스(UNIX) 워크스테이션의 표준으로 정착되고 있다. 하지만 이런 대화 환경을 효과적으로 구성하는 데는 현실적인 문제가 뒤따르는데 그것은 이러한 대화 방식으로 개발한 프로그램을 다른 기종에서 수행시키기 위한 호환성과 표준화의 문제, 그리고 좀 더 쉽고 빨리 응용 프로그램을 작성할 수 있도록 도와주는 표준개발환경에 관한 문제다. 이러한 분야의 연구는 컴퓨터 제조업체로서는 상품의 판매와 직결되기 때문에 전력을 다해 연구에 힘을 쏟고 있다.
■새 입력장치/카메라 통한 직접 입력 시도
컴퓨터와 인간의 대화를 쉽게 하기 위해 새로운 입력 및 대화장치가 꾸준히 개발돼 왔다. GUI 시스템도 따지고 보면 화면입력장치인 마우스의 개발이 없었다면 불가능한 일이었을 것이다. 지난 반세기동안 여러 종류의 장치가 개발돼 한동안 사용되다 사라지고 또 새로운 것이 개발되곤 했다.
대표적인 것이 문자를 입력하기 위한 키보드이고, 위치를 지적하기 위해 마우스 조이스틱트랙볼 등이 개발됐으며 최근에는 휴대를 간편하게 하기 위해 여러가지 아이디어가 나오고 있다('과학동아'91년 9월호 참조). 또 게임기계 등에 자주 쓰이는 압력공도 재미있는 입력장치다.
최근에는 카메라를 통한 직접 입력도 시도되고 있다. 카메라 앞에서 사용자가 몸을 움직일때 이를 감지해 필요한 정보를 얻는 방식은 사용자의 입장에서 보면 매우 편리하다고 생각된다. 그러나 3차원 공간상에서 자유로이 움직이는 손가락의 위치를 정확히 파악한다는 것은 첨단의 컴퓨터 영상이해 기술로도 쉬운 일이 아니다. 따라서 카메라의 인식을 돕기 위해 배경을 단순하게 하거나 특수한 장치가 달린 장갑을 끼는 방법을 사용한다.
■문자 음성인식/펜컴퓨터 실용화 임박
컴퓨터와 인간의 대화를 쉽게 하기 위한 연구의 한 방향은 컴퓨터와의 대화도 인간의 대화와 같은 방법으로 할 수 있도록 하는 것이다. 이와 같은 목표를 성취하기 위해서는 음성인식 문자인식 그리고 자연언어의 이해라는 인공지능의 아주 중요하고 어려운 문제를 해결해야 한다.
음성인식이나 필기인식은 모두 지난 30년간 꾸준히 연구돼 온 결과 최근에는 괄목할 만한 연구성과를 올리고 있지만, 보통 사람간의 대화처럼 이야기하거나 흘려쓰는 글씨를 인식하기에는 아직도 요원하다. 음성이나 필기인식 알고리즘은 적응성의 유무에 따라서 화자/필기자 종속적인 시스템과 화자/필기자 독립적인 시스템으로 구분할 수 있다.
화자/필기자 종속적인 시스템은 인식알고리즘을 특정 화자나 필기자에 맞추어 훈련시킨 시스템으로 비록 처음에는 인식을 잘못하더라도 시간을 두고 훈련을 시키면 시스템이 특정화자나 필기자의 특성을 학습해 인식률을 향상시킨다. 따라서 화자/필기자 종속적인 시스템을 이야기할 때는 훈련을 하기 전에는 얼마나 인식하는가 또 얼마나 빨리 배우는가 어디까지 배울 수 있는가 등으로 구체적으로 언급해 주어야 한다.
음성인식보다는 그래도 필기인식이 실용화에 가깝다. 필기인식을 통해 쓰기 쉬운 컴퓨터를 만들기 위해서는 인식대상으로 숫자, 문자는 물론 포함되고 도표 도식 테이블 등 문서 작성에 필요로 하는 모든 요소를 인식할 수 있어야 한다. 또 교정부호의 인식도 수행돼야 한다.
최근 펜만을 사용하는 컴퓨터가 속속 출현하고 있다. 아직도 펜장치의 불편함과 인식 알고리즘 및 응용소프트웨어의 미비로 큰 시장은 형성되지 않았지만 곧 펜을 사용하는 자연스러운 사용방법이 컴퓨터의 대중화를 선도할 것이다. 또 자판을 제거할 수 있으므로 휴대하기 간편해 움직이면서 일하는 사람이 사용하기에 편리하다. 따라서 2, 3년후면 펜컴퓨터는 큰 시장을 형성할 것이라고 전문가들은 전망한다. 이에 따라 국내 기업에서도 현재 연구개발에 큰 노력을 들이고 있다.
펜컴퓨터가 실용화되고 음성인식 기술이 발전되면 그림과 음성을 동시에 사용하는 컴퓨터가 개발될 전망이다. 음성과 펜을 같이 사용하는 시스템은 매우 자연스럽고 재미있는 컴퓨터 사용법을 제공할 것이다. 즉 간단히 메모한 후 메모를 설명하는 음성을 녹음해 필요할 때 메모와 함께 설명을 들을 수 있을 것이며 또 펜으로 교정할 곳을 지적한 후 교정명령을 구술하는 등 다양한 사용방법이 음성과 영상을 통합했을 때 가능할 것이다.
■가시화(可視化)/정보를 그림으로 표현
1백번을 들어도 한번 본 것만 못하다는 말이 있듯이 사람의 시각장치는 매우 많은 양의 정보를 효과적으로 처리한다. 회사 경영자료나 자연과학 계산결과로 나온 많은 양의 수치를 사람이 이해하기 쉽도록 보여주는 방법에 관한 연구도 활발하다.
회사 경영자료들은 전통적으로 차트나 그래프로 정리해 관리자에게 제공되고 있다. 그러나 자료의 양이 많고 복잡해짐에 따라 시각적으로 잘 정리하지 않으면 관리자의 판단 및 처리가 쉽지 않다. 더구나 자연과학분야에서 사용되는 높은 차원의 수치와 그들간의 상관관계 등은 색깔 위치 형태 동적변화 등을 혼합해 적절한 형태로 보여주어야만 사용자가 쉽게 파악할 수 있다.
소프트웨어의 개발 및 관리기법에도 가시화(visualization)기술이 많이 이용된다. 프로그램이라는 매우 복잡한 조직체를 그림으로 그려주고, 또 알고리즘의 진행상황을 동적으로 표현함으로써 프로그램 개발자가 눈으로 프로그램을 이해하며 오류를 발견할 수 있도록 하는 소프트웨어 공학 기법도 연구되고 있다.
소프트웨어 공학 분야에서는 시각적 프로그래밍(visual programming) 연구가 한창이다. 시각적 프로그래밍이란 컴퓨터의 프로그램을 그래픽을 이용해 작성하는 것을 말한다. 기본적인 기능을 나타내는 그림조각(아이콘)의 조합으로서 프로그램이 수행하여야 할 업무를 그림화한다.
이러한 시각적 프로그래밍 기법은 기존의 프로그래밍 언어의 읽고 이해하는 어려움을 극복하고 쓰기 쉬운 언어를 개발할 목적으로 연구가 진행되고 있다. 특히 어린 학생들이 복잡한 문제를 풀어갈 때 그 수행과정을 아이콘으로 조작할수 있게 함으로써 쉽게 개념을 파악하게 하고 그 과정을 익힐 수 있기 때문에 교육용 프로그램 언어로서 각광을 받는다.
■특성화/몇마디 명령만 내리면···
컴퓨터의 명령어나 프로그램 언어에서는 숙달된 사용자가 편리하게 사용할 수 있도록 명령어와 프로그램 언어의 형식을 압축하거나 수정할 수 있는 기능, 즉 시스템을 특성화할 수 있는 기능이 주어져야 한다.
유닉스와 도스같은 운영체제에서는 일련의 명령어를 묶어서 하나의 간단한 명령어로 대치할 수 있는 기능이 있다. 또 리스프(LISP)언어에서는 매크로(macro)를 사용자가 정의할 수 있는데 이는 사용자가 입력한 프로그램 코드를 정의된대로 확장해 언어해석기에 전달한다. 따라서 사용자가 매우 간략한 몇마디의 명령만 하더라도 언어해석기에는 매우 복잡하고 긴 명령어가 전달된다. 이렇게 명령어를 축약할 수 있는 기능외에도 컴퓨터 환경을 사용자의 기호에 맞추어 조정할 수 있는 기능이 여러가지 주어지고 있다.
특히 GUI시스템에서는 윈도의 크기, 색깔은 물론이고 사용하는 글자꼴 및 크기, 테두리의 형태 등을 자유롭게 선택할 수 있다. 시스템이 알아서 사용자의 숙련도에 적응을 하지 못한다 하더라도 사용자의 숙련정도에 따라서 사용자가 인터페이스를 조정할 수 있는 기능은 숙달된 사용자에게 많은 편의성을 제공한다.
■도움말/막히면 컴퓨터에 물어라
컴퓨터를 사용하던 중 잘 모르는 것에 대해 컴퓨터에게 도움을 청하거나 질문을 던질 수 있다면 많은 도움이 될 것이다. 이러한 능력을 컴퓨터가 가지려면 컴퓨터 프로그램이 스스로 자신이 하고 있는 일이 무엇이고 현재 어디까지 진행되고 있는가를 파악해야 한다.
기존의 프로그램 언어로 구성한 컴퓨터 프로그램은 스스로 자신이 하고 있는 일을 설명하기가 쉽지 않다. 즉 질문이 나올만한 곳에서 질문을 예상하고 그 질문의 답을 미리 준비해 놓아야 한다. 그러나 시스템이 복잡해짐에 따라 예상되는 질문이 다양해서 그들을 다 준비한다는 것은 불가능해진다. 스스로 하는 일을 설명하기 위해서 컴퓨터 프로그램이 어떤 구조로 되어야 하는가를 규명코자 하는 연구가 진행되고 있다.
이상에서 본 것과 컴퓨터의 사용을 쉽게 하기 위하여 매우 다양한 연구가 진행되고 있다. 이러한 연구가 결실을 맺게 되면 누구나 좀 더 쉽게 컴퓨터를 활용할 수 있게 될 것이다. 컴퓨터를 쓰기 쉽다는 상태의 극치는 컴퓨터의 존재를 느끼지 않게 되는 경지에 도달하는 것, 즉 컴퓨터인지 모르고 컴퓨터를 사용하게 되는 그러한 상태가 가장 바람직한 상태이지 않겠는가. 벌써 우리 가정에, 우리 직장에 우리가 알게 혹은 모르게 컴퓨터가 많이 들어와 있다. 세탁기에도 있고 TV에도 심지어는 손목시계 속에도 우리는 이미 많은 컴퓨터들 속에서 컴퓨터와 살고 있다. 그러나 앞으로는 더욱 많은 컴퓨터들 속에서 살게 될 것이다. 보이지 않는 컴퓨터들 속에서.