일기장


Youngrok Pak at 10 years, 6 months ago.

제목 쓰기 귀찮은 글들.


일기장/2010-03-03

대학 때 조선시대 지성사라는 과목의 강사가 이런 이야기를 했었다. 카이스트생과 서울대생을 비교하면 한 가지 태도의 큰 차이가 있는데, 카이스트생은 늘 정답이 있다는 관점으로 문제에 접근하고 정답을 찾으려는 노력을 기울이느라 자신만의 해답을 내놓는데는 미숙한 반면, 서울대생은 처음부터 정답 따윈 없고 자신의 답이 정답이라는 관점으로 접근하기 때문에 스스로 사고하는 능력이 높은 대신 정답과 동떨어진 답이 나오는 경우가 많다고 한다. 그 강사의 의견은, 양쪽 다 문제가 있다는 것. 중용을 취하라는 이야기는 물론 아니고, 정답을 찾으려는 노력을 기울이되, 그것을 자신의 틀에서 해석하고 만들어내야 한다는 이야기.

애자일 방법론에서도 이런 상황이 자주 보이는 것 같다. 정답만을 쫓는 사람들은 광신도라는 비판을 받으며 외면당하고, 내 방식대로의 애자일을 추구하는 사람들은 자신은 애자일을 한다고 착각하지만 정론(?)의 관점에서 보면 전혀 애자일이 아닌 상황.

어쩌면 학습이라는 단어에 두 가지가 모두 녹아있는지도 모르겠다. 학습은 배우고 익히는 것. 배우는 것은 외부에서 지식을 얻는 것이고 익히는 것은 그것을 내면화하는 과정일 테지. 배우는 것에만 치중하는 것도 문제지만 익히는 것에만 치중하는 것도 문제다. 배우고 익혀야 한다. 공자님 만세.

Youngrok Pak , 12 years, 5 months ago

일기장/2010-02-10

이제 맥을 쓴지 2개월이 넘은 것 같다. 맥 써보니까 아이폰처럼 이쁜 거 하나만큼은 정말 확실하다. 맥미니는 기계부터가 이쁘고, UI도 구석구석 다 이쁘다. 윈도우 7도 많이 이뻐졌지만 아직 스노우 레오파드에는 미치지 못하는 것 같다. 우분투는 더 이상 이뻐질 생각이 없어보이는데 ㅠ.ㅠ

쓰다보니 확실히 Mac OS X가 장점이 많은 OS다. 우선, 안 죽는 건 정말 짱이다. 뭐, 맥이라고 전혀 안 죽었던 것은 아니지만, 우분투나 윈도우에 비하면 정말 안정적이다. 그리고 동급 사양으로 비교하면 정말 빠르다. 맥이 CPU나 메모리 사양은 가격 대비 아주 높은 편이지만 같은 사양의 윈도우보다 훨씬 빠르다. 전체적인 속도도 빠를 뿐더러 무엇보다 UI 반응성이 정말 탁월하다. OS 기술은 확실히 애플이 앞서 있는 것 같다.

하지만 사용 편의성이라는 관점에서 보면 장단점이 교차한다. 가장 큰 장점은 일관성이 높다는 것. 모든 맥 애플리케이션은 메뉴가 상단 메뉴바에 나온다. 그리고 주요 단축키들이 아주 일관성이 높다. 메뉴 구성 자체도 일관성이 있다. 제일 좌측은 늘 OS의 매뉴가 나오고 그 다음으로 애플리케이션 통합 메뉴가 나온다. 그래서 종료, 설정 등 애플리케이션에 관련된 메뉴는 모두 이곳에서 찾을 수 있다. 특히 설정 메뉴가 항상 같은 자리에 있는 것은 정말 좋다. 윈도우 애플리케이션은 설정 메뉴가 창에 있기도 하고 도구, 파일, 편집 등에 있기도 해서 한 방에 찾기 어려운데 맥은 쉽게 찾을 수 있다. 창의 버튼도 다 똑같고 윈도우처럼 창틀을 튜닝하는 프로그램은 찾아보기 힘들다.

디테일한 장점도 상당히 많다. 그 중 하나는 피드백이 좋다는 것. 애플리케이션을 실행하면 독에서 아이콘이 통통 튄다. 실행 중이라는 걸 알려주는 것이다. 윈도우에서는 클릭했는데 실행되는지 아닌지 몰라서 여러 번 실행시키는 경우가 왕왕 있는데 맥에서는 그런 일이 거의 없었다. 그리고 뭔가 일을 시키면 대부분 애니메이션으로 반응하기 때문에 내가 시킨 일을 하고 있는지 아닌지를 쉽게 알 수 있다.

