본문 바로가기
기술공학/세상을 바꾼 IT

[세상을 바꾼 IT: 태동] 마우스와 GUI, 컴퓨터 진입장벽을 낮춘 그래픽

by 롱카이 2024. 4. 29.
반응형
  • 전문가의 영역이던 컴퓨터 사용
CLI로 작성한 명령어는 일반인은 이해하기 어려웠다
CLI로 작성한 명령어는 일반인은 이해하기 어려웠다

키보드로 모니터 안 화면에 CLI로 글만 쓰면 되는 작업은 종이에 프로그램 명령어를 입력하고 그 명령어를 천공카드 입력 타자기로 똑같이 작성해 천공카드에 구멍을 뚫은 뒤 입력장치에 넣는 과정보다 훨씬 간편해서 처음에는 수많은 컴퓨터 사용자들이 열광했습니다. 허나 그것은 어디까지나 컴퓨터를 전문적으로 사용하는 사람들에게 해당되는 이야기였고 컴퓨터를 처음 보는 사람이나 익숙하지 않은 사람은 인간 언어와 비슷한데 뭔가 다른 CLI 프로그래밍 언어를 보고 어떤 기능을 하는 글인지, 왜 쓰는 글인지 이해하기 어려웠습니다.

난이도가 많이 내려갔지만 여전히 어려웠던 C 언어
난이도가 많이 내려갔지만 여전히 어려웠던 C 언어

애시당초 프로그래밍 언어 자체가 일반인에게 여전히 어려운 명령어였습니다. 문법도 인간 언어와 달랐고 정해진 규칙을 조금이라도 벗어나면 컴퓨터가 작동하지 않았기에 프로그래밍 언어를 잘 아는 사람만 사용할 수 있었습니다. 문제는 당시 컴퓨터를 사용하기 위해서는 무조건 CLI로 명령어를 입력해야 했습니다. 심지어 컴퓨터를 종료하는 것 역시 명령어를 입력해야 했습니다. 때문에 컴퓨터를 사용하는 사람은 프로그래밍 언어를 잘 아는 소수의 전문가 뿐이었고 그 외 사람들은 컴퓨터 자체를 이용하지 못했습니다.
 
 
 

  • 컴퓨터를 더 쉽게 이용하게 하려는 시도
스캐치패드
스캐치패드

또한 컴퓨터를 전문적으로 이용하는 전문가들 역시 CLI를 통한 프로그래밍에 불편함을 느꼈습니다. 정확히는 타이핑으로 내리는 명령의 한계를 실감한 것입니다. 그래서 일부 연구자들은 모니터에 뜬 화면을 눌러 명령을 내리게 하고 싶어했습니다. 키보드에 손가락을 올려 문법에 따라 글자를 입력하는 것보다 원하는 부분을 누르는 것이 훨씬 직관적인 상호방식이었기 때문입니다. 1963년 로봇 공학자인 이반 서덜랜드는 전용 펜을 Lincoln TX-2 컴퓨터의 모니터에 대 살짝 누른 상태에서 움직이면 모니터 화면에 선이 그려지는 스캐치패드Sketchpad 프로그램을 개발해 MIT 박사학위를 받았습니다. 컴퓨터가 원하는 기능을 하도록 키보드에 손을 얹고 문법에 따라 명령어를 입력하는 방식에서 펜으로 그림을 뚝딱 그리는 스캐치패드Sketchpad는 컴퓨터로 그림을 그리고 디자인을 하는 기능을 할 수 있게 해 컴퓨터로 할 수 있는 일을 추가했으며 본격적으로 인간-컴퓨터 상호작용Human-Computer Interaction(HCI)에 대한 연구가 출발한 기념적인 연구였습니다.
 
 
 

  • 마우스와 하이퍼링크의 등장
스탠포드 연구소에서 개발된 마우스
스탠포드 연구소에서 개발된 마우스

한편 아날로그 컴퓨터 시절에도 컴퓨터를 작동시키는 장치에 대한 연구가 이루어졌는데 아날로그 컴퓨터가 널리 사용된 제2차 세계대전 이후 1952년 캐나다 해군에서 트랙볼Track ball이 처음 개발되었습니다. 하지만 트랙볼Track ball 연구는 군사기밀로 부쳐 세상에 알려지지 않았습니다. 이후 1968년 스탠포드 연구소의 더글러스 앵겔바트와 빌 잉글리쉬가 앞뒤좌우로만 움직이는 바퀴 위에 나무상자를 얹고 그 위에 버튼을 설치한 마우스를 처음 개발했습니다. 둘은 나무상자 뒤에 코드가 부착되어 있는 모습이 긴 꼬리를 가진 갈색 생쥐와 비슷해서 마우스라고 불렀다고 밝혔습니다.

