2015. 1. 5. 15:17

이제 우리는 우리가 만들 앱에 대한 아이디어와 개발 플랫폼을 결정하였다. 이제 당신의 아이디어를 실체화 시킬 때가 되었다. 코드 작성으로 뛰어들기 전에, 코드를 재작성하거나 또는 리팩토링하는 것으로 끝나지 않도록 약간의 기획이 필요하다. 이것이 기획 프로세스에서 우리의 다음 단계인 프로토타이핑(prototyping)이다.


프로토타이핑(Prototyping)

전통적으로 어플리케이션 스펙을 생성하는 여러 가지 방법이 있다. 앱 개발 시에 (보통은) 제한된 수의 화면과 기능들 때문에 와이어프레임과 프로토타입을 만드는 것이 점차 인기를 얻고 있다. 와이어프레임 스케치는 당신의 생각을 종이에 그려서 앱이 어떤 기능을 가질 것이고 어떤 흐름을 가질 것인지 함께 계획하는 첫 단계가 된다.

당신은 여기서 멈추고 바로 개발을 시작할 수도 있다. 하지만 지금까지 그려진 것들로도 앱이 개발된 후에 실제로 핸드폰 상에서 어떻게 느껴질 것인지 그림을 그리기 어렵다. proto.io로 가보자.
proto.io는 디자이너와 개발자들이 디지털 와이어프레임, 플로우, 그리고 디자인들을 코드 작성없이 쉽게 만들 수 있게 해 주는 서비스이다. 이건 와이어프레임을 당신의 손 안에 잡게 해주고, 버튼들을 태핑하고, 화면 사이에서 움직이게 해주는 아주 대단한 방법이다. 이 버튼이 이 영역에서 가장 잘 작동할 것인가 아니면 저쪽에서 잘 작동할 것인가? 화면들을 이 순서대로 배열하는 것이 의미가 있을까? 이런 질문들에 대해 최소한의 노력으로 코드 작성하기 전의 초기 단계에서 대답할 수 있으면 수백 시간의 개발 시간을 절약할 수 있을 것이다. 당신이 한 명 이상의 팀이라면, 빨리 반복하고 아이디어들을 주고 받을 수 있는 훌륭한 방법이다. 한편으로 프로토타입들이 당신의 디바이스에서 살아 움직이는 것을 볼 수도 있다.

이 단계는 당신은 여전히 개략적인 설계들을 사용 중일 것이다. 즉 이쁘지 않고, 네모 버튼, 90년대 스타일의 웹 사이트 같은 뭐 그런 것들. 중요한 것은 기능을 세분화(nail down)하여 프로토타입이 당신이 앱에서 하고자 하는 모든 것들을 명확하게 표현하는 것이다. 물론, 디자인 과정은 가능한 한 빨리 시작하는 것이 좋다. 그래서 지금이 시작하기 딱 좋은 때이다.  디자인들은 병렬적으로(asynchronously) 만들어지고 개발단계에 적절한 때에 하나의 옷처럼 기워질 수 있다.(woven)

디자인

고백하는 것으로 시작해 보자. 나는 엔지니어이다. 나는 토목 공학(civil engineering)과 컴퓨터 과학을 전공했고, 내가 우아한 코드보다 즐기는 몇 가지 것들이 있다. 내가 앱을 만들기 시작했을 때, 난 사용자들 또한 그 앱을 사랑할 것이라고 믿었다. 내가 몇 개의 앱을 런칭하고, 앱 스토어에서 경쟁을 하게된 후에야, 좋은 디자인이 얼마나 중요한 지 깨달았다.  

눈을 사로잡아라.

당신의 앱 디자인은 사용자들이 당신이 생각하는 것을 느끼는 첫번째 터치 포인트이다. 당신의 앱을 열기도 전에, 그들은 앱 스토어에서 수많은 옵션들을 스크롤하고 있다. 그들이 느낄 첫번째 것들은 아마도 제목, 별 평가, 그리고 아이콘일 것이다. 이런 것들이 사용자들의 호기심을 불러일으켜서 당신의 앱을 탭한다고 가정해보자, 그들은 설명을 읽기 전에 당신의 스크린샷들을 볼 것이다. 