커맨드 키도 IDE 같은 경우를 제외하면 괜찮은 컨셉이다. 맥에서는 대부분의 단축키가 커맨드 키 + 일반 키의 구조로 되어 있다. Ctrl, Shift, Alt(Option)은 복잡한 프로그램이 아니면 거의 사용하지 않는다. 그래서, 사용자는 뭔가 명령을 내리고 싶으면 일단 커맨드 키부터 누르고 보면 된다. 반면, 복잡한 프로그램에서는 이게 단점으로 둔갑한다. 조합해야 하는 키가 하나 더 늘기 때문이다. 실제로 Xcode에서도 동시에 네 개의 키를 눌러야 하는 단축키가 몇 있다. 특수키별 일관성도 거의 없다. 윈도우에서는 Ctrl은 프로그램 내 제어, Alt는 창 관련, Shift난 Ctrl이나 Alt의 동작 변경, 윈도우키는 시스템 전체의 글로벌 단축키로 어느 정도 역할 구분이 되는데, 맥에서는 커맨드 키가 메인으로 쓰이는 것을 제외하면 나머지 키들은 별다른 일관성 없이 조합되어 쓰인다. 그래서 2단계 이상의 단축키는 외우기가 꽤 어렵다.

또 하나 힘든 것은 단축키가 있는데도 표시가 안되는 기능들이 많다는 것이다. 윈도우에서는 단축키가 있는 기능은 대부분 메뉴나 컨텍스트 메뉴에서 선택할 때 단축키를 볼 수 있다. 하지만 맥은 단축키는 있는데 표시가 안되는 것들이 있어서 단축키가 없는 것으로 착각하게 만든다. 이를테면, 대부분의 맥 프로그램에서 커맨드 + i를 누르면 정보를 볼 수 있는데 컨텍스트 메뉴에 분명히 있음에도 불구하고 단축키가 표시 안된다. 프로그램 내 창 전환 키인 커맨드 + ~도 검색해보기 전에는 알 수가 없었다.

메뉴가 상단에 있는 것은 장점도 있지만 큰 모니터에 여러 개의 프로그램을 띄워놓고 쓰는 개발자들에게는 아주 불편한 점이다. 현재 포커스가 가 있는 프로그램의 메뉴만 표시되기 때문이다. 그래서 메뉴에서 뭘 고르고 싶으면 꼭 그 프로그램으로 포커스를 이동시켜야 한다. 아이폰 개발할 때는 그 불편이 상당히 크다. 강 모군이 Fitt's law를 들먹이며 맥의 장점으로 꼽았지만 아마 직접 써보면 생각이 달라질 것이다.

독은 딱히 편한 건 모르겠다. 사실 난 우분투처럼 상단에 메뉴와 단축 아이콘이 있고, 하단에 창 목록이 나오는 구조가 제일 편했다. 스노우 레오파드부터는 응용프로그램 메뉴가 독에서 바로 펼쳐지는데, 최근 설치한 응용프로그램은 표시가 안되서 결국 열어야 하는 불편함이 있었다. 문서 폴더를 바로 펼쳐주는 것도 우분투의 위치 메뉴만 못한 듯.

익스포제나 스페이스는 이미 우분투에서 더 편리한 컴피즈의 기능들을 써오던 터라, 오히려 사소한 부분의 불편함들이 더 부각되었다. 창과 데스크탑 관리 기능은 역시 컴피즈가 최강.

대시보드는 왜 있는지 모르겠다. 갖다 버렸으면 싶다. 위젯이라는 건 항상 보여야 의미가 있는 것이다. 위젯 모아서 따로 띄워야 볼 수 있다면 바보 위젯이라 불린 옴니아1이나 마찬가지. 아이폰도 그렇고 애플은 왜 이렇게 위젯의 중요성을 인정하지 않는지 의문이다.

스포트라이트는 처음에는 와 정말 좋다...라고 생각했는데, 쓸 일이 없었다. 이젠 스포트라이트 단축키마저 잘 안 쓰는 F19로 옮겨버린 상태.

펑션키들이 소리 조절 등의 기본 기능들을 수행하는 것은 편리한 느낌이 들었는데, 이클립스를 쓸 때 단축키가 충돌해서 결국 fn이랑 조합하게 바꾸고 말았다.

