Windows 8 앱 등록

  • Comments 0

앱! 바로 여러분이 개발한 앱이 Windows 스토어의 핵심입니다. 앱 등록 과정을 설계하면서 우리는 개발자 여러분이 앱을 최대한 쉽고 빠르게 등록할 수 있도록 했습니다. 불필요한 마찰을 줄이고, 투명성을 통해 신뢰감을 주며, 앱 등록 절차에 예측 가능성과 일관성을 불어 넣기 위해 많이 고민했습니다.

이 글은 개발자 경험 팀에서 프로그램 관리자로 근무하는 Jonathan Garrigues가 작성했으며 Windows 스토어의 앱 등록 환경에 대한 내용을 다룹니다.

- Antoine Leblond


Windows 스토어의 성공은 곧 개발자의 성공을 의미합니다. 이를 위해 우리는 개발자들이 훌륭한 앱을 만들어 스토어에 등록하고, 앱에 대한 시장의 반응을 확인하며, 지속적으로 앱을 업데이트하는 과정이 가능한 도구를 만들어야 한다는 것을 잘 알고 있습니다. 사용자들에게 멋진 앱을 최대한 많이 제공해야 한다는 공통의 목표를 가졌다는 점에서 개발자들은 우리의 파트너라 할 수 있으며, 이를 염두에 두고 앱 등록 프로세스를 설계했습니다.

이 글에서는 앱 등록 환경을 설계하면서 여러 가지 결정에 영향을 준 목표들이 무엇이었는지 알려 드리고자 합니다.

설계 과정과 정보 수집

우리는 우선 대응해야 하는 여러 가지 기준 시나리오를 정의한 다음, 몇 가지 초기 설계 프로토타입을 고안하여 사용성 연구실(Usability Lab)에 가져가서 다양한 분야의 개발자들로부터 직접 피드백을 구했습니다. 뿐만 아니라 최대한 많은 개발자 여러분의 의견을 경청하여 다른 플랫폼에 앱을 등록하면서 겪었던 어려움에 대해 알아 보았습니다.

개발자의 기대는 이들이 개발하는 앱의 종류만큼이나 다양합니다. 어떤 개발자들은 마치 정보에 굶주린 것처럼 모든 옵션을 꼼꼼히 알아보려 했고, 어떤 개발자들은 단 몇 분 만에 등록을 마칠 수 있는 간소한 환경을 원했습니다. 이에 따라 우리는 시간과 복잡성에 대한 기대치를 미리 설정해 두는 것이 중요하며, 간편한 등록 절차를 제공하면서도 개발자들이 여러 옵션을 자유롭게 알아보고 마음대로 선택할 수 있게 해야 한다는 결론을 내렸습니다. 또한 개발자들이 앱을 등록할 때 기본적으로 선택하는 국가, 가격, 평가판 및 앱 자체 광고와 같은 여러 옵션에 대해 심사숙고하는 과정에서 새로운 기능을 추가하고 코드를 일부 수정하는 경우가 많다는 점도 알게 되었습니다.

우리는 등록 과정을 두 단계로 나누어 보았습니다. 우선, 개발자는 운전석에 앉아 주도적으로 자신의 데이터를 확인하고 등록 및 검토하게 됩니다. 그러나 일단 승인을 위해 앱을 등록한 후에는 승객석에 앉아 앱의 진행 상황을 추적하게 되는데, 이때는 이전과 같은 식으로 과정이나 결과에 영향력을 행사할 수가 없습니다. 우리는 이 두 번째 단계의 신뢰도를 높이면서 인증 프로세스 중에 앱의 상태를 투명하게 추적할 수 있게 할 방안을 마련해야 했습니다.

우리는 개발자가 여러 세션에 걸쳐 점진적으로 앱 등록 절차를 완료할 수 있는 환경을 설계하려는 목표도 세웠습니다. 중간에 다른 일이 생겨 프로세스를 중단했다가 재개해야 하는 경우가 있을 수 있기 때문에 데이터가 아직 완벽하지 않더라도 데이터를 예측 가능하고 신뢰할 수 있는 방식으로 저장하는 시스템이 필요했습니다.

설계 목표

가장 많은 개발자에게 가장 자주 영향을 줄 만한 문제들에 개발 역량을 집중시키는 과정에서 다음과 같은 사항이 핵심 목표로 선택되었습니다.

  • 개발자가 코딩을 시작하기 전에 우선 스토어 개발자 포털을 방문하도록 유도
  • 개발자가 스토어의 기술적 요구 사항을 준수하도록 지원
  • 앱 패키지에서 직접 정보를 추출하여 복잡성을 낮추고 반복을 줄임