이런 것들은 사용자의 선택 과정(process)에서 가장 중요한 포인트이고, 이들은 모두 당신의 디자인에 대해 사용자의 호감(appeal)에서 출발한다. 자 당신은 무엇을 할 수 있을까?

야하지만(flashy) 외설스럽지 않은(gaudy)
검색 결과와 순위 안에서 발견됨으로써 당신의 앱이 매우 의미있는 앱임을 증명할 수 있다. 앱 스토어에서 검색을 통해 경쟁 앱들을 확인하고 경쟁자들의 아이콘들을 보면서 경향(트렌드)이 어떤 지 파악해라. 당신이 다음과 같은 스크린을 본다면, 어떤 것이 두드러지느냐? 당신의 경쟁자들을 알고 당신이 경쟁력을 갖고 대중 속에서 두드러지기 위해서 할 수 있는 모든 것을 해야 한다는 것을 기억해라.

크고, 짙은 색깔은 눈을 사로잡는 데 큰 도움이 될 수 있다. 하지만 그런 아이콘들이 당신의 메시지를 잘 전달해야 한다. 당신이 업무 앱을 만들고 있다면 네온 핑크색 같은 건 갈 길이 아닐 것이다.

내용

당신의 로고는 명확하고 간결해야 한다. 사용자들이 당신의 아이콘과 로고로부터 직접적으로 당신의 앱이 무엇을 하는 지 이해할 수 있어야 한다. 너무 많은 정보를 넣지 않도록 하고, 너무 많은 색이나, 복잡하게 디자인된 아이콘 등을 피해야 한다. 아이콘이 어지럽고 요란하다면, 사용자는 당연히 당신의 앱도 그럴 것이라고 생각할 것이다. 다음의 아이콘들을 보자, 어떤 것이 더 많이 그려진 것 같은가?

대단한 경험을 만들기

당신이 가장 좋아하는 앱을 생각해보자. 가장 많이 사용하는 앱일 필요는 없으며 즐기는 앱이면 된다. 하나를 지금 바로 열어서 디자인을 보자. 아마도 깨끗하고(clean) 명확하며(clear), 친숙한 색채(color scheme)로 되어 있을 것이다. 앱을 디자인할 때, 이 세 컴포넌트는 좋은 경험을 만드는 데 핵심적이다.

그러나 일반적으로는 디자이너들이 픽셀이 아주 정확하게 계산된 많은 화면들과 손이 많이 간(hand over) 포토샵 파일들을 만들어 낸다. 그들이 거기에서 멈추게 하지 마라. 훌륭한 앱은 대단해 보일 뿐만 아니라 대단하게 느껴져야 한다.

당신은 "도대체 그게 뭔 소리야"라고 물을 지 모른다. 그러니 당신이 좋아하는 앱을 탭하기 시작해라. 당신이 평소에 느끼지 못했던 것들을 느끼려고 시도해보라. 화면 사이의 이동이나 뷰가 화면에 뜰 때 애니메이션이 커지는 것, 탭했을 때 반짝이는 버튼, 적절하게 실행되는 애니메이션(clever loading animation) 등. 이런 것들이 적절하게 이뤄지면, 이것들은 당신의 경험과 충돌하는 것이 아니라 오히려 강화시킨다. 사용자가 당신의 앱을 탭하는 걸 즐긴다면, 당신은 제대로 된 길에 서 있는 것이다. 


사용자들이 좋게 느끼는 앱 중 내가 좋아하는 한 예는 아이폰의 B&H Photo이다. 당신이 이 앱을 다운로드해서 쇼핑카트에 뭔가 추가하기를 권한다. 어서 시도해 보라. 그리고 당신이 즐기지 않는 척 하지 않기를 바란다. 무언가에 돈을 지불하는 것을 즐기는 사용자를 당신이 얻게 된다면, 당신은 제대로 한 것이다.

결론

적절한 기획은 당신의 몇시간, 몇일, 몇주 그리고 심지어 몇달의 낭비되는 개발 시간을 절약해 줄 수 있다. 처음에는 지나친 오버헤드처럼 보일 수도 있으나 어떤 규모의 팀들이라도 개발을 시작하기 전에 구현해야 하는 주요 특징이나 화면들을 알 수 있어야 한다는 것은 필수적이다. 개발이 시작되면, 디자인을 정제하거나 반복 과정을 거쳐 개선되는 것이 동시에(in parallel) 이뤄질 수 있다. 이상적으로는 앱 론칭을 준비할 때, 디자인과 개발이 합쳐져서 하나의 대단한 앱으로 만들어 진다. 