이 외에도 여러 가지 장단점들을 꼽을 수 있겠지만, 전반적인 느낌을 정리해본다면 대략 이런 정도.

  • 사용자 편의성 : 우분투 9.10 > 스노우 레오파드 = 윈도우 7 > 윈도우 XP

  • 안정성 : 스노우 레오파드 > 윈도우 7 > 윈도우 XP > 우분투 9.10

  • 성능 : 스노우 레오파드 > 윈도우 7 = 윈도우 XP > 우분투 9.10

  • 심미성 : 스노우 레오파드 > 윈도우 7 > 윈도우 XP > 우분투 9.10

  • 개발용 : 우분투 9.10 > 윈도우 7 > 스노우 레오파드 > 윈도우 XP

사실 우분투를 메인으로 많이 써왔던 나한테는 맥도, 윈도우도 불편하다. 근데, 윈도우가 이만큼 불편하다면 계속 불평 늘어놓으면서 쓸 것 같은데, 맥은 뭔가 미워할 수가 없다. 미워하기엔 너무 이쁘다. 아이폰도 딱 그렇다. PIMS로는 5년 전에 나온 알육이만도 못한데, 그냥 아이폰을 바라볼 때마다 애정이 간다. 화면도 화면이지만 뒷면 곡선이 예술이다.

하지만 이것은 함정이다. 많은 맥 유저들이 맥이 윈도우보다 편하다고 말하는데, 이것은 사실이 아니다. 편한 점 못지 않게 불편한 점도 많다. 실제로 맥 유저가 쓰는 모습을 뒤에서 보면 참 느리고 불편하게 쓰고 있는 것처럼 보이는데 정작 자기는 편하다고 이야기한다. 표상적 축소 오류다. 맥은 이쁘다 -> 맥은 좋다로 이어지는 사고가 맥의 불편함을 느끼지 못하게 만들어버리는 것이다. 우리는 여기서 심미성이 그만큼 중요하다는 것을 깨달아야 하는 동시에, 심미성에 빠져서 UX의 불편을 보지 못하는 인지적 오류를 깨달아야 한다.

Youngrok Pak , 12 years, 5 months ago

일기장/2010-02-03

Youngrok Pak , 12 years, 4 months ago

일기장/2010-01-31

잡스가 또 플래시 까는 이야기를 했다길래 어이가 없어서 반박글을 좀 써본다. 원문은 http://www.wired.com/epicenter/2010/01/googles-dont-be-evil-mantra-is-bullshit-adobe-is-lazy-apples-steve-jobs/

잡스가 플래시를 까는 이유는 플래시가 느리고 불안정하기 때문이랜다. 일단 안정성 얘기부터 해보자. 아이폰은 플래시 욕할 만큼 안정적인 플랫폼인가? 물론, 기본으로 깔린 아이폰앱은 절대 안 죽는다고 말해도 좋을 만큼 안정적이다. 하지만 앱스토어에 올라오는 앱들도 그런가? 이미 한국 사용자들은 죽는 앱 많이 경험해봤을 것이다. 많은 이슈를 낳았던 서울버스도 죽었고, 바코드 최저가 검색앱도 죽었다. 상위권에 올라온 앱들도 이렇게 죽는다면 하위권 앱들은 말할 것도 없을 것이다. 플래시 무비가 이 정도 빈도로 죽는가? 내 경험으로는 아이폰앱 40개 다운 받으면 그 중에 서너 개 정도 죽는 앱이 있었다. 무려 10%다. 그런데 일반적으로 네이버 뉴스를 보면서 웹 서핑을 하는 유저는 플래시 무비를 하루에 50개 이상 접한다. 한 사이트에만 플래시가 10여개 있는 사이트도 있으니 100개에 달하는 경우도 많을 것이다. 그 중에 브라우저를 죽이는 경우가 얼마나 될까? 이 정도만 봐도 아이폰이 플래시 욕할 입장이 아니라는 걸 알 수 있다.

하지만 꼼꼼히 따져보면 그 차이는 더욱 크다. 아이폰앱은 320*480 화면에 불과하며 멀티태스킹도 안되는 상황에서 실행된다. 화면은 많아야 너댓 개다. 이 정도 규모의 플래시 무비를 만든다면 액션스크립트 조금 배운 디자이너가 만들어도 절대 안 죽는다고 말할 만큼 안정적인 플래시 무비를 제작할 수 있다. 아이폰앱은? 개발경력 7~8년 차가 만들어도 죽는 앱 부지기수로 만든다.