개발자가 코딩을 시작하기 전에 우선 스토어 개발자 포털을 방문하도록 유도

사용성 테스트에서 꾸준히 나타나고 있는 문제 중 하나로서, 개발자가 코딩을 마친 후에 스토어 개발자 포털을 방문할 경우 앱 등록 과정에서 내리게 되는 결정들 때문에 코드를 약간 수정해야 할 때가 많았습니다. 이와 비슷한 문제로서, 개발자는 코딩을 마치고 업로드할 준비가 끝날 때까지 자신의 앱 이름을 다른 사람이 선점하지 않는다고 확신할 수 있어야 합니다. 개발자가 앱 등록 준비를 마치기 전에 먼저 앱 이름을 예약하는 기능이 제공된다면 해당 개발자만 사용할 수 있도록 이름의 고유성이 보장되므로 예측 가능성이 더욱 향상될 것입니다.

스토어 메뉴의 드롭다운 목록에 'Open Developer account(개발자 계정 열기)...' 및 'Reserve App Name(앱 이름 예약)'이 포함되어 있음

개발자가 앱 이름을 미리 예약하는 기능의 또 다른 장점은, 개발자가 개발 과정 초기에 개발자 포털 사이트를 방문하여 코딩 과정에서 고려해야 할 기타 옵션과 요구 사항을 숙지하게 된다는 점입니다.

Visual Studio에서 스토어 포털로 연결되는 링크는 이름 예약 페이지로 직접 연결되지 않고 앱 등록 과정의 전체 맥락을 설정하는 개요 페이지로 연결되도록 의도적으로 설계되어 있습니다. 우리는 스토어에 앱을 등록하는 전체 과정을 미리 알 수 있도록 투명하게 제시하고, 여러 단계를 거쳐야 한다는 점을 시각적으로 보여주고, 각 단계의 대략적인 예상 소요 시간을 알려야 한다고 생각했습니다.

아래 그림을 보면 1단계만 활성화되어 있지만 각 단계에 대해 자세히 알아보는 링크는 항상 사용할 수 있습니다. 따라서 전체 과정을 바로 시작할 수도 있지만 우선 각 옵션을 꼼꼼히 살펴볼 수도 있습니다.

앱 등록 페이지, 표시된 단계: 이름, 판매 정보, 고급 기능, 연령 등급 및 등급 인증, 암호, 패키지, 설명, 테스터 전달 사항.  각 단계에는 간략한 설명과 예상 소요 시간이 표시됨

이 페이지에서 단계의 순서 배치에도 신중을 기했는데, 개발자의 개념적인 코드 변경을 초래할 수 있는 개념들을 프로세스 앞쪽에 묶어 배치함으로써 앱 패키지를 실제로 업로드하는 단계로 넘어가기 전에 이러한 문제를 미리 고려하여 해결할 수 있도록 했습니다.

이러한 개념 중에서 세 가지를 간단히 짚어 보겠습니다.

  • 국가 – 제 동료인 Aayaz Bhorania도 그의 블로그 글에서 Windows 스토어의 글로벌 진출 기회에 대해 언급한 바 있지만, 여러분이 앱을 등록하면서 국가를 선택하다보면 다음 번에 추가할 기능으로서 현지화의 필요성이 시급함을 느끼게 될 것입니다. 저는 베타 버전의 포털을 이용하고 있기 때문에 비디오에 나오는 국가의 수가 적지만 조만간 훨씬 더 많은 국가가 추가될 것입니다.
  • 수익 창출 – Windows 스토어는 무료 평가판을 완벽히 지원하여, 사용 시간을 제한하도록 하거나 평가판용으로 기능을 제한하는 것도 쉽게 만들었습니다. 사용자는 앱에서 바로 구매(In-App-Purchase) 기능을 사용하여 현재 데이터를 그대로 유지하면서 새로운 앱 기능을 이용할 수 있습니다. 이러한 평가 후 구매 방식의 기능을 코딩하기는 쉽지만 면밀한 계획과 테스트가 필요합니다.
  • 서비스 – 포털을 미리 방문하면 이 부분에서 개발자의 테스트 작업에 큰 도움이 될 수 있습니다. Windows 8에 포함된 탁월한 푸시 알림 기술을 사용하면 스토어 화면에 표시되는 앱 타일까지 앱의 환경을 넓힐 수 있습니다. 앱 이름을 예약하면 고유 앱 ID가 생성되고 해당 앱에 대해 푸시 알림이 등록됩니다. 할당된 ID 정보와 로컬 프로젝트를 일치시키는 데 필요한 모든 정보가 고급 기능(Advanced Features) 페이지에 나와 있습니다. 이를 통해 앱을 게시하기 전에 알림을 등록하는 전체 과정을 포함하여 앱을 테스트해 볼 수 있습니다.

