상세 컨텐츠

본문 제목

[Best Review]아이폰 어드밴스드 프로젝트-아이폰 개발자를 위한 실전 프로젝트 개발서(위드블로그)

Review/Book

by steve vai 2010. 6. 23. 22:39

본문


도서 리뷰에서도 베스트가 하나 나왔네요. 모자란 글이지만 많은 관심 부탁드립니다.



여러 실력파 개발자들의 사례를 옴니버스 형태로 Chapter가 나누어져서 재미있는 이야기 형태로 되어 있다.

Reading Stack
Reading Stack by Escalla 저작자 표시비영리변경 금지

본인은 기획자이고 직원들에게 어떤 형태로 설득을 할까 어떤 대상으로 전개를 할까 고민을 하고 있는 상태에서 리뷰에 좋은 기회에 선정이 되었다.

운영 시스템 중 모바일을 통한 실시간 입력시스템을 개발한다는 관점에서 각 장별로 내용을 정리해 보았다.

통상 아이폰 및 개발 환경이 우수하다고는 알고 있지만 이 책이 주는 가치와 본인이 목적하는 바에 맞추어서 이야기를 풀어나가 보겠다.

개발에서 손을 놓은지 꽤많은 시간이 흘러서 이런 책을 읽을때 그림이나 일러스트가 없으면 진도가 안나가는데 이상하게 책에서 소개된 내용들은 그렇게 지루하지가 않다.
(코드는 안 봤으니 그렇게 분량이 많은 것도 아니니...)



1장 파티클 시스템: 생각보다 쉽고 재미있다

- 파티클 시스템의 개념은 미려하게 보이는 방법에 대한 고찰이 반영이 되어 있는 것 같다.

  사람이 느끼는 감각은 5가지로 다음과 같다.

하지만, 아이폰이나 스마트 폰으로 느낄 수 있는 것은 

  통상 사람이 컴퓨터나 휴대용 기기에 대해서 1차적으로 접하는 UI 손을 제외하고는 시각적인 부분인 것이라고 생각한다.
  그 다음이 청각과 촉각이다.

  그만큼 파티클 시스템은 중요하다고 할 수 있을 것이다.
 
   파티클은 책의 지면에서 언급된 내용으로는 보여지는 객체에 대한 효과라고 생각이든다.
   (나름 그렇게 정의하였다.)


생명, 크기, 속도, 가속도, 색상 등의 5가지 요소라는데 이는 불, 연기, 마법 등을 잘 표현할 수 잇는 부분이라
고 개념을 잡고 가야겠다.

이를 통한 개발이 이루어진다면 UI에서 좀더 극적으로 설득을 이끌어 내고 사용을 자연스럽게 독려하는데 도움이 될 것이라 생각한다.


우리는 게임을 할 것은 아니지만 재미보다는 관심을 유도하기 위해서 적당량의 약간의 소금이 음식의 맛을 좌우하듯이 사용이 된다면 바람직하지 않을까 생각해 본다.

잡설이지만 UI가 Starcraft같이 목적 의식을 가지게 하고 몰입을 하게 해서 정확한 입력을 유도한다면 성과는 좀 분명해질꺼라는 토의를 한적이 있는데 ... 이 기술을 보면서 현실화될 수 있다는 것을 확신한다.


2장 인터넷으로 하는 체스: Deep Green으로 즐기는 메시지 통신 게임
- 처음에는 메시징 기반에서의 이야기를 하는 것으로 오해했지만 모바일 기반에서의 Client / Server 기반의 Web이든 Application을 개발을 하는 것을 저자는 이야기 한다.


뭐 평이 할 수도 있는 내용이지만 서비스 기반에 접속을 할 수 없으면 컨텐츠를 아이폰에 다 저장을 할 수도 없는 것이라서 문제일 것이고 이를 통하면 Server에 가지고 있는 Database나 컨텐츠 그리고 언급되었던 구글의 컴포넌트(정확한 표현일까 고민은 했지만 그냥 사용 ...)를 용이하게 사용할 수 있을 것이라 생각한다.


3장 오디오 스트리밍: 코어 오디오 탐험

- 오디오 스트리밍을 단지 음악 감상의 목적으로만 사용을 하는 관점이라면 너무 아까운 기능이다.
사람에 따라서는 다르겠지만 음성이나 소리를 통해서 뭔가가 전달이 되는 순간에도 다른 일을 할 수가 있고 일을 하면서 귀를 귀울일 수 있는게 사람이다.

예전 영화를 보면 가내수공업을 하면서 업무 효율을 높이기 위해서 라디오를 틀어두는 경우나 택시 운전 기사들이 콜을 계속 받아가면서 운전을 하는 것을 보면 그게 가능하다.


