안녕하세요 김대욱입니다. 오늘 웹서핑을 하다가 우연히 알아두면 유용할것 같은 서비스 사이트를 찾아 여러분들과 공유하려 포스팅을 합니다!! 위 제목에 나와있는데로, IP주소를 입력하면 해당 IP주소의 위도 경도를 출력해주는 서비스인데요, 사용방법이 매우 간단할 뿐더러 다양한 포맷(php,xml,json 등)을 지원하기 때문에 LBS를 구축하고 계신분들이라면 매우 유용한 팁이 되지 않을가 생각합니다. 아래는 해당 업체의 사이트구요 주소는 http://geobytes.com 입니다.
일단 사이트에 접속하시면 왼쪽 중간 또는 오른쪽 상단에 IP Address Locator라는 메뉴를 찾을 수 있습니다. 해당 메뉴에 접속하시면(http://www.geobytes.com/IpLocator.htm) 아래와 같은 그림의 페이지를 접하실 수 있는데요, PHP에서 사용할 수 있는 간단한 소스코드와 현재 접속중인 IPAddress의 지역정보를 출력해줍니다.
이메일을 확인하려고 접속했더니 조금은 기대하고있었던 Windows 7 Beta가 릴리즈 되었다는 소식의 이메일이 도착했네요.
CES 키노트에서 스티브 발머 아저씨의 소개와 함께 릴리즈 되었다고 하는데요, Windows Vista에 비해 어떤점이 변했고 어떤점이 좋아지고 나빠졌는지, 직접 다운로드 받아 설치 해보고 리뷰를 올려보도록 하겠습니다. TechNet 또는 MSDN 구독자는 MSDN Subscription을 통해 지금 바로 다운로드 받으실 수 있으며 저는 일단 MVP라서 다운로드 받아 테스트 해보지만, 일반 사용자 들도 미국시간 기준으로 1월 9일 이후에 다운로드 받을 수 있을 것이라고 합니다. (한국시간으로는 내일정도쯤이면 다운로드가 가능할것으로 생각됩니다. 내일이면... 몇시간 안남았네요 ㅎㅎ)
지금 다운로드를 진행중인데 멤버십 인터넷이 느려서인지 아직 2시간 30분정도는 더 기다려야 다운로드 가능할것 같습니다.
용량은 64bit버전은 3.3Gb 정도고, 32Bit 버전은 2.4Gb 정도입니다. 저는 현재 32bit버전을 다운로드 하고있으며 다운로드가 완료되는데로 설치과정부터 사용까지 쭈욱~ 한번 살펴보도록 하겠습니다.
그럼 2시간반 뒤에 뵙도록 하겠습니다~ (인터넷 속도가 엄청나게 느려서.. 환장하겠습니다 ㅎㅎ)
....
....
....
드디어 극악의 인터넷 속도를 극복하고 드디어 Windows 7을 다운로드 하는데 성공했습니다. 설레이는 마음으로 시디를 넣어보았더니 아래와 같은 화면이 나타나네요. 기본적인 느낌은 Windows Vista와 비슷합니다. 기존의 윈도우를 포맷하고 Windows 7을 설치 할까 하다가 진행중인 프로젝트가 있어서 포맷을 하게되면 사용할 수 있는 컴퓨터가 없기에 VMWare를 사용해서 테스트를 진행 했습니다.
VMWare를 통해 테스트한 컴퓨터 환경은 아래와 같습니다.
멤버십에서 지급받은 컴퓨터인데 Windows7을 설치하는데에는 큰 문제는 없을 것 같습니다.
Processor : Intel(R) Core(TM)2 CPU 6420@ 2.13GHz
Memory : 3062 MB
Windows : Windows Vista Ultimate 32Bit
Windows Experience Index : 4.6
VMWare에 새로운 Virtual Machine을 생성하고 전원을 켜봤습니다.
(VMWare 새로운 Virtual Machine을 생성할때 아직 Windows7을 지원하지 않기때문에 Vista로 설정했습니다.)
두둥.. Vista때와는 사뭇 다른 부팅 화면입니다. 이미지에서는 윈도우 로고가 보이지만 실제 부팅시에는 화려한 애니메이션이 펼쳐집니다. 그리고 잠시뒤 아래와 같은 설치 화면을 확인 할 수 있습니다.
Windows 7 Beta는 아직 한글 버전을 제공하지 않기때문에 설치 언어는 영어로 그대로 두고 시계와 키보드만 한국으로 설정했습니다. (잘 보시면 아시겠지만, 마우스 커서가 2개입니다.-_- 화면 캡쳐를 VMWare 밖에서 했더니 저렇게 되네요.. 죄송합니다ㅜ)
계속해서 Next버튼을 누르면 간단한 설정 과정이 등장하는데 이부분은 Windows Vista와 동일했으므로 사뿐히 스킵합니다. 계속해서 설정이 모두 완료되면 윈도우 설치에 필요한 파일을 복사하는 작업을 진행하며 설치가 진행됩니다.
설치가 완료되면 컴퓨터의 이름과 사용자 이름을 입력하는 창이 나옵니다. 간단하게 저는 사용자 이름을 Daewook이라 하고 컴퓨터 이름을 DaeWook-7 이라고 지정했습니다.
계속해서, 컴퓨터 이름과 사용자이름 설정이 완료되면 위와 같이 시디키를 입력하라는 창이 나타나게 되는데요, 이때 부여받은 Windows 7 Beta 시디키를 입력하고 Next버튼을 사뿐히 눌러주시면 되겠습니다.
(처음 한참동안 시디키가 바르지 않다고 나와서 걱정했는데 시디키를 잘못 입력했더라구요.. -_- 저같은 실수는 하지 않으시길..)
계속해서 몇가지 설정을 끝마치면 윈도우 설치를 마무리 하고있다는 창이 뜹니다.
그리고 이렇게 어딘가에서 많이 본듯한 화면이 등장합니다.
이페이지 역시 어디선가 많이 본듯한... 로그인 페이지 입니다. 로그인 화면 보려고 Window7을 설치한것이 아니니, 계속 진행하도록 하겠습니다. Windows Vista의 색이 녹색이였다면 Vindows 7은 파란색 계통의 색을 많이 사용하는것 같습니다.
(개인적으로 마음에 드는 색들입니다.)
짜잔~ Windows 7이 설치 완료된 모습입니다. 작업표시줄에 아이콘들이 큼직큼직하게 박혀있다는게 뭔가 있어보이는 간지용 아이콘과 바탕화면에는 Beta버전을 사용하다가 발생하는 문제를 쉽게 신고하라는 의미인지 Send Feedback 이라는 아이콘이 휴지통과 함께 나란이 있었습니다.
위 그림은 시작 표시줄과 계산기를 실행시켜본 이미지 입니다. Windows7이 되면서 변화된 기능중의 하나가 바로 계산기 입니다.
그중 기존의 계산기는 Standard,Scien,Programmer, Statics의 모드를 제공합니다.
Programmer 모드를 선택하면 아래와 같이 64Bit까지 표현 가능하며 표기법 변환 뿐만아니라 QWord(64Bit)부터 Byte(8Bit)까지 DataType까지도 지정할 수 있습니다. 개발자들을 위해 이런 부분 까지 신경쓰다니 아직 알아보지 못한 다른기능들이 기대됩니다ㅎㅎ 한가지 재미있는 기능을 더 말하자면 위 그림에서 00000 으로 표기된 부분을 마우스로 선택하면 쉽게 0을 1로 스위칭할 수 있어 2진수 조작할 수 있습니다.
예전에 프로그래밍을 처음 배우면 첫 개발 프로그램으로 "계산기" 를 추천 하는 사람이 많았는데 이제는 계산기도 덩치가 꾀 커져서 이런말도 함부러 못하겠네요.. ㅎㅎ (아, 메모장과 기본 게임은 그대로인것 같았습니다. )
젊었을때는 하루이틀쯤음 밤새도 끄떡 없다던데.. 고작 하루 밤을 샜는데 피곤함이 몰려오네요.. -ㅠ-
여튼 오늘은 여기까지해서 간단한 Windows 7 Beta 설치 리뷰 해보았습니다. 한숨자고 일어나서 한번더 살펴보고 뭔가 재미있는 기능이 있다면 더 소개하도록 하겠습니다. 기타 질문이나 문의사항은 이메일이나 리플달아주시면 답변드리겠습니다. 이상입니다.
매번 ISO파일 시디로 만들 때 마다 NERO설치해서 굽는 게 귀찮아서 (게다가 NERO가 버전업 하면서 너무 무거워 지고 있습니다. -_- ㅋ) 다른걸 알아보던 중 괜찮은 Freeware 프로그램을 찾았습니다. NTFS.com이라는 사이트에서 제공해주는 건데 아래 그림과 같이 간단하게 ISO파일을 CD로 만들 수 있습니다.
뿐만 아니라 몇 가지 옵션들도 제공하고 있으니 간단히 ISO파일을 구울 때는 유용하게 쓰일 수 있을 것 같습니다.
안녕하세요. 이번 시간에는 조금은 가벼운(?) 이야기를 해볼 가 합니다. 많은 분들이 디자인 패턴에 대해 들어 보셨을 것입니다. 그 중에서 이번 시간에는 Observer Pattern에 대해 이야기를 해보려고 하는데요, Observer Pattern과 제가 좋아하는 게임인 StarCraft 에 대해서 이야기 해보겠습니다. 전혀 쌩뚱 맞은 조합이라 뭔 소리를 하고자 하는지 궁금하시죠? 특별한 내용은 없고 단지 좀 더 쉽게 Observer Pattern 에 대해서 설명하고자 하는 내용이니 부담 없이 읽어주셨으면 합니다.
StarCraft를 처음 알게 된 게 제가 초등학교 5학년 때 정도니까 지금으로부터 거의 10년 가까이 옛날 일이네요. 그때 까지만 제가 이런 일을 할 것 이라곤 상상도 하지 못했었는데.. ㅎ 10년이나 지난 예전 일을 회상 한다는 게 가능한 나이라니 ㅜ 저도 이제 어른이 되어가고 있나 봅니다 ㅠ_ㅠ
요즘에 StarCraft를 즐겨 하고 있는데(절 때 잘 하는 이 아닙니다용 ㅠ), 한 수 가르쳐 주실 분 모시고 있습니다용 ㅎㅎ
Observer Pattern을 이야기 할거라 Observer 사진을 준비해봤습니다 -_-ㅋ 포스팅을 위해 그림을 찾아봤는데 게임에서 볼 때 와는 상당히 다른 모습이네요 ㅎㅎ
제가 StarCraft의 개발자가 아니기 때문에 실제로 어떻게 구현이 되어있다고 말은 하기 어렵지만 우리가 즐기고 있는 StarCraft를 보며 Observer Pattern를 설명할 수는 있습니다. 예를 들어 Zealot 에게 9시로 이동해! 라고 한다면 이동 경로뿐 만 아니라 주변 상황까지 상세하게 알 수 있죠, 우리가 Zealot에게 지금 상황은 어떠니 지금 어디니 감시를 하고 있지 않아도 알 수 있다는 겁니다. 그 이유는 아군 Unit은 무언가 자신에 대한 상황이 비꼈을 경우 대장(게임 플레이어 이겠죠?)에게 보고를 해야 하는 "규칙"이 있기 때문입니다. 반대로 해당 Unit이 가만히 멍 때리고 앉아 있을 때는 보고하지 않아도 된다는 말이죠.
이게 바로 Observer Pattern인데요, 객체가 무엇을 하고 있는지 전혀 관여를 하지는 않지만, 전체적인 상황에 영향을 끼칠 만한 상황이 발생했을 경우에 스스로 알려주는 것이지요. 만약에 Zealot이 9시로 정찰을 갔는데 아무것도 없었다. 본부에 여기 아무것도 없어요~ 하고 말 한 다음 Zealot은 그 자리에 자유롭게 행동을 합니다. 본부에 서는 Zealot을 100% 신뢰하기 때문에 진짜야? 진짜 아무것도 없어? 라고 물어보진 않습니다. 만약에 Zealot이 배신을 했다! 하더라도 본부에서는 그가 배신을 했는지 안 했는지는 알 수가 없습니다. 불쌍하죠.. ㅎ
Observer Pattern에서는 굳이 객체를 감시하고 있지 않아도 변경에 대한 정보를 얻을 수 있기 때문에 시스템을 좀더 효율적으로 사용할 수 있습니다. 하지만 좀 전에 말했듯이 배신은 곧 파멸로 이어질 수 있습니다. 때문에 Observer Pattern에서의 Notify는 보장할 수 있는 조건 하에서만 이루어져야 한다는 사실을 알 수 있습니다.
Observer Pattern이 무엇인지 조금 이해가 가셨나요? 이런 Observer Pattern은 UI개발에 꽤나 효율적인 방법으로 이용 될 수 있습니다.
Archon이라는 객체가 있다고 합시다. 그리고 위치, 체력, 킬, 기술, 업그레이드 등의 속성을 가지고 있습니다. 아래 그림과 같이 화면 중앙엔 현재 사용자가 보고 있는 화면이 표시되고 왼쪽 하단엔 미니 맵, 중앙 하단에는 선택한 Unit의 정보, 오른쪽 하단에는 Unit의 능력에 대한 내용이 표시 된다고 합시다.
그렇다면 여러분이라면 어떻게 구현 하시겠습니까? Observer Pattern을 사용하지 않는 다면, 매 순간마다 게임에 등장하는 모든 객체들에게 "너 지금 어디에 있니, 그리고 체력은 몇이나 있니 몇 명이나 죽였니…" 라고 물어보고 화면에 그려야 하는지 여부를 판단 할 것입니다. 하지만, Observer Pattern을 사용한다면 일일이 객체들에게 간섭하지 않아도 알아서 "나 지금 여기에 있어요, 나 지금 선택 됐어요, 체력은 얼마에요"라고 미리 말을 해주니 객체들이 하는 말에만 귀 기울여 화면에 그린다면 불필요한 간섭을 피하고 간단하게 구현 할 수가 있습니다.
글을 쓰다 보니 Observer Pattern 마치 킹왕짱 인 것처럼 쓴 것 같습니다만, Observer Pattern은 하나의 객체를 가지고 여러 가지 형태로 표현하기 위한 효율적인 하나의 방법으로 모든 상황에서 Observer Pattern을 사용해 대처하기엔 그 한계가 있습니다. 이 글은 단지 Observer Pattern에 보다 쉽게 이해할 수 있도록 돕기 위해 작성된 글이며, 실제 구현상에 맞지 않는 부분이 생길 수 도 있습니다.
Design Pattern은 Observer뿐만 아니라 다양한 패턴이 존재하며 현재도 많이 발표가 되고 있으니, 자신의 상황에 맞는 적절한 패턴을 사용 하시는 것을 추천합니다.
날로 빨라지고 있는 개발 주기와 사용자의 경험(UX)을 동시에 만족시킬 수 있도록 고안된 RIA(Rich Internet Application) 시장에 그 동안 RIA시장의 80% 이상을 차지하고 있던 Adobe Flex(Flash)에 강력한 라이벌로 Microsoft Silverlight가 떠오르고 있습니다.
Microsoft의 Silverlight가 기존 개발자들에게 친숙한 환경제공으로 개발자들 사이에 빠른 속도로 보급될 것이라는 의견이 있지만 다른 시작에서는 Silverlight에 비해 일찍 시작한 만큼 안정된 성능뿐만 아니라 Flash 시절 때부터 이어온 인지도 덕분에 주도권을 계속 유지할 것이라는 시각도 있습니다.
이 글에서는 필자의 경험과 웹 상의 여러 자료들을 바탕으로 Silverlight와 Flex에 대해 비교해보고, 이를 통해 Silverlight와 Flex 둘 중 어떤 것을 공부 해야 할지 고민하는 개발자들에게 조금이나마 도움이 되었으면 합니다.
본격적인 비교에 앞서 RIA에 대해 간단하게 정리하고 시작하자면 기존의 Desktop Application의 기능과 특징을 구현한 Web Application으로 기존의 복잡한 조작을 할 수 없었던 WebBrowser 기반의 Application의 한계를 극복하고 풍부한 UX(사용자의 경험)를 겸한 Application이라 할 수 있습니다.
그럼 본격적으로 Silverlight와 Flash(Flex)에 대해 살펴보도록 하겠습니다.
개발자와 디자이너간의 협력 작업
“개발자와 디자이너는 서로 다른 세계를 살아가는 사람같다.”
디자이너와 함께 팀을 이루어 개발을 해본 경험이 있는 대부분의 개발자들이 하소연 하듯 하는 말입니다. 서로의 문제를 바라 보는 관점 자체가 다른 사람들이 일을 하다보면 서로 의사소통이나 표현의 문제로 서로 대립되는 경우도 비일비재하게 발생할 수 밖에 없기 때문입니다.
Silverlight와 Flex를 개발하기 위해 Microsoft와 Adobe가 제공하는 Tool에 대해 살펴보도록 하겠습니다.
Microsoft
Adobe
Design Tool
Expression Design
Illustrator, Photoshop
Animation Tool
Expression Blend
Flash, Flex
Web Tool
Expression Web
Dreamweaver
Media Tool
Expression Media
Primer
Development Tool
Visual Studio
Eclipse
Language
XAML
여기서 주목해야할 점은 Microsoft 제품에 사용되는 XAML이라는 언어인데요, Adobe의 제품의 경우 각각의 Format을 가지고 있어 디자이너가 Design한 결과물을 Application까지 적용시키기 위해서는 여러 번의 포멧 변환이 필요하며 이 과정에서 디자이너가 생각했던 모습되로 적용되지 않는 경우가 발생합니다.
하지만 Microsoft의 제품의 경우 XAML이라는 통일된 언어를 사용하기 때문에 디자이너가 Design한 결과물(XAML)을 그대로 변환없이 사용 가능하기 때문에 디자이너의 요구를 만족 시킬 수 있습니다. Microsoft에서는 사용자의 편의성을 높여주기 위한 일련의 활동들을 UX(User Experience, 사용자 경험)라고 정의하고 있습니다.
Microsoft의 Design Tool이 아직까지는 Adobe에 Photoshop과 Illustrator에 비해 화려한 Design을 하기엔 다소 무리가 있지만, 아직 초창기 버전이고 더 발전 할 수 있음을 감안할 때, 개발자와 디자이너간의 협력 부분에서는 Microsoft의 Expression Studio가 우세하다고 할수 있습니다.
그리고 기존 Adobe제품을 사용하면서 Microsoft 제품을 사용하길 원한다면 아래와 같은 별도의 변환툴을 사용하면 유용합니다.
lSWF to XAML Converter(http://www.mikeswanson.com/swf2xaml)
lAdobe Illustrator to WPF/XAML Export Plug-In(http://www.mikeswanson.com/xamlexport)
같은 결과 다른 성능
Silverlight와 Flex 모두 같은 RIA기술을 사용하지만 그 성능은 같지 않습니다. 어쩌면 당연한 말이지만, 여러 가지 환경에서의 그 성능의 차이는 어떻게 다르게 나타나는지 http://bubblemark.com/에서 실시한 성능 비교 자료를 참고하여 두 기술의 성능 차이에 대해 말씀 드리겠습니다. 이 실험의 목표는 같은 기능을 수행하면서, 서로 다른 기술로 구현된 RIA가 서로 다른 Browser와 Framework에서 어떤 차이를 보여지는 측정하기 위함이며, 실험의 사용하여 단순한 2차원 애니메이션을 통한 성능 측정 방법입니다.
실험은 화면상에 여러 개의 공들이 표시되고 공들이 서로 부딪히면서 발생하는 Animation의 FPS를 측정하는 방법으로 진행되었습니다. 제가 실험에 사용한 환경은 아래와 같습니다.
lCPU : Pentium 4 3.2Ghz Desktop
lRAM : 2048Mb
lOS : Windows Vista Enterprise English
lBall Count : 16 Balls
lInternet Explorer 7
Requirements
CPU Usage
FPS
Javascript
32%
39
Requirements
CPU Usage
FPS
Silverlight 1.1
61%
51
Requirements
CPU Usage
FPS
Silverlight 2.0 Beta
69%
173
Requirements
CPU Usage
FPS
Flex
66%
34
Requirements
CPU Usage
FPS
Flex(Cashing)
-
64
Requirements
CPU Usage
FPS
WPF
21%
93
위 결과와 같이 IE 7에서 가장 최적의 성능을 발휘하는 RIA는 Silverlight 2.0 Beta로 구현한 Application이였습니다. Flex의 경우 Silverlight 2.0 Beta에 비해 현저히 떨어지는 것을 확인 했습니다.
실험에 사용된 컴퓨터에 설치된 Browser가 IE7밖에 없어 IE7로 밖에 확인을 해보지 못해 기타 Browser에 대한 내용을 http://metalinkltd.com/에서 실험한 결과로 말씀 드리겠습니다.
(테스트 환경이 구축 되는 데로 실험 결과를 블로그에 업데이트 하도록 하겠습니다.)
Browser
DHTML
Flex
Flex (caching)
Silverlight 1.1
WPF
IE 6.0
56
61
90
84
99
Firefox 2.0.0.1
55
52
60-90*
58
-
Opera 9.01
94
50
100
-
-
위 결과에서 알 수 있듯이 IE에서는 Silverlight가 Flex보다 역시 빠른 성능을 보이는걸 알 수 있습니다. 하지만, Flex는 어느 브라우저를 사용하든지 일정한 속도를 유지하지만 Silverlight의 경우 IE일 경우 일 때와 아닐 때의 속도차이가 많이 나거나 지원하지 않는다는 것을 알 수 있습니다.
결과적으로만 봤을 때 Silverlight가 성능상이나 활용 면에서 뛰어난 것은 사실이지만, Flex에 비해 안정성이나 Cross Platform 지원 등은 불완전 하다는 것을 알 수 있었습니다.
이번 시간의 비교는 여기까지로 하며, 2부에서는 RIA와 .Net Framework 그리고 Action Script라는 주제로 올리도록 하겠습니다. 궁금 하신 점이나 틀린 부분은 메일이나 블로그에 남겨주시면 참고 하겠습니다.
Last post I covered how to get reference to the WPF DirectShow graph and inject your own filter chain. Like I stated, I think this approach is sort of dirty. I say that because it still lacks the control and flexibility needed.
So what if we could get direct access a BitmapSource's native image buffer? You know one exists, though the WPF API hides it (probably for good reason). If we could efficiently update a BitmapSource's buffer, we could do fast image processing (brightness, contrast, hue, etc) or even make our own MediaPlayer in WPF without having to even use DirectShow!
Well Friday night, after the bar, I set out with the goal of getting that BitmapSource's buffer. After about six hours and a hangover later, I got what I was looking for. Let me tell you, it was a crash course in Reflection and WIC APIs.
Let me give a short explaination on how this is done. WPF uses the unmanaged WIC in the backend for imaging, so it would make sense that WPF keeps reference somewhere to the WIC handle. At least this is what I was guessing. Poking around with Reflection, I found the WIC handle I was looking for in a private field in the BitmapSource class. I then did some research into WIC on how to lock the bitmap's pixels and get the native buffer. Plugging in all the pieces, I was able to get the pixel's pointer!
Doing some tests, writing to the buffer, I found that my xaml Image that held my hacked BitmapSource, was not changing. :(. I ran a Image.InvalidateVisual() and the change rendered!
I did some tests, writing a 640x480 at 30 times/sec resolution buffer to the BitmapSource's buffer. There were zero page faults, RAM usage didn't move at all, but the CPU usage was around 7%. This leads me to believe that I am indeed copying over the same buffer each time and the CPU usage is due to either my lack of WIC/WPF knowledge or that is the hit at which WPF rendering takes for doing such operations.
Now we can create high-performance imaging routines in WPF. We can make custom DirectShow renderers that take our native BitmapSource buffer and write to it. We can implement our own players w/o DirectShow. So many implementations!
The only caveat as of now is I seem to only be able to make this work with RGB32 pixel format.
**UPDATE: Other's have claimed to be able to use other color spaces. Play around, you might get lucky
Also DO NOT FORGET TO RUN Image.InvalidateVisual() after you update the BitmapSource's buffer or you will not see anything change!
**UPDATE: After Image.InvalidateVisual, make sure you get the pointer from the BitmapBuffer.BufferPointer property. The get{} relocks the bitmap pixels.
Here is the example usage of the class (Source for WPFUtil.BitmapBuffer class in file attached at the bottom)
int width = 640;
int height = 480;
int bpp = 4;
//These are 'dummy' pixels
//only used to create our bitmap
//further editing after bitmap creation
//of these pixels does nothing, that is
//what this hack is for
byte[] pixels = new byte[width*height*bpp];
//Create a new bitmap source
BitmapSource bmpsrc = BitmapSource.Create(width,
height,
96,
96,
PixelFormats.Bgr32,
null,
pixels,
width * bpp);
//Set our Image in our Xaml to our
//new bitmap
TestImage.Source = bmpsrc;
//Create our helper class
buf = new WPFUtil.BitmapBuffer(bmpsrc);
//Woo a pointer!
IntPtr buffPointer = buf.BufferPointer;
언뜻 생각하면 말하는 것, 즉, '커뮤니케이션' 하는 것이 쉽다고 생각될 수 있습니다. 그러나 '내가 말해야 하는 것 (나의 아이디어, 컨셉, fact)'을 제 3자인 청중에게 '말하는 (커뮤니케이션)'하는 기술은 결코 쉬은 일은 아닙니다. 프리젠테이션 시작에 앞서 우선, 프리젠테이션에 대한 'agenda'나 프리젠테이션의 목표가 포함되는 소개로 시작하시기 바랍니다. 그리고 내용, 정보를 제공하고 프리젠테이션을 요약합니다.
마지막이 처음입니다 - 요약/결론 슬라이드 한 조사에 의하면 프리젠테이션에 참석하는 사람들은 5개 이하의 중요한 점만을 "기억"한다고 합니다. 이상적으로, 발표자는 기억해야 할 5개 이상의 중요한 점, 컨셉(concept), 사실(fact)에 대한 목록을 가지고 있어야 합니다. 그리고 참석자들에게는 자신이 기억하는 5가지 점에 대한 목록이 있어야 합니다. 전달이 중요하단 의미입니다.
그러면 상관관계란? 당신의 메시지가 관중들에게 피드백이 있습니까? 또는 참석자들이 중요하지 않는 점을 기억하고 당신의 중요한 아이디어는 놓치고 있지는 않습니까? 그들이 5가지 점만을 기억한다는 것은 좋은 사인이 아닙니다. 그들은 당신이 중요하다고 생각하는 것을 중요하게 생각하지 않을 수도 있습니다. 당신이 중요하다고 생각하는 점을 그들이 하나도 기억하지 못한다면? 당신의 청중이 기억하기를 원하는 것을 그들이 기억하게 하려면?
마지막 슬라이드로 시작하십시오! 정말입니다. 프리젠테이션을 할 준비가 되어 있을 때 당분간 자세한 점들은 잊기 바랍니다. 그리고 프리젠테이션의 구성도 잊으십시오, 대신,
결론이나 요약을 먼저 적으십시오! 그러면 당신이 계획하는 가장 중요한 점이 강조됩니다. 이러한 점을 눈에 띄게 만들게 되면, 요점을 향해 당신의 프리젠테이션을 상대적으로 쉽게 이끌어갈 수 있습니다.
The Basic Rules of Good Presentations
KISS - Keep It Simple Stupid (간단하고 짧게) SES 법칙 (Simple, Easy, Short)라고도 합니다. 요점부터 말하자면, 더 복잡하게 만들게 되면 더 많은 곤란을 격게 된다는 것입니다. 메시지 전달에 프리젠테이션이 집중하도록 하며, 특별 효과와 현란한 기교를 많은 정렬을 쏟지 마시기 바랍니다. 너무 현란한 그래픽과 효과는 청중을 산만하게 하고, 청중들로 하여금 당신의 메시지가 아닌 그림을 보게 하는 결과를 가지고 옵니다. 명심하십시오! 프리젠테이션의 목적은 메시지의 전달입니다. 그리고 어떤 경우에도 프리젠테이션을 시작하기 10분 전에는 임대장비가 도착해야 합니다. 와야 할 장비가 제 시간에 도착하지 않아 당황하게 되면 중요한 프리젠테이션을 망치게 됩니다.
프리젠테이션 리허설하기 가장 프로다운 이미지를 주기 위해서는, 바로 당신이 자신의 프리젠테이션 내용을 알아야 합니다. 발표자가 이해하지 못하는, 받아들이지 못하는 아이디어와 컨셉은 청중에게 전혀 먹히지 않습니다. 초점이 없고, 노트 내용과 무관하고, 연설 중 생각을 정리하기 위해서 긴 간격을 두는 것과 같이, 갈팡질팡하는 프리젠테이션은 또한 청중들에게 결코 받아들여지지 않습니다.
프리젠테이션 리허설에서는 실제로 프리젠테이션을 진행할 상황에서 연습하시기 바랍니다. 또한 실제와 같은 장비인 슬리이드, 프로젝트 빔을 사용하고 프리젠테이션이 있을 같은 방에서 리허설을 하십시오. 무선 마우스, 레이져 포인터 또는 마이크로폰을 사용할 지 결정합니다. 이러한 실제 장비로 프리젠테이션을 리허설합니다. 그리고 시작 전에 모든 장비를 점검하고 사용법을 숙지하여야 합니다.
개인적인 경험으로 프리젠테이션이 직업이라고 할 수 있을 정도로 여러 국가를 다니면서 프리젠테이션을 했던 상사들 중에서도 치명적인 실수를 하는 적을 간혹 보았습니다. 비행기 안에서 프리젠테이션에 대한 준비 중 빠진 점이 없는가 다시 생각하면서도 예측하지 못할 상황들이 발생합니다. 노트북을 이용하고 해외에서 프리젠테이션을 한다면 그 국가에 맞는 전기 어탭터를 준비하시기 바랍니다. 그리고 바테리 충전을 반드시 점검합니다. 때에 따라 여분의 긴 전기 익스텐션 라인도 필요합니다. 인터넷과 연결하여 실시간으로 데모가 필요하다면 인터넷 설정을 확인합니다. 경우에 따라 달팽이처럼 느린 인터넷 라인이 현장에 연결되었을 경우 대안 B로 만든 캡처 화면을 이용하시기 바랍니다. 청중들은 기다려 주지 않습니다. 청중들은 인내를 용인하지 않습니다.
내용을 외우지 마십시오 -- 가슴으로 이해하십시오! 리허설을 통해 프리젠테이션 내용을 기억하고 가슴으로 이해해야 합니다. 명심하십시오! 당신은 프리젠테이션 내용을 암송하는 것이 아니라 발표하여야 합니다. 그를 위해서는 자신이 발표하는 내용을 믿고, 마음으로 인정하는 브래인스토밍을 하여야 합니다.
메모한 노트는 아껴서 사용합니다. 노트를 읽는데 너무 많은 시간을 할애하게 되면 듣는 사람들은 당신이 준비가 되지 않았다, 프로가 아니라고 판단하게 됩니다. 절제하여 준비한 노트를 사용하시기 바랍니다. 노트를 읽는 중에도 시선은 메모와 청중들을 번갈아가며 주어야 합니다.
정장보다는 성공을 입으십시오. 어떤 사람들은 프리젠테이션을 위해서 정장을 해야 한다고 말하고 어떤 사람들은 그렇지 않다고 합니다. 개인적으로 정답은 없다고 생각합니다. 어느 정도의 무게있는 정장을 입는 것이 좋지만, 필요에 따라서 프리젠테이션의 내용이나 상황에 따라 과감한 시도를 할 필요도 있기 때문입니다. 예로 청바지 홍보 프리젠테이션에서 직접 신제품을 입고 진행하는 것이 효과적일 수도 있습니다. 자신이 없다면 사람들에게 물어보십시오! 그리고 적절한 유모와 형식적인 진행을 신축성있게 사용합니다.
보조를 맞춥니다 -- 너무 빨리 또는 너무 늦게 진행하지 마십시오. 일반적으로 모든 "슬라이드"는 적어도 10초, 그리고 100초를 넘어서는 안됩니다. 한 장의 슬라이드로 몇 분을 소비한다면, 과감히 잘라야 합니다 (이것이 정답이라고 말하는 것은 아니지만 좋은 가이드라인입니다. 물론 일부 도표와 그래픽은 잘 보여주려면 몇 분도 걸릴 수 있습니다.) 그럴 경우, 긴 것은 몇 장의 "슬라이드"에 한해야 합니다. 한 장으로 몇 분을 설명하는 슬라이드가 늘어날 경우, 청중의 눈을 관찰하시기 바랍니다. 초점이 흐려지고, 많이 어수선해짐을 느낄 수 있을 것입니다. 그런 경우 스피드를 올려야 할 시간입니다.
프리젠테이션 도구는? 슬라이드, LCD, LDP 프로젝터, 랩탑, LCD 패널, 비디오, 멀티미디어, 사운드, 레이저 포인터, 라펠 마이크로폰, 오버헤드, 포스터프린터 등… 발표자로 사용할 수 있는 프리젠테이션 도구는 넘쳐납니다. 당신의 커뮤니케이션 needs, 프리젠테이션 환경을 결정하고 당신의 메시지를 전할 수 있는 적절한 도구를 선택하시기 바랍니다.
유인물을 준비합니다. 프리젠테이션은 좋았고 참석자의 반응이 좋았습니다. 더 이상 좋을 수 없었습니다. So what? What's wrong?
몇 명의 참석자들이 자신의 회사로 돌아갑니다. 그들은 상사에게 프리젠테이션에 대한 질문을 받고 브리핑을 하러 상사방으로 들어갑니다. 그들은 자신이 프리젠테이션에 참가하고 그에 대한 컨셉이 생겼다고 자신하였습니다. 그러나 그들은 불행히도 구체적으로 설명을 못하고 맙니다. 왜일까요?
제공된 유인물 또는 handout이 없거나 그 내용이 좋지 않기 때문입니다. 당신의 메시지에만 힘을 싣지 마십시오. 적절한 유인물은 종종 성공적인 프리젠테이션의 큰 효자 역할을 합니다.
자, 이제는 효율적인 프리젠테이션을 할 때입니다.
Overcoming Fear and Shyness
많은 중역을 포함해서 대부분의 사람들이 많은 사람들 앞에서 프리젠테이션을 하는데 공포를 느낍니다.
프리젠테이션을 하는 것이 초조해지면, Art Feierman은 다음과 같이 조언합니다. "그럴 경우, 이전에 들은 오래된 기술이 있습니다. 그 장소에서 나가서 주위를 돌아보고 잠시 눈을 감고 첫번째 줄에 있는 옷을 입지 않거나 속옷차림의 사람들을 연상합니다 (당신의 윤리가 허락하는 한에서!). 이러면 긴장이 풀어지고 거의 유모스러운 효과까지 주게 됩니다."
저도 개인적으로 많은 프리젠테이션 경험이 없었을 때, 모 상공회의소에서 4-500명의 관중들 앞에서 프리젠테이션을 한 적이 있었습니다. 우선 앞에 서니 사람들이 보이지 않았습니다. 내 제품에 대해서, 내 서비스에 대해서는 꿰뚫고 있었는데, 무엇을 말해야 할지도 정리도 안 되었습니다. 내용을 마음으로 이해하기 보다는 외운 이유이기도 하였지만. 더욱 더 큰 문제는 우선 눈을 어디에 두어야 할 지 갈팡질팡 되었습니다. 대중공포증이었습니다. 사람들은 하나 둘 들어오고 강당은 가득 차고. 그 때 같이 간 상사의 말이었습니다. "우선 눈에 잘 보이는 한 두 사람을 골라서 그들에게 말을 하세요. 다른 사람들도 관찰해야지 하지만, 몇 명에게만 집중해요. 그게 어려우면 나에게 시선을 주세요. 알았지요?" 이렇게 나의 편을 청중 속에 심어놓는 것도 대중공포증을 피하는 방법 중의 하나입니다.
그렇게 함으로 당신의 "대중공포증"이 사라질 수도, 아닐 수도 있지만, 적어도 당신의 청중과 지속적으로 연결이 될 것이고, 피드백이 있게 됩니다.
Your Place as a Presentor
컴퓨터가 아니라 당신의 청중을 조절하십시오.
- 당신의 청중과 마주하고,
- 그들을 관찰하고,
- 눈을 마주칩니다 - 방 주위를 배회하거나 아래를 보지 마십시오. 방황은 초조의 사인이며, 아래를 쳐다볼 때 "다음에 할 것이 무엇인지 알아보려는 것"이라고 생각 할 수 있습니다. (기억하세요 - 당신은 연사입니다).
- 컴퓨터를 의식하지 마시기 바랍니다. 즉, 그 뒤에 숨지 말란 말입니다. 무선 마우스를 가지고 청중의 앞에 서서 발표자, 리더, 중개자, 전달자로서 자신있게 섭니다.
질문을 미루는 방법과 지속적인 follow-up이 필요합니다. 당신이 발표하는 프리젠테이션의 성격에 따라, 프리젠테이션 중에 질문을 받는 것이 좋을 수도 있습니다. 어떤 경우 그 자리에서 질문에 답을 주는 것이 적절하기도 합니다. 그렇지 않을 경우, 그 점을 나중에 설명하는 것이 산만한 진행을 피할 수 있는 좋은 방법이 될 수 있습니다. 또는 회의가 끝난 후 설명할 수도 있습니다. 당신이 이 점을 어떻게 다룰 지 결정하는 것이 최상입니다.
프리젠테이션의 흐름을 조절하는 것. 적절할 경우, 질의응답 시간을 프리젠테이션 끝 부분에 Q&A 세션에서, 또는 끝난 후로 연기합니다. 다음과 같이 답을 하는 것이 좋을 것입니다. "제가 …을 다룬 후에 당신의 질문에 답을 하도록 하겠습니다." 또는 "이 프리젠테이션의 결론이 난 후에 당신과 제가 의논할 수 있습니다. 또는 "죄송하지만 지금 가능한 정보가 저에게 없습니다. 미팅이 끝난 후 만나서 당신의 이름을 받고… 다음 주에 연락드리겠습니다."
당신의 청중의 반응을 알 수 있는 방법은? 힌트: 코를 골며 자는 것은 정말로 나쁜 조짐입니다!
앞에서 청중 중에서 몇 명의 사람에게만 초점을 맞추라고 제안하였습니다. 그들이 경청하고 있습니까? 당신의 Body language는 어떻습니까? 청중들이 안절부절 못하거나 시계를 보고 있습니까? 필기는 하고 있나요? 졸고 있지는 않은지요? 중요한 것은, 당신의 프리젠테이션의 어떤 부분이 그들에게 감동을 주는지, 그리고 어떤 부분을 청취자들이 놓치고 있는지를 필기를 해야 하는 사람은 바로 당신입니다.
프리젠테이션 장비의 기술 발전으로... 지금 여러분에게는 랩탑과 프로젝터가 있습니다. 몇 년 내로 프리젠테이션 제품은 큰 성장을 보였습니다. 예로 오늘날 프로젝터는 컴퓨터가 지난 5년 내에 발전한 것처럼 지난 2년 사이에 많이 발전했습니다. 기능의 큰 향상으로 모든 사람들은 당신과 당신의 프리젠테이션에서 더 많은 것을 기대하는 것이 사실입니다.
프리젠테이션의 목적은 정보와 지식의 제공이지, 현란한 그래픽의 제공은 아닙니다. 이것은 아마도 KISS의 결론일 것입니다. 당신의 프리젠테이션의 목적은 아이디어와 정보를 커뮤니케이션하는 것이지 현란한 그래픽으로 사람들을 어지럽게 하는 것이 아닙니다. 프리젠테이션이 끝나게 되면, 깔끔한 그래픽, 특수 효과와 같은 것에 대해서가 아니라 당신이 설명한 아이디어에 대해 의논하려고 청중이 당신에게 걸어나오기를 당신은 원할 것입니다.
당신의 프리젠테이션에는 '의식'이 있습니다, 그러나 당신의 청중에게는 '무의식'이 있습니다.
내용 진행이 되었고 당신은 모든 규칙 - 프리젠테이션에서 지켜야 할 모든 것 - 즉, 방향, 초점, 정보, 강조 - 를 따랐습니다.
그러나 어떻게 하면 더 잘 할 수 있을 것인가? 열정 - 당신의 열정과 믿음을 커뮤니케이션 하는 것 외의 그 어떤 것도 당신의 프리젠테이션에 더 큰 도움이 될 수 없습니다. 이것은 복음사의 "당신은 믿습니까 - 저는 믿습니다"식은 아니지만, 청중은 당신의 믿음, 신뢰를 알게 되고, 이 점은 당신의 메시지에 신용을 추가하게 됩니다.
언어의 힘에 대해서... 당신이 선택하는 단어는 당신의 청중의 반응 - 발표자로서 당신의 아이디어와 당신의 효율성 모두에 -- 에 극적인 영향을 줍니다.
요즘 워드 프로세스에는 동의어 사전이 있습니다. 사용법을 효율적으로 배우시기 바랍니다. 청중의 주의를 끌고 신뢰와 능력이라는 인상을 줄 수 있는 "힘이 있고" "지배적인" 단어를 사용합니다.
일례로, "저는 생각하고 동의합니다"라는 말 대신에 "저는 당신이 동의할 것임을 확신합니다". "저는 당신이 그렇게 생각할 것을 원합니다" 대신에 "저는 당신이 그렇게 생각하도록 추천합니다". "당신"이라는 이인칭으로 당신의 청중을 대하기 바랍니다. "당신"은 매우 강한 단어입니다. 일반적으로 제 삼자로서 보다는 "당신"으로 칭할 때 청중들의 반응은 좋습니다. "참석자들은 이런 이익을 받게 됩니다". 대신 "참석자로서 당신은 이런 이익을 받습니다" 식으로 말합니다.
더 강한 영향력을 가진 더 "좋은" 단어를 찾아내기 위해서 뿐 아니라, 계속적으로 같은 단어를 과도하게 사용하지 않기 위해서 동의어 사전을 사용해야 합니다.
적시적절한 유머는 효과적입니다. 현명하게 사용된 적절한 양의 유머는 당신과 청중의 관계를 형성하고 당신의 청중이 계속 당신의 메시지에 관심을 갖고 주의를 기울이는데 많은 도움이 됩니다.
원칙적으로, 농담을 위한 농담을 하지 말고 어떠한 사항에 대해서 적절할 때 또는 휴식 시간 중에 농담을 하기 바랍니다. 약간의 유머나 때로의 관계없는 코멘트는 프리젠테이션을 생동감 있게 합니다. 기억하십시오. 졸고 있는 청중은 메시지를 거의 기억하지 못합니다. 졸고 있다면 적절한 유모로 그들을 깨우십시오. 저의 경험으로 발표자로서 청중을 볼 때 마치 그들은 어린아이와도 같습니다. 지루하면 이내 그 모습이 얼굴에 드러나게 됩니다. 이내 얼굴은 짜증어린 표정이 서리고, 졸기도 하고, 그리고 시계를 보게 됩니다.
행운을 잡는 것에 너무 서두르지 마시기 바랍니다. 진짜 사람들 앞에서 당신의 프리젠테이션을 리허설하는 것은 당신의 유머가 "먹히는지"를 시험할 수 있는 좋은 방법입니다. 어설픈 유모는 안 하니만 못합니다. "먹히고" "효과있는" 유머만을 하시기 바랍니다. 그것은 리허설 할 때 시험하시기 바랍니다.
유머파워 (Humor Power)의 저자인 심리학자 허브 트루는 유머의 중요성에 대하여 이렇게 언급하였습니다. "효과적인 의사 전달에서의 적절한 유머 사용은 상호간의 긴장을 없애주거나 적의를 없애주는데 절대적인 도움을 줍니다."
다음은 유머 사용에 대한 몇 가지 주의사항입니다.
프리젠테이션의 의도나 목적, 진행 내용과 반드시 연관이 있어야 한다. - 가능하면 새롭고 신선하고 예측하지 못한 것을 준비하여야 한다. - 유머는 간단 명료하면서도 전달하는 이미지가 강해야 한다. - 격의있는 고상한 유머를 준비하는 것이 좋다. - 가끔 자신의 실패담이나 성공담을 적절히 섞어 사용하여 청중들에게 감동을 준다.
청중을 집중시킬 수 잇는 효과적인 인용 또는 testimonial을 사용합니다. 적절한 인용은 당신의 청중에게 눈에띄는 영향을 줄 수 있습니다. 당신의 프리젠테이션에 직접적으로 관련있는 인용을 찾는 것은 늘 가능한 것은 아닙니다. 그러나 당신의 프리젠테이션의 개념을 보완하거나 도움을 주는 일련의 인용을 찾는 것은 때로 어렵지 않습니다. 이러한 인용이나 고객의 증언과 같은 것은 당신이 제안하는 아이디어와 fact를 뒷받침하는 좋은 증거가 될 수 있으며 이로 인하여 청중들은 신뢰로 이르게 됩니다.
예로, 한 발표자가 그의 프리젠테이션에서 토마스 왓슨(IBM), 켄 올슨(DEC), 빌 게이츠(Microsoft)…를 포함한 컴퓨터 "공상가"들에서 인용하기를 좋아한다고 합시다. 인용은 다음과 같습니다.
- 토마스 왓슨 (이전 IBM 회장)은 컴퓨터가 이렇게 대중화 될지 생각하지 못했습니다.
- 켄 올슨 (DEC의 창시자이지 이전 사장)은 모든 사람들이 집에 컴퓨터를 원하는지 알아내지 못했습니다.
- 빌 게이츠는 640k 메모리가 모든 사람들에게 충분하리라 생각했습니다.
일단 인용을 한 후에, 청중은 더 많이 "보게"되고 - 그런 인용은 청중에게 영향력을 주게 됩니다. 당신의 청중과 코끼리 사이의 차이는 무엇인가? 코끼리는 잊는 일이 없는데 - 청중은 때때로 기억한다는 것!
Art's Rule of Five
리허설 시 해야 할 5가지
1. 실제 프리젠테이션 전 리허설을 할 때, 개요와 요약 슬라이드를 삭제하십시오. 대신 청중에게 관심있고, 기억되고, 혼동을 주는 것을 찾아냅니다. 그들이 매우 중요하다고 생각하는 것을 나열합니다. 당신의 메시지를 그들이 접수했습니까?
2. 프리젠테이션 전에 모든 당신의 장비를 테스트합니다.
3. 실제 프리젠테이션 중에 사용할 가능하면 모든 장비를 사용하여 리허설합니다.
4. 백업 플랜을 만듭니다. 프로젝터가 죽는다면, 컴퓨터가 망가진다면, 슬라이드 판에 이상이 있을 경우 어떻게 할 것인지. 대안 B는 무엇인지 (그리고 연습은 했는지?)
5. 소개, 목적, 개요,. 프리젠테이션, 요약 (결론)
청중이 해야 할 5가지
1. 깨어 있어야 한다.
2. 그들이 찾는 정보를 받는다.
3. 메시지를 받는다.
4. 당신이 발표하는 정보를 볼 수 있는 유인물을 옆으로 치운다.
5. 당신의 정보에 반응한다.
끝난 후 당신이 해야 할 5가지
1. 청중에게 감사한다!
2. 자료를 준비한다.
3. 당신 자신을 준비한다.
4. 청중에게 당신과 연락할 수 있는 방법을 전달한다.
5. 피드백을 받는다 - 그들이 당신에게 대해 생각하는 것, 그들이 알게 된 것, 배우길 원했는데 그렇게 하지 못한 것, 당신의 프리젠테이션을 향상시키는 방법, 당신의 커뮤니케이션 기술을 향상시키는 방법은 무엇인지.
Science Fiction movies have been a source for speculation about the future of technology and human computer interaction. This paper presents a survey of different kinds of interaction designs in movies during the past decades and relates the techniques of the films to existing technologies and prototypes where possible. The interactions will be categorized with respect to their domain of real-life applications and also evaluated in regard to results of current research in human computer interaction.
As one can conclude from the term science-fiction movie, these films have a background of an advanced, fictional technology that is normally set in the future. Most of these movies have in common that they expose their own vision of the future, with new technologies commonly being the most noticeable change in these hypothetical worlds. Besides visions about all kinds of scientific areas, the given context of this work concentrates particularly on computer interfaces.
As a part of the seminar "Intelligent Spaces" approaches of mainstream science fiction motion pictures are extracted and analysed regarding their references in real-life human computer interaction (HCI) designs. Similarities to ongoing researches will be outlined - especially to those, which are presented by other talks of this seminar that have already taken place. To be able to draw comparisons to reality it is often necessary to view the ideas and visions of a movie on a relatively abstract level. At first some key factors that determine or influence the design of HCI in movies will be discussed. Starting from this viewpoint numerous examples from selected movies will be observed. Due to the limitation of the material that was at hand, we cannot claim to provide a complete overview of all movies, but the available selection should suffice and allow a representative inspection of the movie scene. We will start with a review of movies that do not show any concepts at all or merely adapt common everyday techniques of that time. The second and main part introduces visionary interaction design, divided into different areas of interaction technologies, followed by a brief view at a couple of satiric movie scenes and the conclusions of this work in the end.
2. Factors that influence interaction design in movies
Before we observe the selected cut-outs, we will examine in short the key factors that contribute to the resulting interaction techniques. We should keep those in mind for later evaluation in order to have a better understanding of the (esp. historical) context of a movie. The probably most important aspect is the availability of special effects technologies - including the budget of a production to use those. Some movies that will be shown are made at a time where digital editing was not yet existent, whereas other recent motion pictures (e.g. Star Wars Episode II) don’t even contain a single scene without computerized backgrounds or animations. Moreover the commercial success of the movie industry increased a lot during the past 10 years, such that higher budgets became more and more feasible. Current trends in IT research and products have of course as well an impact on the movie, since this will probably be the director’s background where his ideas will evolve from. That’s where the directors (or his advisors) creativity comes into place. Given that technical realisations of technologies in movies don’t have to be explained or justified, the director benefits from an almost unlimited degree of freedom - compared to researchers or designers of the ‘real’ world. We also have to consider the importance of the interaction technique or the device itself for the movie as a whole. The technology could be totally unimportant or play an important role for the plot (so called “plot device”), but most of the times technology is found inbetween and has to support the overall authenticity of the vision of a future world.
In this section we will review a couple of movies in chronological order that lack any concepts of HCI or that just adapted common technology of that time without new ideas beyond them. “Metropolis” being the oldest science-fiction movie is a silent film from 1927 created by Fritz Lang in Germany and became a classic piece, which influences movies and music videos throughout the decades that followed. The written dialogues are shown between the scenes, while a piano that plays during performances in public cinemas is the only thing that you will hear. It tells a story about a magnificent futuristic city, which is maintained by workers enslaved underground. As at this time the digital age hasn’t begun in no aspect, as well the vision of the future in this movie appears very mechanical.
The selected scene shows a worker that operates a device by adjusting huge levers on a clock-like machine whenever a light flashes up, indicating the direction to which the lever has to show. The conceptual fault here is that the controls of the machine are exactly the opposite of a human-centered design, since user has to work for the device to make it run. “Raumschiff Orion” from 1966 is a german TV Series that was very popular (audience rating of 41%) and still is now: a re-edited movie-length version will be out on alternative cinemas in Germany by the end of this month. The 7 episodes were produced during 6 weeks, such that it had to be improvised a lot, which also shows in the design of the spaceships controls. You can see faucets installed as levers or even a flat iron, which became one of the most remembered feature of this series.
Another scene shows an engineer programming the on-board computer: He is holding a punch card in one hand and typing on a small keyboard with the other hand.
Punch-cards were still used at that time for computer in- and output, which explains the appearance of it, but using them by reading and typing in what is encoded or “written” on them is even a step back from the original intended usage. Two scenes from “Battlestar Galactica” are chosen as examples for a science fiction movie that simply adapted common interfaces of that time. You see the starfighter controls that consists of a joystick and the motherships interiors that show tv screens, phones and a keyboard built into the desk.
A more recent example is “Password Swordfish” from 2001, where a professional hacker is hired by a terrorist organisation to do some jobs for them. A programming environment was prepared, which consists of 6 flatscreen monitors of common size put together and probably supposed to be used as an enhanced display.
The actual programming of the virus takes place with a graphical 3D interface.
As the whole movie primarily intends to achieve a fancy and cool look, also the technical area exposes a very superficial attitude without attempts to develop an underlying concept.
In this section we will discuss movies that had their own ideas and visions of human computer interaction or at least used technologies that were not more than prototypes so far. It can be observed that there are at least two general ways to approach interactions: Some have a clean, idealised design that looks very smooth and error free whereas others introduce flaws and drawbacks to add realism. The movie clips of this chapter are categorized according to their area of real-life applications and research: 4.1 “Neuro” Technology: Technologies that connect to brains are introduced here. 4.2 Identification: Electronical identification of individuals 4.3 Displays: Various kinds of displays as an output medium 4.4 Speech: This includes speech synthesis and recognition and also intelligent assistants / avatars as specialised subgroup. 4.5 other I/O technologies: All technologies that are more specialised and that were difficult to categorize according to the fields above, for example gesture recognition or tangible user interfaces.
Although this field does not concern the HCI research community and it also doesn’t seem realistic from our point of view now, we wanted to include this part, since we still have interaction between humans and computers in a literal sense. The first example is taken from “Johnny Mnemonic”, a cyberpunk movie with Keanu Reeves playing an agent whose specialty is delivering sensitive data using his brain as a storage device. The scene shows the transfer of the data over a wire that is connected by plugging it into a socket under his ear.
Strangely enough, he also wears a head-mounted display during this procedure. In “The Matrix” Keanu Reeves again got a role where his brain is interfaced to connect to a computer. As with all other humans in the envisioned future of that movie a computer controls his consciousness by accessing his brain physically through the backside of his head.
He will get disconnected in the first scene and reconnects in the second one to be able to interact with the computer program, the so called matrix.
Electronic identification is introduced in almost all cases in order to be exploited at a later time in the movie. Identification techniques are furthermore also used to track individuals during their everyday life, in such cases the privacy / security issues are the main aspects that the directors try to bring in into their work. Five scenes are chosen to represent their technology:
4.2.1 People in the “Logan’s Run” future live in a perfect, harmonic society, which only purpose is enjoyment. The drawback is that people have to be killed at an age of 30, which happens during a ceremony that everybody attends. To avoid panic or revolts among those who are supposed to die, everybody is told that they will be reborn instantly.
As shown in the clip, every child will get a diamond-like implant into their palm at the day of their birth, which allows to track and identify the person, display their life-stage by its colour.
4.2.2 “Gattaca” uses DNA analysis to identify individuals; a drop of blood is taken by a machine and analyzed directly by the same machine.
The choice of this identification technique most probably originates from the main theme of the movie, which is the genetic determination of human beings. Individuals are defined by their genetic patterns, which can be chosen by the parents to alter one ‘s fate. DNA analysis and identification was invented in 1985 and became a tool in crime fighting. A database is already maintained in some countries [1] and assuming that the costs can be reduced and the procedure of analysis speed up, this vision is not too far-fetched. But it is not necessary to take blood of the object, any part of the body would suffice any might be more convenient, for instance hairs or saliva.
4.2.3 Automated palm-print identification systems are already commercially available from several companies, most often used for crime fighting too. [2] Such a system is shown in “Bourne Identity”, where the main character has to access his safe in a Swiss bank.
You normally have to place your hand on a device that can scan your palm in high resolution, but in this film scene a common (possibly touch) screen was used to obtain the palm-print, giving an immediate visual response to the user. This scenario looks more sophisticated and high-tech with this extra feature, accepting the loss of realism, which is not too obvious at first sight anyway.
4.2.4 “Alien IV” uses a identification technique that is not being researched and probably never will, because it is very doubtful if sufficient physiological data can be extracted from its medium: The breath ID. Apparently the odor of a person’s breath is analyzed to grant or deny access to certain areas of the ship.
This idea seems to be an attempt of the director to find a new and unique element for his movie.
4.2.5 Another very popular biometric identification technology are the retinal and iris scan. Either the blood vessel patterns of the retina or the pattern of flecks on the iris can be used to uniquely identify individuals. The object doesn’t necessarily have to interact with a device, it right now works up to a distance that depends on the used video system, but alignment of the eye is still required. [3] Such systems are now gaining acceptance in many areas, and in our imaginative future as described in “Minority Report” they will be installed on public places like subway stations, which would enable the systems owner to track basically everybody and build a history of his or her activities.
It is not required anymore that people would interact with a device, just passing by would suffice. This vision strongly addresses the privacy issue as mentioned above.
4.3 Displays
Displays have the advantage for moviemakers that they are inherently visual, in a sense that they are something you have to look at when you use it and hence the audience watching the movie will see it as well, whenever it is used. It is much easier to use and show new ideas for technologies like displays than for instance a new CPU. “Total Recall” introduces an ambient display embedded in a wall that can be used as a regular screen (a TV here) when needed or just display a picture of a scenery and emerge with the users environment whenever it is not in use.
The display consists of 3 parts, which at first sight reminds of the DynaWall concept that is part of the i-Land project of the Fraunhofer-IPSI institute as introduced to us by Sohail Iqbal. [4] The DynaWall provides an interaction space for CSCW, so the similarity between this project and the screens in this movie scene are quite superficial and merely of a visual kind. The next example is taken from “Star Trek: The Next Generation” (STTNG), a TV Series that was launched in 1988. You will notice 3 kinds of devices/displays of different size throughout the series: · The Tricorder, a small and handy device that looks very similar to a PDA, equipped with many sensors and used for outdoor analysis. · A tablet PC that is used at the machine deck and sick bay: a very thin device, with the shape of a piece of paper · Wall screens almost everywhere on a ship, used to display data for multiple users The selected scene shows the usage of a tablet PC together with a wall screen at sick bay. The doctor seems to transfer data from the tablet PC that she is holding to the wall screen using a light pen.
The reality is probably that she is holding a piece of plastic together with a small flashlight. At exactly the same time, a project about ubiquitous computing was started at Xerox Parc where devices were as well categorized into 3 kinds: The tabs, pads and boards. [5]
Tabs are very small and personal and can provide context information about the user that is wearing it. Pads are supposed to be a mixture of a sheet of paper and a laptop, lying around on tables and used spontaneously by any user. Boards are big screens on tables or at walls that especially support collaborative work. The coincidence that this project and the series started at the same time is quite surprising, but it is not clear if one has inspired the other one or if this is only a coincidence, since this classification of devices is quite intuitive and straightforward. Another variation is taken from “The Matrix: Reloaded”, from a scene where the ship Nebuchadnezzar docked to Zion, the base of the humans. The operators of the base station’s terminal are surrounded by a transparent display with touch-screen and apparently using it by common drag and drop operations – the scene is unfortunately very short and details are unclear.
But you can see that additional information can be seen behind the actual screen layer. In this case, the approaching ship is visible, such that for instance its distance is extra information within the users peripheral perception, which can be obtained when necessary. A different method to display 3D data is used in a cut-out of “X-Men”, where a mission briefing is conducted with a “physical” display on a big table.
The technology is not explained, the surface seems to consist of small metallic cubes that are formed to the shape of the displayed objects by raising them to the appropriate level. We have seen an approach to display 3 dimensional images physically in Tim Schwartz’s talk on “Table Top Spatially Augmented Reality” [6], where physical structures are augmented by projections. Holographic displays are very popular among directors and occur frequently and some of them will be introduced here: In “Forbidden Planet” from 1956 the so-called “thought analyzer”, a device inherited from the planets former inhabitants, displays a 3 dimensional image.
Personal Computers were certainly not yet commonly known at that time, so not even a single 2D display appears in that movie, simple indicator lights were used for computer output except this device. Also “The Matrix” got one example for a holographic device, it is attached to the Nebuchadnezzar’s controls and displays monochrome but 3 dimensional images.
“Minority Report” shows a holographic projection that we have already seen in Amir Wasim’s introduction to the “Office of the Future” [7], it is interesting to see that they also included a flaw here with distortions at the edge of the images, particularly when you turn around the object.
Another short scene here shortly shows another holographic projection in a virtual reality chamber that can be rented for pleasure and relaxation.
Very similar is the Holo-Deck from STTNG, that is able to materialize substance, enabling you to interact with it.
This is a typical Star Trek technology with its perfect and idealized realisation, very impressive and visual but with a very simplified view on scientific explanations. The so-called Holo-Cube from the latest Star Trek Series “Star Trek Enterprise” underlines this characteristic: It is a small cube brought by a time traveller from year 3000 that is able to fill your surroundings with a projection. In this case in order to display connections of different time lines.
Speech recognition and synthesis appears very frequently, especially for robots - in recent as well as in old movies. The advantage of speech is its intuitiveness for control commands and to perceive information. Besides that it is very easy to realize this for the director, no special effects are needed, just actors imitating the dialog with the computer. In almost all movies the speech interface is conversational and intuitive, the difficulties especially of speech recognition and evaluation are never considered. The most popular example is probably the main computer of the USS Enterprise, the spaceship of STTNG. The computer handles all kind of requests and replies to all commands with an acoustic signal, to indicate the receipt of the request. MIT used this sound in their Intelligent Room project, when they designed the speech interface to the environment. Requests must be preceded by "Computer?" to which the computer will reply with that particular sound, such that a user knows that the system is in a state to receive and elaborate spoken commands. We've seen an example application in Ralf Jung's speech about this project. The STTNG main computer serves in another episode as an indoor navigation system, leading Riker to his colleague Data. The system assists him in a multi-modal fashion with a spoken way description and additional arrows on his way.
Multi-modal navigation systems have been have researched by various institutes, like the PDA-based IRREAL project by DFKI [8], where resource adaptivity was the focus of research. The first implicit artificial intelligence in a movie was the HAL9000 computer in Stanley Kubrick's classic "2001 - Space Odyssey". A computer that was in charge of a spaceship was sent out for exploration purposes, until some of the crew members noticed its abnormal behaviour. Two of them locked themselves in a small shuttle within the ships bay, such that they are acoustically isolated and able to discuss the situation without HAL9000's knowledge. But they were not aware that the computer still had visual contact, seeing their faces.
It could interpret their lip movements and understand their conversation, with the consequence that he started killing the crew one by one to prevent his shutdown. The idea of computers and machines being aware of themselves was also picked up by John Carpenter in his low-budget production "Dark Star" and extended such that other parts of the ship also had their own identity. Here interacting with them was more like interacting with human colleagues. The selected scenes show the bomb on board of the ship, which was ordered to detonate after a specific time. Unfortunately a malfunction caused it to be stuck in its bay, but it refused to cancel the previous order to explode. One of the crewmembers tried to involve the bomb into a meta-physical dialogue to convince it not to follow these orders.
The last example of speech technology includes an intelligent assistant that serves as a library guide, taken from the 2002 remake of "Time Machine". The main character travels into the 22nd century and encounters this avatar on his search for more information about time travelling. Personal guides for museums or exhibitions are not new and exist as prototypes and also as commercial solutions. They are mostly PDA based and sometimes support kiosks - stationary machines with more resources from which the user can retrieve information of higher quality. The PEACH project by DFKI, an Italian research institute and the Eyeled company is one example for this work. Here it is also possible for the avatar to migrate from the PDA to a kiosk or the other way round [9]. In "Time Machine” multiple transparent, man-size displays are everywhere in the library, such that the computer character (the intelligent assistant) can follow and assist the user everywhere in the building. The avatar displays different kinds of (2D) information on the screens and also interacts with the environment that is visible through the displays.
So for the user in this case the environment becomes an augmented reality, overlaid by the avatar's reactions like pointing to a book.
More specialized I/O technologies will be discussed in this chapter. This includes virtual or augmented reality, gesture recognition or other multi-modal mechanisms that could not been assigned to any of the preceding categories. A typical VR setup with a head-mounted display and data gloves is used in one scene of "Johnny Mnemonic". The agent played by Keanu Reeves is using it to retrieve information from the internet while he browses through an abstract 3D world, manipulating various objects to access sites.
Most of the interactions are not explained and obviously don't make much sense in this context, but one metaphor looks interesting that is when a new session is started by a gesture that looks like opening a book. Another scene from the same movie has gesture recognition for controlling the mimics of a computer animation. A green grid, which strongly reminds of the calibration image of a beamer, is projected onto the hand, indicating a visual recognition.
As implemented in the movie it wouldn't be possible to determine the hands movements using the alignment to the grid pattern, it wouldn't even make much sense to do so in this context. But for the scene it was necessary to show that the face is not the person itself, but just an animation that is controlled by someone else. More motion tracking has been found in “Total Recall”, when the female main character practices her tennis serve with a holographic projection explaining and demonstrating the correct movements. She tried to imitate the virtual trainer and visual (projection blinks in red) and spoken feedback confirms matching movements.
This idea wouldn’t be difficult to realize, except that 3 dimensional images without head-mounted displays using air as the medium doesn’t work yet. But the users motions could be tracked efficiently by for instance embedding sensors that provide 6 degrees of freedom (DOF) into both wrist-belts or with a camera. Our next sample techniques come from the British film version of “The Hitchhiker’s Guide to Galaxy” from 1981. The clip introduces the Babel-fish translator, which is a fish that will translate all languages such that you will be able to understand them, by plugging it into your ear.
Here the device/fish is actually supposed to contain all the technology, but for us it would be conceptually more interesting if the fish would be an object in an intelligent space, triggering a function of the system (a translation service) when it is placed into the ear. This would provide an intuitive usage, but it is another question if it is desirable at all to put anything into your ear when you want to activate it. The concept of virtually overlaying everyday objects with functions is picked up by “The Matrix” too: When Neo was offered two pills, he could decide to stay in the matrix or leave it.
This means in the context of the matrix as a computer program that the pills represent a choice similar to buttons. The metaphor of swallowing a pill as a trigger does automatically raise the users attention to this choice due to the inhibition threshold of taking pills, which underlines the importance of the decision in this scene. The same idea of augmented everyday objects is further used with landline and mobile phones. Stationary phones can represent exit and entry points to the matrix and are used by picking up the phone receiver or putting it down.
Mobile phones are used for communication between people within the matrix and those outside. This approach has the advantage for the director that he can visualize communication between the two ‘worlds’ clearly and unambiguously for the audience without further explanation. Our last part of this chapter is dedicated to Spielberg’s “Minority Report”, which is the most important movie for this topic. The production designer Alex McDowell, who was basically responsible for the ‘look’ of the production, started his work with a tour through MIT’s media lab, where he could see various demos about gesture recognition projects or the kitchen of the future, getting an impression on the state of current research in this field. His aim was that the audience will be able recognize the movie's future and relate to it, he wanted it to be a consumer-based society, very market-driven, that took today's technological trends to their logical conclusion. On this tour he had the opportunity to talk with John Underkoffler, a gesture expert who was then hired as a consultant for this film. Also Jaron Lanier, known to be the founder of the term “Virtual Reality” was hired, he was briefly introduced by Atif Altaf on his talk about Tele-Immersion. Together with other consultants a so-called ‘Think Tank’ was formed, where these researchers brainstormed and developed their ideas about the future in 2048. The result of these efforts can be seen in various techniques that occur in the movie and remind of ongoing or past projects from MIT or other institutes. A typical tangible user interface (TUI) very similar to the Marble Answering Machine by Bishop that is now already 10 years old was used to represent offenders and victims to the system. Their names are engraved into wooden marbles, which then can be placed onto slots to achieve information about them.
The Marble Answering Machine is actually a common answering machine that is enhanced with a TUI that represents incoming messages. [10] Placing them to different slots will play the message or dial the callers number, Christian Schmitz mentioned it in his talk about “Tangible bits”. The principle of a market-oriented future is primarily demonstrated by the immersive and personalized advertisements that the main character encounters during the movie: In one scene he steps out of the subway and different commercials welcome him by his name and compete for his attention. Identification is done by retinal scan at the subways exit as described before.
Another scene shows him entering a clothes shop and again he is recognized by an intelligent shopping assistant that asked if he is pleased with what he bought before. His shopping behavior was stored and used to make conclusions for further recommendations.
Such kind of personalized shopping guides do exist on several websites (for example amazon.com) that make similar suggestions to buyers when they enter their website according to shopping behaviors of customers that bought the same products. Identification is very easy, since you have to log in to process orders and also cookies can be stored for this task. In real-life identification is sometimes done via customer ID cards that are processed when the client pays, but not (yet) when they enter the shop. The most apparent human computer interface in this movie is the transparent screen with the gesture interface that is used to browse through the memories or visions of the so-called Pre-Cogs.
The user wears gloves with 3 reflective fingertips to achieve 6 DOF of hand movements, which is used for some carefully designed gesture metaphors to manipulate data and its layout on the screen. Beside the usual drag and drop functions you can distinguish actions like cleaning the screen, which looks like a sweep with both hands emptying your desk. Or the zoom function, activated by holding both hands in front of you with their palm side facing to you, the left hand representing the object such that you can zoom in by approaching it with the other hand. One scene also integrates the flaw that the system does not always recognize if you try to interact with it or doing something else with your hands, it happened when someone else came in and wants to shake hands - this movement accidentally caused an object on the screen to be misplaced.
The transparency of the big screen is not only useful for the high-tech look but it also enables the director to show his actors when they operate the device, such that they actually have the chance to act during these scenes, which are very important parts of the plot. You can also see in one scene how data about a person is transported from one screen to another by small glass tiles that look very similar to Jun Rekimoto’s DataTiles as seen in Rupali Mukherjee’s talk.
Persons are virtually connected to a data tile on one (small) screen and then it is physically taken to the main screen and connected there to use the data associated with it. Another example of technology that is being researched is the liquid ink. Seen once with a newspaper that changes the displayed (animated and colored) articles and again when the box of cornflakes plays a multimedia clip on the box itself.
The box is shaken several times, obviously in order to turn the animation off. A comparable product at present is the e-ink device that is meant for e-book applications [11], This paper-like display is able to change its contents, which until now is only able to show black and white images.
Some movie scenes that we found are not particularly important for this work but still worth to be presented here, because they reflect on interaction techniques in a satiric and very entertaining way. The first one is taken from “Start Trek IV” when Spock and Scotty are on earth and supposed to use a 20th century personal computer. Scotty tried to talk to it as he is used to do on the Enterprise and of course failed. He was then advised to use the mouse, which he did – assuming that it is used as a microphone.
The second scene is from “Galaxy Quest” a science-fiction parody in which a group of actors of a science-fiction series is abducted by an alien race that is watching the series and mistaking them for real heroes. A copy of the (fictional) starship is made and the ‘crew’ is forced to use it to help them. A difficult task for the actors, who only pretended to control the spaceship until then.
The third and last one is a short part of an episode of the cartoon series “Futurama”: The scene shows a group of people talking about a person called “Fry” and the computer listened and assisted by downloading a movie about this person and opening the owners calendar on Friday and ordering some french fries.
We have seen that only more recent movies show attempts to design their HCI more carefully. Especially “Minority Report” was a major source of interesting material, because of its extensive scientific research and its thorough preparation. Others try to adapt technologies that were already available and improve them, but concepts of HCI research are normally not addressed. The main reason might be that HCI is still a relatively young research area and slowly becoming more popular during the past decade. Another reason could also be that human centred, pervasive or ubiquitous computing could look very inconspicuous, whereas high-tech in movies should preferably appear more spectacular. Old movies sometimes inspired contemporary research, but mostly only in implementation details in order to acknowledge classic popular movies. More recent movies also have the advantage that special effects technology is continuously advancing and also the budgets of main stream productions such the possibilities of directors increase as well. In most movies we could observe a tendency towards conversational speech as an interface and 3 dimensional displays that work without head-mounted devices. Both of it is relatively easy to realize by filmmakers and a straightforward improvement of current technology, not from a technical but from an imaginative point of view. Identification technologies are also often made a topic of discussion, but with a much higher impact on sociological aspects than on interaction design.
The Assembly Registration tool reads the metadata within an assembly and adds the necessary entries to the registry, which allows COM clients to create .NET Framework classes transparently. Once a class is registered, any COM client can use it as though the class were a COM class. The class is registered only once, when the assembly is installed. Instances of classes within the assembly cannot be created from COM until they are actually registered.
regasm assemblyFile [options]
Parameters
Parameter
Description
assemblyFile
The assembly to be registered with COM.
Option
Description
/codebase
Creates a Codebase entry in the registry. The Codebase entry specifies the file path for an assembly that is not installed in the global assembly cache. You should not specify this option if you will subsequently install the assembly that you are registering into the global assembly cache. The assemblyFile argument that you specify with the /codebase option must be a strong-named assembly [ http://msdn2.microsoft.com/en-us/library/wd40t7ad(VS.80).aspx ] .
/registered
Specifies that this tool will only refer to type libraries that have already been registered.
/asmpath:directory
Specifies a directory containing assembly references. Must be used with the /regfile option.
/nologo
Suppresses the Microsoft startup banner display.
/regfile [:regFile]
Generates the specified .reg file for the assembly, which contains the needed registry entries. Specifying this option does not change the registry. You cannot use this option with the /u or /tlb options.
/silent or /s
Suppresses the display of success messages.
/tlb [:typeLibFile]
Generates a type library from the specified assembly containing definitions of the accessible types defined within the assembly.
/unregister or /u
Unregisters the creatable classes found in assemblyFile. Omitting this option causes Regasm.exe to register the creatable classes in the assembly.
/verbose
Specifies verbose mode; displays a list of any referenced assemblies for which a type library needs to be generated, when specified with the /tlb option.
/? or /help
Displays command syntax and options for the tool.
Note
The Regasm.exe command-line options are case insensitive. You only need to provide enough of the option to uniquely identify it. For example, /n is equivalent to /nologo and /t:outfile.tlb is equivalent to /tlb:outfile.tlb.
When you register an assembly for use by COM, Regasm.exe adds entries to the registry on the local computer. More specifically, it creates version-dependent registry keys that allow multiple versions of the same assembly to run side by side on a computer. The first time an assembly is registered, one top-level key is created for the assembly and a unique subkey is created for the specific version. Each time you register a new version of the assembly, Regasm.exe creates a subkey for the new version.
For example, consider a scenario where you register the managed component, myComp.dll, version 1.0.0.0 for use by COM. Later, you register myComp.dll, version 2.0.0.0. You determine that all COM client applications on the computer are using myComp.dll version 2.0.0.0 and you decide to unregister myComponent.dll version 1.0.0.0. This registry scheme allows you to unregister myComp.dll version 1.0.0.0 because only the version 1.0.0.0 subkey is removed.
After registering an assembly using Regasm.exe, you can install it in the global assembly cache [ http://msdn2.microsoft.com/en-us/library/yf1d93sz(VS.80).aspx ] so that it can be activated from any COM client. If the assembly is only going to be activated by a single application, you can place it in that application's directory.
The following command registers all public classes contained in myTest.dll, and generates and registers the type library myTest.tlb, which contains definitions of all the public types defined in myTest.dll.
It's not listed above in the description of the /tlb switch, but it both exports and registers the type library. If you want to produce a type library without registering it, use tlbexp.exe.