스토어의 기술적 요구 사항을 준수하도록 지원

일관된 소비자 경험을 위해 특정한 앱 패키지 정보에 약간의 제약을 둘 필요가 있었습니다. 예를 들어, 스토어에서 소비자가 찾아 읽거나 제공하는 앱에 대한 피드백이 신뢰성을 가지려면 소비자가 볼 때 모든 앱의 이름이 각각 고유해야 합니다. 또한 기술적인 여러 가지 이유로 인해 각 앱의 고유 ID에는 앱을 식별할 수 있는 정보와 개발자를 식별할 수 있는 정보가 포함되어야 합니다.

패키지 업로드 페이지에서 업로드 자체를 방해하지 않으면서도 이 모든 복잡한 개념들을 개발자에게 전달하려고 시도하는 과정에서, 몇 가지 설���를 고안하고 폐기한 끝에 우리는 결국 자동화된 옵션을 제공하고 이 정보를 개발자 환경에 더욱 가까이 가져가기로 결정했습니다. 개발자는 Visual Studio에서 스토어에 로그인하여 자신의 앱 목록을 확인하고, 스토어 포털에서 정의해 둔 앱을 선택하고, 스토어가 요구하는 모든 앱 식별 정보와 개발자 식별 정보를 갖춘 패키지를 만들 수 있습니다.

Visual Studio 창 위에 표시된 앱 패키지 만들기 대화 상자, 내용: 이 패키지의 앱 이름을 선택하십시오, 앱 이름, 스토어의 현재 패키지, 이름 예약..., 단추: 이전, 다음, 만들기, 취소

스토어에서도 업로드 직후 기본적인 패키지 검증이 수행되지만, Visual Studio에서 이러한 과정을 거치면 스토어의 제한 사항에 맞게 패키지를 미리 준비할 수 있으므로 스토어에 앱을 업로드할 때 시행착오 없이 한 번에 성공할 수 있습니다.

패키지 - 컨트롤을 사용하여 Visual Studio의 앱 패키지 만들기 기능으로 만든 패키지 업로드 패키지의 일부는 Windows 스토어 개발자 계정을 식별하는 고유 정보입니다. Visual Studio에서 패키지를 올바르게 빌드하려면 Windows 스토어 개발자 계정에 사용하는 Microsoft 계정으로 로그인하십시오.

이와 함께, 스토어에서 앱 인증에 사용하는 기술 테스트와 동일한 Windows 앱 인증 키트를 개발자에게 제공하여 앱이 스토어의 전체 인증 프로세스를 통과할지 여부에 대해 예측 가능성을 높였습니다. 앱 패키지를 업로드하기 전에 로컬에서 이 키트를 실행해 보면 기술적인 문제를 미리 발견하여 앱이 기술 인증을 통과할 가능성을 높일 수 있습니다.

종합 점수: 합격. 응용 프로그램 오류 제거, 합격. 앱이 정상적으로 실행되어야 합니다. 합격. 테스트 과정에서 충돌하거나 작동이 멎는 실행 파일은 설치하면 안 됩니다. Metro 스타일 앱 테스트 실패. 합격. Metro 스타일 앱 매니페스트의 모든 필수 필드에 유효한 값이 입력되어야 합니다. Windows 보안 기능 옵트인. 합격. 바이너리 분석기...

앱 패키지에서 직접 정보 추출