이제 프로토타이핑과 디자인에 대해 생각할 거리를 얻게 되었으니 당신과 당신의 팀이 효율적인 개발자(coder)가 되도록 도와줄 훌륭한 IDE에 대해 얘기할 다음 회차(installment)를 지켜보라.

——————–

Crittercism is the leading provider of mobile crash reporting and performance monitoring with over 20,000 apps utilizing the platform. With a simple SDK, you can add top of the line performance monitoring in less than 10 minutes. Sign up for free at http://crittercism.com/

Chris is a Developer Evangelist at Crittercism, and has been building apps for iOS and Android since the early days of the iPhone SDK. His apps have gathered tens of millions of downloads across platforms and he continues to build as the lead developer for Whitewater Labs.

——————–


Posted by 알 수 없는 사용자
2015. 1. 5. 14:31

Source : https://www.crittercism.com/blog/step-2-picking-a-platform-for-your-mobile-app/


 on December 5, 2014

앱을 개발할 때, 먼저 고려해야 할 것들 중 하나가 어떤 플랫폼에 맞게 개발할 것이냐이다. 우리 앱이 iOS, 안드로이드, 윈도우즈, 블랙베리, 타이젠, 기타 플랫폼에서 실행되기를 원하나요? 쉬운 답이 있다. - 모든 플랫폼.

이게 논의의 끝이라면 좋겠지만, 당신이나 당신 회사가 가진 리소스는 제한되어 있다.(그렇지 않다면, 나도 좀 끼워 주기 바란다). 아주 많은 디바이스들이 있고 맞춰서 개발해야 하는 많은 시스템들이 있기 때문에 현명하게 전투를 선택해야 한다. 

당신의 앱은 어느 단계에 있는가?

당신의 앱이 새로운 아이디어이고, 그걸로 뭔가 대단한 걸 만들기를 기대하는데 어떤 경로를 거쳐서 거기에 도달하게 될 지 알 수 없다면, 빨리 개발해서 여러번 반복할 필요가 있다. 이를 위해 당신은 하나의 플랫폼을 정해서 개발 시간을 줄이기를 원할 수도 있다. 가능하다면, 당신이 이미 아는 하나의 언어를 사용해라(우리는 다른 포스트에서 나중에 이에 관해 얘기할 것이다.) 당신의 앱이 진정한 정체성(아이덴티티)을 찾고 기능들이 안정되면, 개발에 더 시간을 투자할 수 있고 다른 플랫폼으로 확장할 수도 있다.

얼마나 빨리 시장에 도달해야 하느냐?

당신의 앱이 첫번째냐 두번째이냐에 따라 전체 프로젝트가 성공할 수도 있고 실패할 수도 있다. 당신이 회사를 위한 모바일 가게를 만들고 있고 매일 이 앱이 사용되지 않으면 매출에 손해가 발생할 수도 있다고 하면, 안드로이드가 좋은 옵션이 될 것이다. 앱들이 몇 분안에 업로드되어 출시될 수 있기 때문이다. 반면 iOS와 윈도우에서는 최대 7일 이상 소요되는 검토 프로세스를 거쳐야 한다. 

어떤 플랫폼이 가장 많은 고객들에 도달할 수 있을까?

안드로이드가 디바이스 관점에서는 84%를 점유하고 있지만, 이 디바이스들 모두가 앱 사용자는 아닐 수 있다는 점을 고려해야 한다. 우리의 목적에 맞는 품질 메트릭스는 다음 자료에서 찾을 수 있는데, 이 자료는 다양한 플랫폼의 활성화된 웹 사용자들(안드로이드 45%, iOS 44%)을 보여준다. 따라서 안드로이드 디바이스들이 더 많이 있긴 하지만, 앱 사용자 수로만 보면 iOS와 안드로이드의 사용자 수는 거의 비슷하다. 윈도우는 아직 갈 길이 멀지만, 지난 해에 약간의 traction을 얻었다.
 
어떤 디바이스를 사용하려고 하느냐?