더글러스 앵겔바트가 개발한 마우스 커서
더글러스 앵겔바트가 개발한 마우스 커서

최초의 마우스는 앞, 뒤, 왼쪽, 오른쪽 네 방향으로만 움직이는 장치였지만 동작을 명령하는 장치라는 점에서 큰 의의가 있었습니다. 더글러스 앵겔바트는 마우스로 동작 명령을 내리면 그 결과값을 출력할 무언가가 필요했고 마우스 커서Mouse cursor를 만들었습니다. 수직으로 뻗은 화살표 모양인 마우스 커서Mouse cursor는 마우스가 움직이면 커서가 움직여 마우스로 컴퓨터에 내린 동작 명령을 시각화했습니다. 스탠포드 연구소의 두 연구원은 마우스와 마우스 커서 두 신제품을 개발했으며 이는 당대에 진행되던 거대한 컴퓨터 프로젝트에 큰 기여를 했습니다.

하이퍼링크로 열리는 하이퍼텍스트
하이퍼링크로 열리는 하이퍼텍스트

마우스는 버튼이 있으며 버튼을 누르면 컴퓨터에 버튼이 눌렸다는 신호를 보낼 수 있었습니다. 이는 1965년 하버드 대학교에서 시작된 제너두 계획Project Xanadu에 큰 도움을 제공했습니다. 제너두 계획Project Xanadu는 컴퓨터 과학자이자 철학자인 테드 넬슨이 제시한 컴퓨터 안에 문서를 순차적으로 배치하는 것 대신 링크Link를 걸고 링크Link 안에 문서를 넣어 문서를 임의적이고 나열적으로 배치하자는 아이디어를 실현시키는 계획이었습니다. 여기서 링크Link는 초연결을 하는 링크라는 뜻으로 하이퍼링크Hyperlink로 불렀고 링크Link로 열리는 문서를 하이퍼텍스트Hypertext로 불렀습니다.

마우스 커서를 하이퍼링크에 둔 뒤 마우스 버튼을 눌러 하이퍼텍스트를 소환하는 명령은 매우 직관적이었다
마우스 커서를 하이퍼링크에 둔 뒤 마우스 버튼을 눌러 하이퍼텍스트를 소환하는 명령은 직관적이었다

제너두 계획Project Xanadu는 하이퍼링크Hyperlink와 하이퍼텍스트Hypertext를 실제로 구현하는 계획이었고 명령어로 하이퍼링크Hyperlink를 소환해 하이퍼텍스트Hypertext로 이동하는 프로그램을 진행했습니다. 그러다 마우스와 마우스 커서 개념을 도입해 마우스로 마우스 커서를 하이퍼링크Hyperlink에 둔 뒤 마우스 버튼을 클릭하면 하이퍼텍스트Hypertext가 출력되는 명령을 수행하는 NLS 프로그램을 만들었고 그 결과 컴퓨터에 대해 처음 보는 사람이나, 마우스를 처음 보는 사람도 조금만 사용해보면 누구나 손쉽게 마우스를 이용해 하이퍼텍스트Hypertext를 호출할 수 있었습니다. 마우스를 이용한 명령이 사용자의 진입장벽을 크게 낮춘 실제 사례가 된 것입니다.
 
 
 

  • Xerox Alto 컴퓨터에서 탄생한 그래픽 사용자 인터페이스GUI
Xerox Alto
Xerox Alto

대학교 연구소에서 처음 구현된 개념은 Xerox PARC 회사에서 상업용으로 구현되었습니다. Xerox PARC는 1973년 Xerox Alto라는 컴퓨터를 출시했는데 이 컴퓨터는 1968년 등장한 개념을 모두 적용한 상업용 컴퓨터였습니다. 먼저 스탠포드 연구소에서 탄생한 마우스를 더 개발해 버튼을 세 버튼으로 만들어 세가지 명령을 내릴 수 있게 했습니다. 또 모니터를 A4 용지와 비슷한 비율로 만들어 사용자들이 종이 문서를 읽는 느낌을 구현했습니다. 이는 달리 말하면 CLI로 명령을 내리던 기존 방식에서 벗어나 새로운 시도를 한 것을 의미합니다.