실제로 요즘 시판되는 스마트폰이 아닌 일반폰들의 UI는 대부분 플래시로 제작한다. 햅틱 같은 피처폰 제외하고 보통 키패드 달린 폰들도 UI가 다 플래시라는 뜻이다. 이런 폰들이 불안정하다고 느낀 적 있는가? 작은 프로그램을 안정적이고 빠르게 만드는 것은 어려운 일이 아니다. 이런 어드밴티지가 있는데도 아이폰앱은 심심찮게 죽는다.

더 심각한 차이가 하나 더 있다. 아이폰앱은 앱스토어 심사를 거친다는 것이다. 심각하게 죽는 앱들은 이미 다 걸러졌다는 뜻이다. 그럼에도 불구하고 상위 랭크에 오르는 앱들조차 죽는 모습을 보여주는 것이다. 이것까지 감안하면 차이는 더더욱 커진다.

여기에는 이런 반론이 있을 수 있다. 아이폰앱은 죽어도 혼자 죽지만 플래시는 브라우저를 통채로 죽이거나 시스템 전체를 느려지게 하지 않느냐고. 물론, 그 차이는 있다. 하지만 아이폰이나 아이패드에 올리는 관점으로 보면 상관 없는 문제다. 어차피 멀티태스킹이 안되기 때문에 시스템 전체를 느려지게 만들지도 않고, 독립 프로세스로 실행되기 때문에 죽어도 자기만 죽거나 브라우저까지 죽는 선에서 멈추지 아이폰이나 아이패드를 다운시킬 수는 없다. 어차피 죽는 아이폰앱의 비율을 생각해보면 플래시로 인해 아이폰의 안정성을 떨어뜨릴 가능성은 거의 없다.

요컨대, 사용자 관점에서 봤을 때, 이미 죽는 아이폰앱을 많이 경험해봤을 것이기 때문에 플래시 때문에 사파리가 죽는다고 사용자들이 놀라지는 않을 것이라는 얘기다. 그에 비해 플래시가 주는 이득은 엄청나다.

그럼 왜 아이폰앱이 플래시 무비보다 잘 죽을까? 죽는 앱을 만들기가 더 쉽기 때문이다. 결정적인 이유는 괴상한 메모리 관리 구조다. malloc/free도 아닌, new/delete도 아닌, 자동 가비지 컬렉션도 아닌 이상한 체제를 선택했다. 이게 알고 보면 좋은 아키텍처니 어쩌니 주장할 수도 있겠지만, 결과적으로 개발자들이 메모리릭을 많이 만들어내는 걸 보면 좋은 아키텍처는 분명 아니다. 이에 비해 플래시는 느려지긴 해도 자동으로 가비지 컬렉션이 된다. 플래시 무비의 상당수를 디자이너들이 만드는데도 아이폰앱보다 덜 죽는 이유도 이것이다.

물론 그 대가로 아이폰이 얻은 것은 성능이다. 플래시가 fps로 따지면 아이폰앱보다 느리지 않지만 가비지 컬렉션 등의 이유로 반응성에서는 아이폰만 못하다. 하지만 그 대가가 너무 크지 않은가.

솔직히 난 아이폰이 플래시를 보면서 반성해야 한다고 생각한다. 아이폰 개발 환경은 21세기에 나왔다고 믿기 힘들만큼 후졌다. 4~5년차 개발자가 아이폰 개발 책 2~3권 읽고 두세 달 동안 스터디해도 앱 하나 제대로 못 만드는 모습, 많이 봤다. 내가 한 달 전 모 컨퍼런스에서 안드로이드를 아이폰이랑 비교하면서 버그 많고 느리고 성숙도가 낮다고 까댄 바 있는데, 그래도 안드로이드는 보통의 자바 개발자가 한 달 배우면 뭔가는 만들어낸다. 플래시는 개발 경험 없는 디자이너가 일주일 배우면 어지간한 무비클립 만들 수 있다. 개발자가 한 달 정도 배우면 플래시로 뭐든지 만들 수 있다. 이 정도 차이가 난다면 반성해야 정상이 아닐까?

난 iPad가 상업적으로는 대성공을 거둘 것이라고 생각한다. 하지만 이것은 아이폰과 아이튠즈의 성공을 카피한 것일 뿐이다. 애플의 혁신은 아이폰 1세대가 끝이었다. 잡스는 성장을 멈췄고, 성공을 복제해내고 있을 뿐이다.