다양한 핸드폰과 테블릿을 대상으로 해야 할 때, 어떤 크기의 디바이스가 얼마나 인기가 있는 지에 대해 Flurry에서 훌륭한 리포트를 제공한다. 중간 크기의 핸드폰이 여전히 챔피언이다. 하지만 당신의 use case를 고려해야 하는 것을 잊지 말아야 한다. 그리고 어떤 디바이스에 맞춰 개발할 것인지를 선택할 때 이 메트릭스들을 기억해야 한다.

TV, 시계, 혹은 다른 디바이스에 맞게 개발하려면 어떻게 해야할까? Apple도 그들의 시계를 곧 출시할 것이다. 하지만 안드로이드는 이미 다른 디바이스 시장에서 주류로 자리잡았고(mainstay), 가장 좋은 선택지일 것이다.

어떤 플랫폼이 가장 많은 돈을 벌어 주느냐?

넓게 얘기해서, iOS가 사용자들에게 더 많은(또는 더 자발적으로) 돈을 쓰게 만든다. 최근의 ZDNet 리포트를 보면, iOS가 어떻게 올해의 Black Friday 판매를 지배했는 지 알 수 있다. iOS는 안드로이드보다 무려 4배이상의 매출을 달성했다.


좀 더  소화가 쉬운 목록을 위해, 빅 3의 몇 가지 장단점(pros and cons)을 살펴보자.(check out)

iOS
장점
설계/개발 대상 디바이스 유형이 몇 개 안된다.
인구통계적으로 더 많은 돈을 지출한다.
시장 규모가 가장 크다.
사용자들이 더 빨리 OS를 업데이트하므로 최신 API를 이용하여 개발할 수 있다.
단점
개발자들이 디바이스와 OS에 접근하기 쉽지 않다.(not open)
앱 스토어의 검토 과정이 느리다.

안드로이드
장점
시장 점유율이 가장 크다.
앱스토어에서 앱을 출시하기 가장 쉽다.
단점
디바이스들이 다양해서 개발과 QA가 쉽지 않다.
사용자들이 OS 업그레이드를 늦게 하고 따라서 이전 API와 호환성을 유지해야 한다.

윈도우즈
장점
스토어에 앱이 많지 않다. == 경쟁이 덜하다.
많은 개발자들에게 친숙한 개발환경과 언어
데스크톱 앱으로 포팅이 가능하다.
단점
시장 점유율이 낮아서 사용자 손에 들어가기 쉽지 않다.

나의 선택
개인적으로, 나는 iOS에서 먼저 앱을 개발하는 경향이 있다. 소규모 개발팀으로써 우리에게는 설계하고 개발해야 하는 디바이스의 수를 최소화시키는 게 가장 큰 의미가 있기 때문이다. 우리의 앱은 일반 소비자를 타겟으로 하고 수익을 거두려고 하기 때문인데, iOS가 최소한의 시간을 들여서 돈을 지불하려고 하는 사람들에게 전달되는 것을 가능하게 해준다. 거기서 우리는 앱이 시장에서 어떤 퍼포먼스를 내는 지 볼 수 있고, 단일 플랫폼에서 앱을 개선하거나 변경하여 앱을 성숙하게 만들 수 있다. 이 때가 되면 안드로이드로 포팅할 수 있다.

결론
당신이 선택하는 플랫폼은 당신과 당신의 선호도에 달려있다. 그러나 이 글이 당신이 결정을 내리기 전에 어느 정도 생각할 거리를 주기를 바란다. 우리의 다음 포스트는 당신의 앱을 실체화시키기 위한 설계 및 와이어프레임(wireframe)을 다룰 것이다. 그때까지 채널 고정!

——————–

Crittercism is the leading provider of mobile crash reporting and performance monitoring with over 20,000 apps utilizing the platform. With a simple SDK, you can add top of the line performance monitoring in less than 10 minutes. Sign up for free at http://crittercism.com/

Chris is a Developer Evangelist at Crittercism, and has been building apps for iOS and Android since the early days of the iPhone SDK. His apps have gathered tens of millions of downloads across platforms and he continues to build as the lead developer for Whitewater Labs.  


Posted by 알 수 없는 사용자
2015. 1. 5. 14:28