Xerox Alto에 적용된 마우스 커서는 왼쪽으로 22.5도 회전했다
Xerox Alto에 적용된 마우스 커서는 왼쪽으로 22.5도 회전했다

Xerox Alto는 마우스와 함께 마우스 커서 개념을 적용했는데 당시 컴퓨터 모니터 화면의 해상도가 낮아 점이 다 보였습니다. 그 상황에서 스탠포드 대학교처럼 완전히 수직인 마우스 커서를 구현하는 것보다 좌측으로 22.5도 회전한 마우스 커서를 구현하면 마우스 커서 그림을 구현하기도 쉽고 가리키는 것을 비스듬히 가려 완전히 수직인 상태보다 가리키는 것이 더 잘 보였습니다. Xerox Alto에 적용된 마우스 커서는 이내 표준이 되어 지금도 왼쪽으로 22.5도 회전한 마우스 커서를 사용하고 있습니다.

Xerox Alto의 파일 메니저 프로그램
Xerox Alto의 파일 메니저 프로그램

Xerox Alto는 마우스 커서와 하이퍼링크, 하이퍼텍스트를 적용해 모니터 화면에 문서 그림을 만들었습니다. 당시 사람들이 사용하던 종이 문서의 글과 그림과 동일한 형태를 모니터에 그대로 띄웠습니다. 그리고 마우스 커서를 글이나 네모 그림에 둔 뒤 마우스 버튼을 클릭하면 하이퍼텍스트가 생성되었습니다. Xerox Alto는 이렇게 하이퍼링크 개념을 적용해 그림을 그리고 그 그림으로 상호작용하는 작동방식을 처음 선보였습니다. 그리고 그림은 그래픽 사용자 인터페이스Graphic User Interface(GUI)로 CLI로 명령어를 입력하는 방식보다 훨씬 간편했습니다.
 
 
 

  • 컴퓨터 사용 난이도를 낮춘 GUI
CLI와 GUI로 가운데 그림을 그리는 걸 비교해보자
CLI와 GUI로 가운데 그림을 그리는 과정을 비교해보자

그림으로 시각화하고 마우스 커서를 둔 뒤 마우스 버튼을 클릭하면 명령이 실행되는 GUI는 명령을 내리기 너무나도 간편했습니다. GUI로 버튼을 클릭해 명령을 내리는 과정을 CLI로 동일하게 구현하면 몇십줄짜리 명령어 코드로 구현해야 했습니다. 때문에 CLI로 컴퓨터를 이용하면 프로그래밍 언어를 아는 소수의 사람만 이용할 수 있었지만 GUI로 컴퓨터를 이용하면 누구나 이용할 수 있었습니다. 더불어 CLI를 사용하는 전문가들 역시 CLI보다 GUI가 더 간편함을 인정했습니다.

GUI로 구성된 프로그램은 누구나 이용할 수 있다
GUI로 구성된 프로그램은 누구나 이용할 수 있다

GUI로 구성된 프로그램은 사용자에게 프로그램을 이용하는 난이도를 획기적으로 낮췄습니다. GUI 이전 CLI로 프로그램을 이용할 때는 해당 프로그램에 맞는 프로그래밍 언어를 학습하고 그 프로그래밍 언어로 명령어를 코딩해야 했기에 프로그래밍 언어를 전문적으로 학습하며 추가로 컴퓨터 하드웨어 구조를 아는 전문가만 사용할 수 있었습니다. 그래서 컴퓨터를 이용하는 전문가는 매우 값비싼 인력이었으며 해당 인력이 적어 컴퓨터의 수요가 크게 늘지 않았습니다. 하지만 GUI는 누구나 조금 본 뒤 이해하고 명령을 내릴 수 있었기에 프로그래밍 언어를 모르는 일반인도 쉽게 사용할 수 있었습니다. 덕분에 컴퓨터를 사용할 수 있는 사람이 급격하게 증가했고 컴퓨터는 급증하는 수요에 따라 발전했습니다. 이에 따라 컴퓨터는 성능은 더 좋아지고 가격은 더 낮아지도록 압력을 받았고 그 방향으로 발전해갔습니다.
 
 
 
 

반응형

댓글