최초 작성일 : 2013/03/26 13:47 


가장 최근에,

가장 심혈을 기울여 만든 것이 현재 내 블로그의 메인 공지에 떠있는
BizContact라는 연락처 앱이다.

근데...오늘...
네이버 알림이 떴길래 가봤더니...
뜨악~!
네이버에서 연락처앱을 출시한단다.
당근 무료겠지.

나는 비록 돈벌이는 포기한 개인 개발자이니 그렇다 쳐도
다른 중소업체에서 만든 많은 연락처 앱들은
꽤나 고민이 될 것 같다.

연락처 앱을 만들어 배포하는 것이
네이버에게 그렇게 큰 시장 영역이었을까...

돈벌이는 포기했다고 말했지만
역시 서글픈 것은 어쩔 수가 없다...

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요

최초 작성일 : 2012/10/15 11:21 


1. 카테고리 선정


가장 해보고 싶고 또 대박의 확률이 높은 뷴야가 게임이긴 하지만

스스로의 경험에 비추어보아서나 현재 시장 상황을 보아서나 아직까지 게임은 시기 상조라고 판단하였다.


게임을 제외하고 가장 사용자들이 꾸준히 사용하게되는 카테고리는 어떤 것인가에 대한 고민의 결과

선택된 분야가 '연락처'이다.


사실 연락처는 카테고리 구분이 모호하다. 유틸리티도 될 수 있고 생산성도 될 수 있고 비지니스도 될 수 있고

심지어는 소셜네트워크도 될 수 있다. 우선 위 열거한 카테고리 중 가장 인기가 좋은 소셜네트워크로

카테고리를 정할까 하다가 대부분의 연락처 앱들이 생산성 카테고리에 들어가있기에 나도 생산성으로

카테고리를 정하고 서브 카테고리를 소셜네트워크로 정했다.


사실 지금에 와서는 BizContact의 컨셉과도 부합하는 소셜네트워크쪽을 메인카테고리로 할 것을 그랬다는

생각이 절실하다.


애스토어에서 '연락처'를 검색해본 결과다. 생산성 카테고리가 많은 편이다.







2. BizContact의 중요 컨셉


21세기 IT 세상의 화두라면 역시 SNS다. 다양한 서비스들이 생겨나고 그중 일부는 상상을 초월하는 성공을

거두었다. 사람들은 비록 직접 보이지는 않지만 많은 사람들과 관계를 맺고자 하였고 이러한 열망을

크고 작은 서비스들이 충족시켜주었다.


돌이켜보면 인간을 사회적 동물이라 표현할 만큼 '사회성'이라는 것은 인간이 가진 기본적인 성향 중 하나이며

이런 성향을 표출시켜줄 서비스의 등장은 너무나도 당연한 일이다.


그렇다면 'SNS'라 불리워지는 서비스들이 생겨나기 이전에는 사람들이 어떤 방법으로 이러한 사회성을 유지하고 있었을까?

딱 잘라 말하자면 모바일 폰 그리고 그 안에 들어있는 '연락처'야말로 사람들이 사회성을 유지하고 또 그 영향력을

확대하기 위한 가장 강력한 정보였음이 분명하다.


즉 연락처는 SNS의 기원임과 동시에 현재로서도 그 형태가 다를 뿐 '연락처'라는 형식을 버리고는

SNS를 유지할 수 없다. 친구목록이 없는 페이스북이나 팔로워/팔로잉 목록이 없는 트위터를 상상할 수 있는가?

카톡은 대놓고 사용자들의 연락처를 뒤진다.


BizContact의 컨셉은 연기서 출발한다.

예전의, 전화번호나 주소, 이메일 주소 등만을 기록하던 연락처가 아닌, 그 연락처 안에서 현재 제공되는

SNS 서비스들의 친구들까지 관리해 줄 수 있는 연락처를 확대한 개념의 연락처.


그래서 BizContact는 연락처 안에서 그 연락처의 대상이 활동하고 있는 SNS(현재로서는 페이스북과 트위터)의

정보들을 추려서 볼 수 있도록 하고 이메일의 경우에도 단지 상대방에게 이메일을 보내는 기능에서 벗어나

상대방이 보낸 이메일만을 모아서 볼 수 있는 특화된 기능들이 추가되었다.



iOS 6에서 트위터와 페이스북 계정이 통합되었다.





각각의 계정에 로그인하면 연락처와의 동기화 옵션이 나타난다.






3. 한계


앞서 이야기한 바와 같이 카테고리 및 앱 성경에 대한 홍보에 문제가 있었다.

BizContact의 가장 중요한 특징은 SNS로 확장된 연락처 이상의 무엇이다. 굳이 말을 만들자면 Social Manager이다.

하지만 초기 판매당시 카테고리 자체도 생산성으로 정해진데다가 '연락처'라는 분야에 초점이 맞다보니

상대적으로 다른 연락처 앱에 비해 연락처 앱이 가져야할 필수 요건 몇가지가 빈약한 BizContact로서는 충분한

자기 어필을 할 수가 없었다. 그렇게 BizContact는 그냥 '연락처' 앱으로 전락하고 말았다.


또하나 '연락처'앱이 가질 수 밖에 없는 태생적 한계는 바로 애플의 제한으로 인해 기본 전화 앱의 정보에 접그할 수가

없다는 것이다.


사용자들이 연락처에 대해 중요시하게 생각하는 정보 중 하나가 부재중 수신에 대한 부분이다. 하지만 현재 개발자들은

