Archive for the ‘iPhone SDK’ Category

iPhone OS 4.0 beta 2

Wednesday, April 21st, 2010

Apple released iPhone OS 4.0 developer preview beta 2 with new SDK.
Just updated to iPhone OS 4.0 beta 2.

Somewhat faster than beta 1 in general UI interaction.


New UI element in iPad – UISplitViewController

Sunday, March 7th, 2010

One of the most interesting UI element in iPad is definitely the UISplitViewController.
A split view consists of two side-by-side panes separated by a divider.
The first pane(left) has a fixed width of 320px and a height that matches the visible window height.

Xcode provides the template – Split View based Application.

In a landscape orientation, the split view shows both panes. However, in portrait orientations,
the split view displays only the second pane. Generally, the first pane in portrait mode is shown by a popover.
< Landscape mode with first and second pane >

< Portrait mode with only second pane. The first pane can be accessed by UIPopoverController >


애플 앱스토어의 성공요인은 사용자경험(UX:User Experience)뿐만이 아닌 훌륭한 개발자경험(DX:Developer Experience)

Tuesday, February 23rd, 2010

애플 앱스토어의 성공요인은 사용자경험(UX:User Experience)뿐만이 아닌 훌륭한 개발자경험(DX:Developer Experience)

박동윤 | http://www.cre8ive.kr |  Feb. 2010  |  English

2008년3월 스티브 잡스의 SDK와 App Store 의 발표를 보고 사람들은 과연 이정도까지의 성공과 파급효과를 상상했을까? 지난 2010년 1월까지 30억 다운로드와 13만개의 앱이라는 경이로운 기록을 한 애플 앱스토어는 그야말로 모바일 업계의 판도를 바꾸어놓았다고 할 수 있다. 마이크로소프트와 삼성 등 기존의 모바일 관련 업계들이 앞다투어 모바일 애플리케이션 스토어를 개설하고 이러한 새로운 흐름에 뒤떨어지지 않고자 노력하고 있다.

하지만, 앱스토어의 성공의 중요한 요소에는 아이폰에서 아이튠즈 앱스토어에 이르는 훌륭한 사용자경험(User Experience)만이 전부가 아니라고 생각한다. 또한가지 중요한 요소가 있는데, 바로 개발자경험(Developer Experience:필자가 맘대로 지어낸 말…)이다. 아무리 훌륭한 앱스토어를 갖추었어도, 궁극적으로 개발자들이 관심을가지고 적극적으로 앱들을 개발 및 등록하지 않는한 앱스토어는 성공할 수 없다. 불과 18개월에 13만개 앱이라는 풍성한 앱스토어가 이루어 질 수 있었던 이면에는 훌륭한 개발자 경험이 있었다고 할 수 있다.

디자인으로 진로를 바꾸기 전까지, 모바일 UI분야에서 S/W 개발자로서 일해온 필자는 애플이 공개한 SDK 와 개발툴을 처음 접했을때 거의 ‘감동’스럽다는 느낌을 받았었는데, Trace32 를 비롯한 여러 복잡한 디버깅툴과 시간 소모적인 컴파일, 바이너리 다운로드의 환경이 당연시 여겨지던 모바일 개발 현실을 경험해 본 개발자라면 충분히 공감할 것이다. 강력한 Documentation 과 거의 순간적인 자동완성(auto-completion) 기능을 비롯하여 시각적으로 쉽게 파악이 가능한 디버깅 툴인 Instruments 등은 개발 과정 자체를 즐겁게 만드는 요소들이다. 메모리 누수 관리 프로그램인 Leaks 의 섬세하게 컬러코딩된 콜스택뷰나 메모리/프로세스 그래프 등을 사용하면서 과거 도스 커맨드라인에 찍혀나오는 디버그 메시지들을 보며 야근하던 기억들이 새삼스럽게 떠올랐다.

무엇보다도, 아이폰 개발에 있어서 개발자 경험의 하이라이트는 아무래도 인터페이스빌더가 아닌가 싶다. 물론 G4 시절부터 맥을 써오면서 간혹 Xcode 와 함께 간단히 맥용 프로그램개발용 인터페이스빌더를 경험해 보긴 했었지만, 이렇게 쉽고도 유기적인 모바일 UI 개발 및 디자인환경을 제공 할 수 있다는 사실에 감탄할 수 밖에 없었다. 물론 프로그래밍으로 UI 구현까지 하는 방법을 더 선호 하시는 개발자 분도 많지만, 그를 떠나서 기존 모바일 개발에 있어서 UI의 구현이 얼마나 비효율 적이고 쉽지 않은 일이 었는지를 떠올려 본다면 혁신적인일이 아닐 수 없다. 한편으로는 애플의 UX/UI 디자인과 철학이 이렇게 개발자 도구에 까지 스며들어 있다는 사실이 부럽고 존경스럽게 느껴질 정도였다.