등록 환경을 간소화하고 같은 데이터를 여러 번 입력하지 않아도 되도록 앱 패키지에서 최대한 많은 정보를 직접 추출합니다. Visual Studio에는 앱이 지원하는 언어 및 고객에게 표시할 로고와 같은 정보를 개발자가 패키지에 선언할 수 있는 도구가 있습니다. 어떤 앱에는 여러 해상도, 다양한 고대비 비율 및 다국어에 대한 자산이 들어 있을 뿐 아니라 이러한 자산들이 중첩되거나 조합되기 때문에 상당히 복잡한 관계가 나타날 수 있습니다. 개발자가 스토어 포털에서 이렇게 복잡한 관계를 다시 정의할 필요가 없도록, 우리는 패키지를 마스터 복사본으로 취급하여 패키지에서 해당 데이터를 직접 읽는 방식을 채택했습니다.

이러한 방식은 몇 가지 등록 절차의 타이밍에 영향을 줍니다. 예를 들어, 개발자는 앱이 지원하는 각 언어에 대해 현지화된 앱 등록 데이터를 제공해야 하므로 패키지를 업로드해야 등록 환경에서 해당 단계가 활성화됩니다.

패키지 - 30분 - Windows 스토어에 앱 업로드

업로드한 패키지에서 지원되는 언어 정보가 추출되면 설명(Description) 단계가 활성화됩니다. 이 경우에는 영어와 프랑스어에 대해 섹션이 하나씩 있습니다.

패키지 - 완료, 설명 - 30분 - 영어 시작되지 않음. 프랑스어 시작되지 않음.

이러한 설명 페이지 중 하나를 살펴보겠습니다. 고객이 스토어의 앱 목록 페이지에서 보게 되는 대부분의 현지화된 텍스트와 이미지를 이 페이지에서 입력합니다.

다음 필드를 포함한 긴 폼: 설명, 설명 글머리 기호, 키워드, 업데이트 설명, 키워드, 저작권 및 상표 정보, 추가 라이선스 조건, 스크린샷, 프로모션 이미지, 권장 하드웨어 글머리 기호, 앱 웹 사이트, 지원 연락처 정보, 개인정보 보호정책.

우선 페이지가 상당히 길다는 점이 눈에 띕니다. 이렇게 긴 폼을 보다 쉽게 작성할 수 있도록 우리가 내부적으로 '버스 잡아 타기'라고 부르는 기능을 도입했습니다. 많은 개발자 여러분의 의견을 경청한 결과, 이와 같이 여러 필드를 입력해야 하는 큰 폼을 접하게 되면 데이터를 입력해야 하는 사람의 입장보다는 시스템의 데이터 무결성에 중점을 두고 폼을 설계했다는 느낌을 받게 됩니다. 특히 페이지에서 일부 정보가 불완전하거나 잘못되었다는 이유로 아무것도 저장할 수 없을 때 이러한 느낌이 듭니다.

여러분이 일단은 버스를 타실 수 있도록, 데이터가 어떠한 상태이든 저장이 가능하게 해 드릴 것입니다. 만약 데이터가 잘못되었다면 우리는 이를 파악하여 문제가 해결되기 전에는 앱이 등록되지 않도록 조치해 드릴 것입니다. 모든 데이터가 그대로 유지되므로 나중에 다시 돌아와서 소비자에게 앱의 진정한 가치를 홍보하는 메시지를 계속 다듬어 나갈 수 있습니다. 우리는 개발자 여러분이 스스로 편리한 시간에 작업할 수 있도록 지원하는 것이 중요하다고 생각합니다.

또한, 나중에 다시 돌아와서 작업을 재개할 수 있다는 점을 강조하기 위해 '저장'이라는 개념을 전체 환경에서 의도적으로 사용했습니다. 페이지에 따라서는 저장할 데이터가 없을 수도 있지만, '저장' 단추를 일관되게 사용하면 언제든지 작업을 중단했다가 재개할 수 있다는 안도감과 예측 가능성이 향상된다는 것을 알게 되었습니다.

인증 상태 추적

등록 단계에서 추적 단계로 넘어갈 때는 여러 요소들의 균형을 적절히 유지해야 합니다. 이 부분은 전체 시나리오에서 특히 민감한 부분으로서, 개발자의 입장에서는 빠른 출시가 대단히 중요합니다. 기획, 코딩, 테스트 및 등록에서는 개발자가 운전석에 앉아 모든 과정을 주도하지만, 이제 상황이 갑자기 바뀌어 개발자가 결과를 기다려야 하는 입장이 됩니다. 우리는 전체 환경에서 이 부분이 차지하는 중요성을 처음부터 파악하고 있었으며, 이 부분을 잘 설계한다면 개발자가 Windows 스토어에 앱을 등록하면서 느끼는 신뢰도와 만족감을 높일 수 있는 좋은 기회가 되리라고 생각했습니다. 앱을 등록하기 전에 Windows 앱 인증 키트를 실행할 수 있도록 제공하거나 앱 인증 정책을 통해 알기 쉽게 안내하는 등의 조치도 예측 가능성과 일관성을 높여 주는 것이 사실이지만, 이러한 조치가 "제 앱은 지금 어떤 상태인가요?"라는 개발자의 직접적인 질문에 대한 답은 되지 못합니다.