Source : https://www.crittercism.com/blog/step-1-i-want-to-build-an-app-what-now/


Chris Beauchamp on November 28, 2014


자 당신은 앱을 개발하고 싶다…. 애플에 따르면 등록된 앱 개발자가 9백만 이상에 달한다. 따라서 당신은 혼자가 아니다! 당신이 훌륭한 앱을 개발하고 싶어하는 몇 가지 큰 이유가 있을 것이다. 그리고 당신이 각 경로(path)마다 고려해야 할 몇 가지 사항들이 있다. 우리는  몇 가지를 여기서 살펴볼 것이다.


내 생각은 인스타그램 이후를 바라본다.


좋거나 혹은 아니거나. 당신의 생각은 훌륭한 것일 수도 있고, 아니면 전혀 쓸모없는 것일 수도 있다. 당신이 처음에 시작할 때, 둘 사이 어딘가에 있을 것이다. 당신이 가장 먼저 해야 하는 것은  끊입없이 당신의 생각을 사람들에게 던지는 것이다. 친구들, 가족, 동료들 그리고 심지어는 버스 안에서 만난 낯선 사람들에게 던져서 되돌아오는 것들을 받아야 한다. 이런 행동들로 잠재적인 사용자로부터의 의미있는 피드백을 얻을 수 없을 지 모르지만 한편으로 당신이 당신의 생각에 대해 확신을 가질 수 있게 도와줄 것이고 자신이 생각하고 있는 것들이 어떻게 들리는 지를 알려줄 것이다. 바로 앱을 개발하는 데 뛰어들지 말고 그 생각이 머리 속에서 항해하면서 좀 더 구체화된 무언가로 자라도록 두어라.


생각이 구체화되면(sticky), 당신이 기대하는 바와 기능 목록들을 체크하는 것이 중요하다. 처음에는 작게 시작해서 성공 스토리를 반복하되 자고나니 깜짝 성공이 되지 않도록 해라. 트위터는 텍스트 서비스(texting service)에서 출발했고 인스타크램은 HTML 5 체크인 앱으로 출발했다. 당신은 당신의 앱이 어느 쪽으로 갈 지 전혀 알 수 없다. 그러니 처음부터 걱정하지 마라. 당신의 앱이 성공적이라면, 당신은 이를 기반으로 끊임없이 변화하는 시장으로 전환해서 배우고 적응해야 할 것이다. 이 과정에서 당신의 기대는 거의 매주 바뀔 것이다. 그러므로 당신이 시작할 때는 돈을 쓸 것인지에 대해 너무 많은 시간을 허비하지 말아라. 오히려 당신의 현재 앱을 어떻게 최적화할 것인가에 에너지를 쏟아라.


우리 회사는 앱을 원한다.


앱은 웹사이트들이 몇 년 전에 그랬던 것과 같은 방식으로 상품화되어가고 있다. 모든 비지니스는 모바일 환경에서 존재를 나타내고 싶거나 있어야 한다. 초기에는 웹사이트들이 모바일 환경에 나타났다. 다음에 응답형 디자인을 위해 푸쉬(push) 기술이 사용되었다. 응답형 웹이 충분하지 않음에도 불구하고 고객들이 성능 좋은 네이티브 앱들을 요구하는 때가 왔다. 


당신이 회사에서 이 업무를 맡아왔다고 하면, 당신은 어느 정도의 프로그래밍 기술을 가졌거나 또는 노련한(seasoned) 앱 베테랑일 수도 있다. 어느 쪽이든, 앱의 성공을 측정하는 데 사용된 메트릭스들은 거의 비슷할 것이다. 회사에서 그 앱이 입소문을 타거나 수십만의 다운로드 횟수를 기록할 필요가 없을 수도 있다. 그러나 앱은 제대로 작동해야 하고, 특정 업무를 처리하거나 제품을 판매하는 것일 수도 있다. 주변에 있는 앱들 중에서 가장 아름다울 필요는 없지만 안정적이어야 하고, 사용자들이 앱을 사용하는 것을 즐길 수 있게 해야 한다. 플랫폼을 선택하는 것이 가장 중요할 것이고(채널 고정!), 당신은 가장 많은 사용자들이 접근하고 회사의 매출을 올려줄 수 있는 방식으로 앱을 개발해 줄 수 있는 툴을 사용하길 원할 것이다.