아이폰을 통해서 업무 지시정도는 아니더라도 계속 뭔가를 알려야 하는 상황이라면 ...
사내 방송 같은 것은 사내에 있는 경우에 전달이 되지만 외부에 있는 사람에게는 소외받을 수 있는 것이다.

정보는 누구에게나 평등해야 하고 (물론, 나름대로 필터링도 필요하겠지만 ...) 분명해야 한다.

그리고, 오디오는 그것이 경보든 경고든 정보든 음성이나 소리만큼 직관적일 수 있을까?

만약, 거기에 대한 응답 메시지를 전송하지 않더라도 Ticker형태로 보여지는 부분을 선택해서 메시지에 대한 응답을 감지 할 수 있다면 ... 많은 좋은 사례로 활용이 가능하지 않을까 싶다.
(일례로 위험 교육에 사용이 될 수도 있다. 왠지는 따로 문의하시거나 왜 필요한지에 대한 이야기를 같이 나누어봤으면 합니다. 제가 생각하는 것은 있으니 ...)


4장 당장 버그를 때려잡자! 아이폰에서 디버깅하기

- 이건 뭐 제가 말할 부분이 아니라 ... Skip 하겠습니다. 뽀롱 날 것도 없지만 책잡히기 싫습니다. ㅋㅋㅋ


5장 잠깐 기다려봐!: SQLite로 데이터 기반 애플리케이션 만들기

- 아이폰을 통해서 입력 기반을 만든다는 것은 늘 고민이 였습니다.
바다와 같은 인터넷이나 무선이라는 기반 속에서 데이터의 정합성을 어떻게 처리할 것인지의 내용이 있다.
기존 솔루션의 Add-on이라도 연동에 대해서는 늘 부담을 가져야 할 부분은 정확성이라고 해야 할 것 이다.
무엇보다 불편함 없이 연동이 되어야하는 부분일꺼다.

SQLLite를 통해서 모바일에서 아주 작은 데이터이기는 하지만 관리를 해야하는 경우에는 폰 안에 이런 기능이 있다는 것은 다행이라고 할 수 있을 것 입니다.


6장 코어 데이터와 하드코어 디자인

- 작은 사이즈에 Event성으로 발생하고 소멸적인 성격을 가지는 데이터에 대한 대안이 될 수 있다는 군요.
(이해가 안 되어서 개발자에게 물어봤습니다.)

SQL Lite와 적절하게 섞어서 쓴다면 퍼포먼스와 관리의 효용성 두마리 토끼를 잡을 수 있지 않을까 싶디.

하드코어 디자인에 관한 부분에서 관심있는 부분은 코드를 훔쳐라, 데이타, 스키마 마이그레이션에 대한 내용도 있다.

좀 차근히 읽어봐야 할 부분이라고 생각한다.


7장 코어 데이터와 Three20을 이용한 애플리케이션 이메일 기능
- 늘 개발을 하면서 UI부분과 개발 부분의 성과를 올리기 위해서 사내에서 많은 노력을 하고 있다.

Three20에서 약속되어 있는 듯한 UI를 만들어내는데는 어렵지 않다고 하니 ...



Apple에서 개발자에게 제공하는 가치 중에 하나가 저런 부분이지 않을까?
디자이너와 개발자 간의 간극을 좁혀주고 서로 대화할 수 있는 부분을 명확하게 해주고
만날 기회를 많이 주지않아서 싸우지 말라고 ... ㅋㅋㅋ

저도 솔직히는 개발자 편인데 "개발자 뿐아니라 디자이너의 곤조 역시도 만만치 않다. 더하면 더 했지." 파스텔 톤일색의 디자이너에게 한번 당해본 저의 지론입니다.

디자인은 개인적인 취향이 아닙니다.


8장 iTap은 네트워크 문제들을 어떻게 해결했을까?
- 의문이 하나 생겼다.
Network가 아니라 Line Sync를 통해서 데이터를 주고 받아야 할때 iTunes가 안 뜨도록 해야 할텐데
대부분 Windows 기반의 시스템을 사용하는 곳이 대부분일텐데 ...

대용량의 증빙/증명(증거라고하면 좀 어감이 강해서 ...)을 해야하는 멀티미디어(사진, 동영상) 등의 내용은 이런 식의 접근이 필요할텐데라는 의문이다.

Wi-Fi정도의 Sync라면 문제가 없을 수도 있을텐데...

기획을 하면서 많은 고민을 해야할 부분이지 않을까하는 생각이다.


9장 반응성 향상을 위한 팁과 트릭
- 본인이 고민해야 할 부분이 아닌것 같아서 Skip하도록 하겠다.
다만, 개발자와 같이 일을 할때 적극적인 자세로 고민을 해야할때 충분히 설득력있는 대화를 할 수 있는 부분이라고 생각을 하기 때문에 시간을 가지고 봐야 할 Chapter가 아닐까 생각합니다.