이 내용을 표시해 줄 수가 없다. 이는 사용자들로 하여금 어쩔 수 없이 기본 전화 앱으로 가도록 만드는 악재 중의 악재이다.


사용자들이 중요시 여기는 부재중 통화(모든 수신목록 및 문자 데이터)에

접근하지 못하는 한계가 있다.



 


4. 전략적 과제


가장 기본적인 앱의 안정성은 두말하면 잔소리이니 제쳐두고...

무엇보다도 BizContact가 '연락처'라는 좁은 범위에서 벗어나는 것이 최우선 과제라고 볼 수 있다.

그러기 위해서는 전체적인 UI가 일반 연락처와는 달라질 필요가 있다. 즉 사용자의 정보 범위가 넓은 만큼

실제 화면상에서 사용자의 정보를 보여주는 영역이 많은 부분을 차지해야 한다. 물론 그 정보를 보기 위해

들어가야 하는 depth역시 최대한으로 줄여야 하는 것은 물론이다.


또한 SNS의 측면이 강화된다면 당연히 패드에 대한 진출도 고려를 해야 한다.

그저 연락처라 하면 '전화'를 기준으로 생각하기 마련이다. BizContact는 이 제약으로부터 벗어나야 한다.


문제는 이미 출시된 지 5개월이 다되가는 현재 기존 사용자들에게 박힌 선입관을 과연 극복할 수 있을까 하는 것이다.

최악의 경우 동일한 기능에 UI만 완전히 바뀐 새 앱을 출시해야 할지도 모른다…ㅠ.ㅠ

(실제로 그 준비도 진행 중이다…-.-)



요런 것이 BizContact만의 특징...^^;;;










5. 개인적인 꿈


나는 BizContact를 아이폰의 필수 앱 중 하나로 만들고자 한다.

마치 전화기에 연락처가 필수적이 듯…

얼마나 특화된 기능을 거부감 없이 BizContact에 심어 넣는냐 하는 것이 최대 관건이 될 것이다.

그리고 아직은 BizContact가 알려지지 않아 '나쁜 예'로서 자리잡고 있어서 별 문제 없겠지만

BizContact가 '좋은 예'로 격상되는 순간 등장하게 될 수많은 유사 앱으로부터 어떻게 자리를

지켜 나가야 하는지도 쉽지 않은 문제일 것이다.


BizContact 혹은 새롭게 탄생될 다른 Social Manager 앱이 스테디 셀러이자 아이폰의 킬러 앱이

되는 그날까지 '한 놈만 팰' 작정이다…^^

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요

최초 작성일 : 2012/10/04 15:27 


iOS 6.0으로 업그레이드 후 기존 개발한 앱에서

연락처와 캘린더에 접근 못하는 문제가 발생하였다.

이는 iOS 6.0에서 일반 App들이 임의로 사용자의 연락처와 캘린더 정보에
접근할 수 없도록 이 데이터를 사용하고자 하면 사용자의 승인을 받도록
해놓은 때문인데 이 부분을 구현해주지 않으면 디폴트로 접근을 못하게 되어있다.

그리 긴 코드는 아니고 연락처와 캘린더 각각 하나의 메서드를 호출해주면 된다.
수정된 코드는 아래와 같다.

연락처 접근 - 수정 : 아예 공통 함수로 뺐음...

+ (ABAddressBookRef)getAddressBook {

    ABAddressBookRef addressBook;

    if (VERSION5 >= 6.0) {

        CFErrorRef err;

        int stat = ABAddressBookGetAuthorizationStatus();

        NSUserDefaults *userDefault =

                     [NSUserDefaults standardUserDefaults];

        [userDefault setBool:YES forKey:@"ACCESS_CONTACT"];

        

        if (stat == kABAuthorizationStatusAuthorized)

        {

            addressBook =

                  ABAddressBookCreateWithOptions(NULL, &err);

        } else if (stat == kABAuthorizationStatusNotDetermined)         {

            addressBook =

                  ABAddressBookCreateWithOptions(NULL, &err);

            if (!err) {

                ABAddressBookRequestAccessWithCompletion(addressBook,

                                                         ^(bool granted, CFErrorRef error) {

                                                             if (granted) {

                                                                 // Handle the granted

                                                             } else {

                                                                 // Handle the error

                                                                 [userDefault setBool:NO forKey:@"ACCESS_CONTACT"];

                                                             }

                                                         });

            }

        } else {

            addressBook = nil;

            [userDefault setBool:NO forKey:@"ACCESS_CONTACT"];

        }

        [userDefault synchronize];

    } else {

        addressBook = ABAddressBookCreate();

    }

    

    return addressBook;

}


위 내용 중 ABAddressBookRequestAccessWithCompletion 메서드는 연락처에
접근하는 최초 시점에 한 번만 호출해주면 된다.


캘린더 접근

EKEventStore *eventStore = [[EKEventStore allocinit];

if (VERSION5 >= 6.0) {

   [eventStore requestAccessToEntityType:EKEntityTypeEvent                    completion:^(BOOL granted, NSError *error) {


                if (granted){

                    //---- codes here when user allow your app to

                    // access theirs' calendar.

                

                }else

                {

                    //----- codes here when user NOT allow your

                    // app to access the calendar.

                

                }

            }

   ];

}



위와 같이 해주면 연락처나 캘린더 데이터에 접근시 해당 데이터 접근을 허용 할 것인지
묻는 컨펌 창이 뜨고 환경 설정의 개인 정보 영역에 있는 연락처와 캘린더 접근 App 목록에
이 App이 나타나게 된다.

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요