이런 유형의 앱은 시장 주도형이라기 보다는 요구사항 주도형에 가깝다. 따라서 기획과 실행이 핵심이다. 실수는 사용자들뿐만 아니라 매출까지 잃어버리는 상황을 유발할 수 있다.(cost). 초기 단계에서는 앱 안에서의 플로우를 확실하게 계획해라. 중요한 기능들에 접근하는 것이 쉬운가? 사용하기 쉬운가? 코드를 작성하기 전에 이런 질문들에 대한 답이 나와야 한다.


앱을 개발하는 비지니스를 만들고 싶다.


모든 사람이 앱을 개발할 필요가 있거나 앱에 대한 아이디어가 있다. 당신이 개발자라면, 틀림없이 친구/가족/친척들이 당신에게 와서 대단한 생각들에 대해 얘기했을 것이다.( “내가 생각하는 앱은 정말 새롭게 대단한 거야!”). 앱을 개발할 수 있으며 시장도 이해하는 당신의 전문적인 능력에 사람들이 더 많은 돈을 지불하고 있다는 점에서 이건 기회가 될 수 있다. SMB들이 명백한 시장이 될 것이다. 그러나 투자하고 싶어하는 개인들도 많이 있다. 당신이 기술이 있다면, 개발 샵을 만드는 것도 수익성이 있는(lucrative) 사업이 될 수있다.


당신이 이 길로 가고자 하면, 당신은 디자이너를 포함한 팀을 구성해야 한다. 이것은 당신이 개발할 앱의 핵심적인 부분이다. 그리고 사용자가 제품에 대해 첫번째 터치 포인트이다. 무엇보다도 먼저(first and foremost) 사람들이 제품의 외양과 느낌을 좋아해야 한다. 기획은 또 다른 핵심 요소이기 때문에 스토리보드와 디자인에 대해 다음 포스트에서 살펴볼 것이다. 당신은 비용과 기대(cost and expectation)를 관리 범위(in check) 내에 두기 위해 고객들이 생각하는 바를 항상 최신의 상태로 유지해야 한다. 당신이 잘 정의된 요구사항을 가지고 있고 개발할 준비가 되어 있다면, 앱 개발을 시작할 때가 되었을 때 당신이 기대하는 바를 구현(code)할 수 있는 자유를 줄 것이다. 기대(expectation)를 일찍 풀 수 있는(lock down) 좋은 방법은 사용자가 가지고 놀 수 있는 기능적인 화면 설계(wireframe)를 만드는 것이다. 


마지막으로  당신은 앱이 배포된 후에라도 고객들에게 계속 정보를 제공하고(informed) 싶을 것이다. 당신이 분석툴을 적절히 활용하고 성능을 추적한다면, 사용자들에게 그들이 찾고 있는 정보를 줄 수 있고, 다음을 제시할 수 있고 당신의 가치를 증명할 수 있다. 변경과 결정을 정당화할 수 있다는 것은 고객들을 행복하게 할 수 있는 가장 중요한 요소일 것이다. 따라서 그렇게 도와줄 수 있는 툴들을 사용해야 한다.


결론


앱을 만드는 데는 여러가지 이유가 있을 것이다. 이 포스트가 다행히도 그 중 몇 가지를 강조하고(highlight) 당신이 어떤 경로를 밟을 것인지에 대해 생각할 거리를 만들어 주었기를 바란다. 우리는 다음 포스트들에서 여기서 언급한 몇가지 컴포넌트들에 대해 좀 더 자세히 살펴볼 것이다. 우리의 다음 포스트는 플랫폼 선택에 대해 논할 것이다. - 어느 것이 당신의 청중들에 가장 효과적으로 도달할 수 있도록 도와줄 것인가?


Crittercism is the leading provider of mobile crash reporting and performance monitoring with over 20,000 apps utilizing the platform. With a simple SDK, you can add top of the line performance monitoring in less than 10 minutes. Sign up for free at http://crittercism.com/

Chris is a Developer Evangelist at Crittercism, and has been building apps for iOS and Android since the early days of the iPhone SDK. His apps have gathered tens of millions of downloads across platforms and he continues to build as the lead developer for Whitewater Labs.

Posted by 알 수 없는 사용자