그리고, Chart나 Graph를 많이 사용해야하는 경우에는 언급되어 있듯이 충분히 고민해야할 부분이다.


10장  애플 푸쉬 알림 서비스를 이용하는 클라이언트 만들기애플의 푸쉬 알림 서비스를 파헤치다
- 기존의 WorkFlow를 도입을 하거나 Off-Line으로 관리하고 있는 경우 일이 번거로워지고 답답한 경우가 실시간으로 응대를 할 수 없는 부분이라고 생각한다.

만약, 다음일을 진행을 해야하는데 기존 솔루션(Realtime에 대한 대안이 없을 경우)과 업무 흐름과 연계성을 가져가는 경우 모니터만 뚫어져라 보고 있는 경우들이 있을 것이다. 그렇지 않고 다른일을 하다가 보면 흐름이 끊어져서 타이밍을 놓치는 경우도 발생을 할 수 있을 것이다.

거기에 대한 대안을 메시징 기반으로 아이폰이나 다른 스마트 폰으로 잘 구성한다면 업무 성과를 2-3배 정도는 올릴 수 있을 것이라 생각한다.

참 매력적인 부분이다. 메시징을 실시간으로 처리할 수 있다는 것...


11장  생동감 있는 그래픽 효과를 만드는 OpenGL ES 기법OpenGL ES 기법
- 파티클 시스템과 같은 맥락에서 적용이 가능할 것이라 생각을 하는데 차이가 있다면 *****일 것 이다.
장점은 3D작업을 다른 곳에서 하지않고 개발적인 관점에서 접근이 가능하다는 것이다.
도형을 정의하고 빛을 속성 등을 이용해서 시각적으로 설득적인 부분을 만들수 있다는 것이다.


또한 이런 외부 입력장치와 자체에 내장되어있는 다양한 센서를 통해서 동작의 직관성을 파악할 수 있도록 할 수 있겠네요.

고민을 해봐야 알겠지만 차도 움질일 수 있다는게 사실을 이제는 믿을 수 있을 것 같다.



이 책의 장점이라면

1. 이력서를 쓸때 이런 형태로 포트폴리오를 관리를 한다면 좋을 듯 싶다.

많은 개발자들을 만나고 있는데 자세히 묻다가 보면 뽀롱(?)나는 거짓말을 하거나 실제 개발 도구 앞에서가 아니라면 잘 설명을 못하는 경우가 있다.

책처럼 자세히는 아니지만 경력 관리 부분은 이런 컨셉으로 정리를 한다면 ...
아마 검증을 하는데 크게 어렵지 않지 않을까 하는 생각이다.

채용하는 입장이든 입사해야 하는 입장이든 서로 분명한 필요성을 가진 상태에서 이야기를 할 수 있지 않을까?


2. 무엇보다도 마음에 드는 부분에서 개발자의 실사례를 통해서 접근된 책이라고 할 수 있다.

아마 이런 형식으로 책이 많이 나온다면 개발자들은 물론이거니와 기획자나 프리컨설턴트까지도 서로 설득하고 논의하는데 크게 어렵지 않겠느냐라는 생각을 할 수 있을 것이다.

이런 생각을 할려고 하지않고 무작성 가능하니 해달라는 사람은 Broker의 감성으로 조직을 대하는 사람이라고 보면 될 것이다. (이것이 관료나 완장을 차고 조국과 민족을 배신하는 사람과 같다는 것이다. ㅋㅋㅋ)

"나는 상관없고 나만 행복하면 된다."는 마인드다.

그런 것에서 의견 통합을 이룰 수 있는 책의 형식이라는 것이다.


이 책을 통해서 우려가 되는 부분은

1. 곧 iPhone 4.0이 나롤텐더 거기에 대한 대비는 어떻게 해야할지?

기본적인 것은 바뀌지 않겠지만 ... 이런 형식의 이야기 풀이법이라면 많은 것이 해결이 될 것 같다.

이런 All-Star급 저자를 다시 모아서 책이 나올려면 꽤 오래 걸리겠지?

 



금일 기사를 통해서 접한 내용이지만 WWDC에서 6월 경에 발표를 한다고 한다.
2009년에 발표된 제품을 보면 Mac Book 라인업, PC용 Safari 4, OSX Snow Leopard ... iPhone 3Gs

이번의 2010년 WWDC에는 좋은 기능과 Spec up이 된 iPhone 4G가 나왔으면 한다.

획기적이고 많은 기능에 대한 "iPhone4G Advanced Projects" 역시 기대하면서 ...


책 정보


저자 소개

목차

관련글 더보기