본문 바로가기
Work

"지원 기종이 아닙니다" 앱 기준 디바이스 정하기

by welcoditta 2020. 2. 9.

 

 

[우리 앱의 "레퍼런스 폰"은 무엇입니까?]

 

 앱을 제작하는 과정에서 디바이스 기준을 정해놓고 확인/개선하는 작업 흐름을 정리해보았습니다.

 

 

 

 

0. 레퍼런스 폰의 원래 의미

 

"레퍼런스 폰(reference phone)은 안드로이드 운영 체제를 기반하는

스마트 제조기업에게 가장 먼저 참고의 척도가 될 수 있는 기준을 제공하는 스마트이다."

 

 

 

구글이 제시한 넥서스 시리즈, 아이폰은 아이폰, MS는 태블릿 기준으로 서피스를 제시했다.(사진: 넥서스5x, 아이폰7, 서피스 프로3)

 

 

원래 각 OS '제조사'마다 본인들이 기준으로 삼는 기기는 다음과 같습니다. 안드로이드의 경우 OS는 구글의 넥서스 시리즈, 애플은 아이폰, 마이크로소프트의 경우 태블릿 기준으로 서피스.

 

 

앱 개발사는 핸드폰 제조기업은 아니지만 앱 서비스를 만들면서도 기준이되는 핸드폰을 정해두고 시작합니다. 핸드폰 제작사마다, 매번 새로운 기종이 나올 때 마다 바뀌는 화면 비율과 디바이스의 사양이 달라지므로 이 세상의 모든 디바이스를 지원하기는 현실적으로 어렵기 때문입니다. '최소한 몇 년도에 나온 보급기 핸드폰까지는 지원되어야 한다' 라는 식으로 기준 사양을 정한 뒤, 개발자와 디자이너가 일을 시작할 수 있습니다.

 

 

 

1. 그래서 우리 앱이 기준으로 정한 "레터런스 폰"은?

 

전에 어떤 화면 비율에서, 어느 정도의 사양의 기기에서 가장 원활하게 사용하도록 할 지 정하고 디자인과 개발에 들어갑니다.

 

1-1. OS

모바일 기준, 안드로이드, 애플 OS 모두 지원할 지?
안드로이드 OS - 최소 안드로이드 OS버전은? 롤리팝? 마쉬멜로우?
애플은 자동으로 업데이트 되므로 OS는 고려 기준이 아니다.

 

1-2. 디자인의 기준 - "해상도"

최소해상도와 최대 해상도를 고려해 다자인 리소스 사이즈를 관리합니다.

 

(참고)

유니티(게임 엔진)와 네이티브 개발(안드로이드/애플 일반 앱)이 대응하는 방식이 다릅니다. 
네이티브 개발은 하나의 최소단위(svg) 파일로 제플린에서 고해상도별로 리소스를 대체해 사용할 수 있습니다.

그러나 유니티의 경우 해상도 별로 리소스를 구분해서 관리 하지않고 한 크기로 모든 디바이스를 대응합니다.

 

1-3. 가로세로 '화면비' 기준 정하기

(추가)

우리 앱의 기준 방향 정하기.

태블릿은 지원할건가요?

가로 세로로 화면을 돌려서 사용할 수 있나요?

 

 

 

2. 지원 디바이스 카탈로그

 

구글 디바이스 카탈로그 화면 - 수많은 기기 모델과 상세 스펙을 확인 할 수 있다.

 

 

2-1. 지원 디바이스에서 특정 기종 삭제하기

스토어에 등록을 하고 나면, 계속해서 버그 리포트가 올라오는 기종이 생깁니다.

분명히 될 것 같았던 사양인데도 특정 메모리 모델에서는 사양이 좋지않아 앱이 돌아가지 않는다랄지 하는 문제가 발생합니다. 그런 경우엔 개발 선에서 전체적인 구조를 뜯어고쳐 해당 기종을 지원할 수 있도록 앱을 개선 업데이트 하거나, 해당 기종은 앱 서비스를 지원하기를 중단해야하는 일이 생길 수 있습니다.

 

(참고) 구글 카탈로그는 왠만한 모든 핸드폰을 확인할 수 있지만 워낙 디바이스 모델별로 출시 국가에 따른 변종등의 변수가 있어, 대응 기기는 직접 사서; 빌려서; 해봐야 정확하다.

 

 

2-2. 기준으로 정한 화면비에 맞게 디자인 대응작업하기

에어비엔비의 화면 해상도 별 기준 화면 예시

(개발자에게 이렇게 말한다.)

"바텀네비게이션바는 아래에 항상 달라붙게, 크기는 좌우로 고정비율로 꽉차게 늘어나게 해주세요."

 

디자인 시안 작업을 레퍼런스 폰 중 대표 모델 1개로 완성을 해놓고, 제공해야 하는 디바이스 화면비, 크기 별로 시안을 넣어보며 어떻게 대응 작업을 할지 정리해야 합니다. 모든 화면을 디자이너와 기획자가 기준을 제시할 수는 없고 대표적인 화면만 골라서 최소한의 유지되어야하는 최소한의 디자인 정책(?)을 만들어 개발자와 공유하게 됩니다. 특히 유니티의 경우 모든 리소스를 각 화면비 별로 그리고 그 안에 리소스의 기준 중심점을 어떻게 상정할 지 정해주어야 원활하게 개발할 수 있습니다.

 

 

 

 

3. 레퍼런스 폰은 바뀔 수 없다?

 

🥴📱😫

(핸드폰 보고 찌그러진 얼굴)

 

바뀔 수 없지만 바뀔 수도 있다 ㅠㅠ

 

 

3-1. 우리 앱을 사용할 수 있는 디바이스 최소 사양 정하기

앱 사용시 요구되는 스펙이 높아질 경우, 그 해결을 위한 비용을(개발 소요시간, 그때문에 미뤄지는 전체 일정, 출시 시점으로 부터 얼마나 지났는지 등) 고려하여, 레퍼런스 폰 스펙을 상향 조정해야 하는 때가 있을 수 있습니다. (그래서 경력자가 필요...)

 

 

3-2. 우리 앱을 더 보기 좋게 하기: 해상도 대응 완성도 높이기

출시 초반 여유 부족;;, 일정 상;; 대응하지 못한 화면비율, 해상도 등을 대응하는 "완성도 높이기 작업" 또한 병행합니다. 지원하고 있는 다양한 디바이스의 화면 비율을 확인하며 개선하고, 버그 수정하고, 디자인이 의도대로 화면에 보이고 있는지, 그리고 가독성이 좋은지 등을 확인하면서 디자인의 완성도를 높입니다.

 

 

 

🤩📱😁

(핸드폰 보고 만족한 얼굴)

 

 

 

개발자님 말을 빌리면(그는 경력자) 디바이스 대응이 개발적으로 불가능한 경우는 없다고 합니다.

정해진 시간과 비용 안에서 더 많은 사용자에게 "만족도" 높은 서비스를 제공할 수 있는가에 따라

개선해 나갑니다.