이 페이지에서는 '귀하의 앱이 여기 있고, 이러이러한 상태이며, 보통 이 정도의 시간이 걸린다'는 정보를 투명하게 제시하는 것을 목표로 삼았습니다. 앱의 인증 과정이 진행되는 상황을 지켜볼 수 있고, 포털에서 전체적으로 사용되는 시각적 스타일을 통해 여러분의 앱이 수백만 명의 Windows 8 사용자들에게 공개되기까지 얼마나 남았는지를 한눈에 파악할 수 있습니다.

Weather가 인증 중입니다. 사전 처리 - 완료, 보안 테스트 - 완료, 기술적 적합성 - 진행 중, 일반적으로 6시간 이내에 완료됨, 출시 - 보류 중, 앱이 인증을 통과할 때까지 대기 중, 서명 및 게시 - 보류 중, 일반적으로 2시간 이내에 완료됨

이러한 각 단계에서 실제로 처리되는 작업이 무엇인지 간단히 살펴보겠습니다.

  • 사전 처리(Pre-processing). 앱을 게시하는 데 필요한 모든 정보가 적절히 준비되었는지 확인하는 단계입니다. 개발자 계정의 상태를 확인하고, 앱이 유료이거나 앱 자체 광고가 포함된 경우 개발자에게 수익을 지급하는 데 필요한 사무 절차가 완료되었는지도 확인합니다. 이 사무 절차를 완료하는 데 며칠이 걸리는 경우도 있으므로 일부 자료가 미비하더라도 우선 앱 등록을 진행할 수 있도록 했습니다.
  • 보안 테스트(Security tests). 등록된 모든 파일에서 바이러스와 맬웨어를 검사합니다.
  • 기술적 적합성(Technical compliance). Windows 앱 인증 키트를 사용하여 앱이 기술 정책을 준수하는지 확인합니다. 개발자가 패키지를 업로드하기 전에 로컬에서 실행해 볼 수 있는 SDK에 포함된 기술 인증 평가와 완전히 동일합니다.
  • 콘텐츠 적합성(Content compliance). MS의 테스터 팀이 앱을 검토하여 콘텐츠 정책을 준수하는지 확인합니다. 실제 근무자가 앱을 직접 검토해야 하므로 이 프로세스는 다른 단계보다 오래 걸릴 수 있습니다.
  • 출시(Release). 출시 날짜를 뒤로 미뤄놓지만 않았다면 이 단계는 매우 빠르게 진행됩니다. 판매 정보 페이지에서 앱이 특정 날짜 이후에 출시되도록 요청한 경우 다른 테스트에 통과하더라도 해당 날짜까지 이 단계에서 머무르게 됩니다.
  • 서명 및 게시(Signing and publishing). 마지막 단계로서, 개발자 계정의 기술 정보와 일치하는 신뢰할 수 있는 인증서를 사용하여 등록된 패키지에 서명합니다. 이 서명을 통해 앱이 Windows 스토어의 인증을 받았음을 고객에게 증명하게 됩니다. 서명이 끝나면 앱 목록 페이지에 표시할 모든 기타 데이터와 함께 해당 앱 패키지가 스토어에 게시되어. 수백만 명의 Windows 8 사용자들이 여러분의 앱을 검색하여 다운로드하고 즐길 수 있습니다.

Windows 스토어의 앱 등록 환경을 설계하면서 반영한 여러 가지 교훈과 생각들을 소개한 이 글이 여러분에게 많은 도움이 되었기를 바랍니다. 앞으로도 여러분과 계속 대화하면서, Windows 스토어에서 여러분의 앱을 보게 되기를 고대하겠습니다.

Jonathan Garrigues


다른 미디어 플레이어로 보려면 이 비디오를 다운로드하십시오.
고화질 MP4 | 저화질 MP4

  • Loading...
Leave a Comment
  • Please add 5 and 2 and type the answer here:
  • Post