iPhone용 책상 위의 또 다른 책상 My Desk (All-in-one Desk)

개발/iPhone 프로그래밍 2009/11/05 11:12
iPhone용 책상 위의 또 다른 책상 My Desk (All-in-one Desk)

사용자 삽입 이미지
국내의 한 업체와 함께 만든 어플리케이션. 책상 위에 널려 있는 물건들을 테마로 삼아서 일상 생활에 도움이 되는 기능들을 위젯처럼 늘어놓았다. 여러가지 물건들이 있으므로 이 기능 저 기능 잡다한 기술들이 모두 짬뽕되어 있어서 구현하기 위해 정말 많은 공부가 필요했던 어플리케이션, -_- 특히 트위터는 트위터 API 사용을 직접 구현했는데, 막상 구현하고 나니 iPhone SDK용으로 트위터 API 라이브러리가 래퍼로 나온 모양이라 조금 허탈~

기본적인 실행 화면. 많은 물건들이 놓여 있다. 각각의 물건들은 터치로 이동시킬 수 있고 회전시킬 수 있다. 그리고 각 물건들은 실제처럼 서로서로에게 영향을 준다. 한 물건을 다른 물건 쪽으로 이동시켜서 접촉시키면 다른 물건이 같이 밀려난다는 이야기. Box2D를 이용해서 구현했다.
사용자 삽입 이미지

설정 버튼: 오른쪽 위의 일반적인 i 모양 설정 버튼. 설정 화면으로 간다.

배터리 용량 표시: 왼쪽 위의 배터리 용량은 움직이는 물건이 아니고 책상에 붙박이 식으로 고정되어 있는 것이다. SDK의 한계로 5% 단위로 표시.

시계: 현재 시간을 표시해 준다. 다음 버전을 위해 현재 알람 기능 추가 중.

달력: 오늘 날자를 표시해 준다. 일력 스타일. 더블 탭을 하면 Google Calendar 계정 설정 화면으로 이동한다. Google Calendar 계정을 입력한 후부터는 Google Calendar의 일정 정보를 가져와서 오늘 있는 일정의 수를 포스트잇으로 표시한다.

MP3 플레이어: 아이팟 라이브러리에 있는 음악을 랜덤하게 재생한다. 아이팟 셔플과 같은 개념. 그래서 버튼도 Play/Pause. Next Track 밖에 없다. 음악의 커버 아트, 제목, 아티스트 정보도 표시한다.

To Do 메모: 더블 탭을 하면 간단한 To Do 메모를 할 수 있다. 메모한 To Do 항목들 중 체크하지 않은 항목들의 수를 포스트잇에 표시한다.

사진: 원하는 사진을 포토 라이브러리에서 가져와서 놓을 수 있다. 이 사진은 현실에서는 납작한 종이일 것이므로 다른 물건들과 부딪치지 않고 밑에 깔려 있게 된다. 원래는 테두리가 하얀 폴라로이드 모양이었는데 Apple에서 이걸 문제 삼아 승인 거부를 했었다. 이유는 폴라로이드 사진 용지를 따라한 이미지를 사용하면 폴라로이드사의 권리를 침해한다는 것. App Store에 폴라로이드 사진 용지가 나오는 어플리케이션들이 많이 보이는데 왜인지 알 수가 없다. 어쨋든 빨리 등록하기 위해 그냥 사진만 나오도록 해서 1차로 등록하였다. 폴라로이드 사진 용지가 아니지만 그래도 테두리 좀 넣고 깔끔하게 보이도록 다시 작업 중.

커피잔: 그냥 커피잔이다. 있어도 그만 없어도 그만. 더블 탭을 하면 커피에서 표정이 떠오르고 사라진다.

무당벌레 장난감: 역시 그냥 장난감이다. 일정 시간 화면을 터치하지 않고 있으면 무당벌레 장난감이 혼자 책상 위를 돌아다닌다.

트위터: 트위터 계정을 등록하면 매 10분마다 트위터의 타임라인을 가져와서 표시해 준다. 오른쪽 아래의 파랑새를 터치하면 트위터 패널이 올라온다. 글쓴 사람의 이미지, 닉네임, 메시지를 표시하고 10초마다 다음 메시지로 스크롤된다. 글쓴 사람의 닉네임, @로 시작하는 닉네임, 링크들을 다른 색으로 표시하며, 링크를 터치하면 모바일 사파리를 띄워서 링크로 이동한다. 이건 그냥 어플리케이션 내에서 UIWebView 커다란거 하나 띄워서 보여주는 것으로 바꿔야 할 듯.

사용자 삽입 이미지

설정 화면. 책상 배경을 4가지 중 선택할 수 있고, 각 물건들을 나오게 하거나 안나오게 할 수 있다.
사용자 삽입 이미지

To Do 화면. 쓰고 체크하고 지우고.
사용자 삽입 이미지

계정 설정 화면들.
사용자 삽입 이미지

사용자 삽입 이미지

충전 중이거나 독에 끼워놓고 있을 때 켜 놓으면 유용한 어플리케이션이지만 현재 iPhone SDK의 버그로 인해 한가지 아쉬운 점이 있다. Auto Lock을 동작하지 않도록 해놓았는데 입력없이 Auto Lock 시간이 지나면 화면이 꺼지고 잠긴다. 다시 Home 버튼 눌러서 켜면 그 다음부터는 원래 원하던데로 잠기지 않고 계속 켜져 있다. 원인은 MP3 플레이어. iPhone SDK 3.0부터 추가된 아이팟 라이브러리 접근을 사용하면 idleTimerDisabled 속성을 YES로 해 놓아도 한번은 무조건 idle time 이후에 꺼지는 버그가 있다고 한다. 확실히 MP3 플레이어를 책상 위에 꺼내놓고 있지 않으면 이 증상이 없다.

이건 좀 돈 좀 되야 하는데...
top

Trackback Address :: http://www.onlinegamer.co.kr/trackback/312

  1. 제과 2009/11/05 11:16 PERMALINKMODIFY/DELETE REPLY

    어서 다운받아야지!!

  2. jwlee 2009/12/31 14:37 PERMALINKMODIFY/DELETE REPLY

    itunes staff favorites 맨앞에 떳네요~축하드려요

Write a comment