하지만 난 사실 플래시가 iPhone에도, iPad에도 탑재되지 않길 바란다. 오히려 HP나 Dell, 삼성, 소니 등에서 플래시 중심의 경쟁 플랫폼을 내놨으면 하고 바라기 때문이다. 우리 회사도 지금은 시장의 크기 때문에 아이폰앱 쪽에 투자하고 있지만 장기적으로 투자하고 싶은 플랫폼은 아니고 경쟁 플랫폼들이 좀더 성장하기를 바란다.

잡스 까대는 김에 하나 더 까자. 애플이 구글 욕하는 것도 웃긴 일이다. 자신들의 시장에 침투한다고 Evil인가? 구글이 Don't be evil이라고 말하는 것이 경쟁을 안하겠다는 뜻으로 보인다면 오산이다. 게다가, 구글은 자기네들 플랫폼도 다 오픈하고, 심지어 마켓조차 마음대로 만들 수 있게 해주지 않는가. 애플보다 덜 evil에 가까운 것은 분명하다. 더군다나, 대외적으로 모바일 사업 진출을 더 먼저 선언한 것은 구글이다. 안드로이드와 관련된 제조업체와의 제휴는 아이폰 발표보다 1년 이상 전에 시작했고, 사업 추진 발표도 더 빨랐다. 물론 아이폰도 그 전에 준비는 하고 있었겠지만, 그걸 몰랐을 구글에게 애플의 사업 분야에 왜 진출했냐고 하는 것은 말도 안된다는 것이다. 역시나 잡스의 판단력이 예전 같지 않다는 것을 보여주는 대목이다.

오히려 이 이야기는 애플이 안드로이드로 인해 상당히 당황하고 있다는 뜻으로 해석하는 게 맞을 듯 하다. 사실 난 안드로이드처럼 기술적으로 후진 플랫폼이 아이폰 경쟁자로 떠오르는 상황이 참 맘에 안 들지만 비즈니스가 꼭 기술적인 이슈로 움직이는 것은 아니니까.

Youngrok Pak , 12 years, 5 months ago

일기장/2009-12-16

바로 이틀 전에 재계약 거절했다는 글을 썼는데, 오늘 또 상황이 바뀌어서 재계약을 하고 말았다 ㅠ.ㅠ 이번 프로젝트도 우리가 갑을병정에서 정인데, 을에서 이콜레모랑 재계약하라고 병에게 심하게 압박을 했다는. 사장까지 곤욕을 치른 듯 했다. 뭐, 꼭 우리랑 해야겠다는 게 기분 좋은 일이긴 하나, 사실 내막을 뜯어보면 이쪽 분야의 개발자 수급 환경이 얼마나 열악한가를 볼 수 있다. 우리가 맡은 게 안드로이드로 메일 클라이언트를 만드는 일인데, JavaMail과 유사한 코드를 안드로이드에서 가져다 쓸 수 있는 상황이다. 7인치 VoIP폰에 들어가는 것이니 아웃룩처럼 많은 기능이 들어 있어야 하는 것도 아니고 메일 읽고 보내고 잘 되면 되는 거다. 사실 자바 개발자라면 별로 어려울 것도 없는 일이다. 그런데, 이쪽 분야에 워낙 제대로 하는 개발자를 드물게 보다보니 개발자에 대한 신뢰 자체가 무너져 있고, 이 일을 제대로 이어 받아서 할 개발자를 구하지 못할 거라고 생각해서 이런 일이 벌어진 것이다.

창업한 이후에 여러 모로 접한 회사들을 보면 전반적으로 모바일/임베디드 쪽에 실력 있는 개발자가 부족한 것 같다. 이쯤되면 돈 많이 줘서라도 좋은 개발자를 뽑으려고 할 법도 한데, 반대로 어차피 좋은 개발자가 없으니 무조건 싸게 싸게 뽑자는 회사들이 더 많은 것 같다. 레몬 마켓과 거의 같은 현상이다. 물론, SI 업계에도 똑같은 현상이 있지만 정도면에서 훨씬 심한 것 같다.

머, 어쨋든 그래서 결국 한 달 더 연장하기로 했다. 살다보니 이런 일도 있구나 싶다.

Youngrok Pak , 12 years, 5 months ago


Comments




Wiki at WikiNamu