물론 이러한 매력적인 개발환경에도 불구하고 장벽은 있었다. 바로 개발환경을 위한 Mac이 필요하다는 점과 Objective-C 라는 (상대적으로)대중화 되지 않은 낮선 언어였다. 하지만, 앱스토어에서의 성공 스토리가 한둘씩 뉴스에 오르내리며 전문 개발자분들 부터 학생분들에 이르기까지 아이폰 개발에 관심을 가지게 되었고, 저렴한 방법으로 Mac mini 나 Mac Book 을 구입하여 시작하는 분들부터 해킨토시(일반 PC 에 Mac OS X를 설치)로 시작하는 분들이 생겨나게 되었다. Objective-C 언어는 개인적으로 첫인상부터 과격해보이는(?) 여러 브래킷 [ ] 들과 왠지모르게 산만해 보이는 메소드의 표기방법 등에서 적응하기가 만만치 않겠다는 인상을 받았으나, 얼마 안되어 정말 맛깔있는(?) 언어라고 생각이 될 정도로 좋아하는 언어가 되었다.

또다른 개발자 경험의 중요한 요소는 바로 iPhone Dev Center 와 iPhone Program Portal이라고 생각한다. 깔끔하게 정리된 Reference 문서들과 Startup guide들은 웹 뿐만 아니라 PDF 포맷으로도 다운로드가 가능해 언제든지 쉽게 검색 및 참고가 가능했고 무엇보다도 Startup video 들은 왜 애플은 다른가에 대한 생각을 다시한번 하게 해주었다. 애플의 개발자들이 직접 아이폰 개발의 핵심 포인트들을 집어주는 인트로성격의 영상들은, Objective-C 라는 낮선 언어와 새로운 개발환경앞에 망설이게되는 개발자들에게 아주 훌륭한 길잡이 역할을 해주었다. 무엇보다도 바로 개발에 뛰어들기 전에 아이폰 개발 과정의 일련의 큰 그림을 볼 수 있게 해준다는 점에 있어서 매우 도움이 되는 영상자료라고 생각되었다. 이외에 iPhone Program Portal 에서의 Certificate와 Provisioning profile 관련 부분들은 처음 접하는 사람들에게는 상당히 복잡한 내용들이지만, 텍스트와 이미지를 잘 활용하여 step-by-step 형식으로 잘 설명을 해 놓아서 무리없이 진행할 수 있었다.

한편, 2008년 겨울에 여러 난관을 이겨내고(초기에는 tax 문서등의 초기 contract 관련 절차들이 현재보다는 좀 복잡한 편이었다) 처음으로 앱을 등록하던 당시 애플의 iTunes Connect라는 시스템을 처음 접하게 되었을때의 느낌은, ‘정말 애플이 준비를 많이해왔구나’ 라는 느낌이었다. Sales reporting 부터 App 등록, 업데이트, banking 및 financial 관리 부분 등 iTunes Connect 의 요소요소를 경험하면서, 과연 국내 및 해외의 다른 업체들의 앱스토어 진출 소식에 하루아침에 과연 가능한 것들인가라는 생각을 하게 되었다. 이러한 iPhone Dev Center, iPhone Program Portal, iTunes Connect 그리고 iTunes 라는 핵심 시스템들이 톱니바퀴처럼 잘 맞물려 돌아가면서 개발자 및 사용자 모두에게 훌륭한 사용자 경험과 개발자경험을 제공할 수 있지 않나 생각이 든다. 물론 애플의 길고 불투명한 앱 리뷰 과정과 절차에 대해서는 초기부터 많은 논란이 있었지만, 최근에는 현재 리뷰 상태를 알 수있게 하고 리뷰 기간이 상당히 줄어들고 있는 등 개선의 노력을 볼 수 있다.

많은 사람들이 앱스토어의 성공 신화를 설명할때 언급하는 아이폰의 혁신적인 디자인, 새로운 수익모델, 무궁무진한 다양한 앱을 통한 사용자 경험이라는 측면 외에 개발자의 측면에서 ‘개발자경험(DX:Developer Experience)’이라는 시각으로 그동안 경험하고 느낀바를 정리해 보았다. 이러한 개발자경험이 앱스토어의 앱 개발 확산에 핵심적인 역할을 했다고 생각하며, 이러한 면에서 볼 때 후발 주자들의 개발자를 위한 디자인과 환경에 대한 투자는 어느정도로 이루어지고 있는가에 대하여 다시 생각해 볼 수 있을것 같다.