모바일

넷플릭스 앱을 통해 보는 ‘잘못 개발된 모바일 앱이란?’

PC World | PCWorld 2010.11.16

 

그날 밤 나는 아이폰4에서 넷플릭스 앱을 사용하면서 충격적인 사실을 발견했다. 이 앱이 지금껏 본 상용 앱 중에서 최악의 설계를 가진 것 중의 하나라는 것이었다. 물론 이 앱을 통해 3G로 스트리밍 비디오를 볼 수 있고, 동영상을 검색하고 큐를 관리할 수 있다. 아이폰용 넷플릭스는 대부분의 기능을 제공한다. 이 앱은 비교적인 최신이고 아직 업데이트 중이지만, 현재 버전으로는 iOS 앱 설계 측면에서 본받지 말아야 할 대표적인 예이다. 지금부터 그 이유를 살펴본다

 

1) 휠의 재발명

iOS SDK에는 UI 요소의 확장 라이브러리를 포함하고 있다. 드물게 스크래치로부터 자체 UI를 만들어야 하지만, 대부분은 기존의 객체를 사용하여 버튼, 다이알로그, 슬라이더, 테이블을 만들어 그 모양을 지정하거나 기능 향상을 위해 서브클래스를 만든다.

 

넷플릭스 앱의 예에서 “Home” 탭은 ‘Top Picks’의 테이블과 최근의 유사한 타이틀에 많이 사용된다. 동영상을 탭하면 자세한 설명을 볼 수 있지만, 이것은 다른 많은 iOS 앱에서 사용한 설계 형태이다.

 

여기서 애플 문서에서 권장하는 확실한 설계는 ‘UINavigationController’ 안에서 사용자 정의하기 쉬운 ‘UITableView’를 사용하는 것이지만, 필자가 알 수 없는 이유로 넷플릭스 앱은 자체 테이블과 내비게이션을 만든 것 같다.

 

자체 내비게이션을 만든 것은 디테일 뷰를 열 때 나타나는 무거운 애니메이션을 보면 알 수 있고, 자체 테이블은 섹션 헤더의 오프 동작에서 볼 수 있다(섹션 헤더는 다음 헤더가 나올 때까지 화며 상단에 있지 않고 테이블의 나머지와 함께 계속 스크롤된다).

 

정말 이해할 수 없는 점은 “back” 버튼이나 테이블 셀의 세부 사항 열기 표시에서 깨진 내비게이션 그래픽이 레티나 디스플레이 상에 보인다는 점이다. 혼동되는 것은 이러한 UI가 무겁고 아마추어 같이 보이지 않고 기존 앱처럼 보이고 작동하도록 모델링했다는 것이다.

 

2) 저해상도 그래픽의 사용

아이폰4와 아이팟 터치의 아름다운 레티나 디스플레이를 사용할 때, 앱에 고해상도 그래픽을 사용하는 것이 이전보다 더 중요해진다. 어떤 경우에는 그래픽을 전부 다시 만들어야 하지만, 설계자가 조심하면 단순히 두 배의 해상도를 가진 파일을 익스포팅하는 것만으로 해결된다.

 

 넷플릭스 앱을 사용할 때 대부분의 UI 그래픽과 동영상 썸네일은 모자이크 처리한 것처럼 보인다. 이러한 많은 경우는 (비록 흉내는 내지만) 간단히 기존 UI 요소를 사용하면 방지할 수 있다. 동영상 썸네일은 기존의 서버에 있는 고해상도 그래픽을 사용하면 해결되는 간단한 문제이다.

 

또한, 로딩 화면의 로고는 매우 선명하지만, 상단 내비게이션 바의 작은 로고에는 모자이크 무늬가 나타난다. 둘 다 같은 그래픽을 왜 사용하지 않는지 모르겠다. 세부적인 면에서 놀랍도록 소홀한 부분이 많다.

 

3) 오버/언더 애니메이션

지나친 애니메이션은 리소스를 많이 잡아먹은 원흉이고, 사용자가 앱을 내비게이션하는 속도를 떨어뜨릴 수 있다. 그러나 일부 애니메이션은 자세한 비주얼을 제공할 필요가 있다.

 

넷플릭스 앱에서 일부 버튼을 누르면 애니메이션이 일어나고, 일부 버튼은 일어나지 않는다. 버튼을 누르면 기본적으로 어두워져야 한다는 점을 생각하면 이것은 이상한 점이다. 마찬가지로, 테이블 셀도 어떨 때는 “선택 상태”로 되지만, 어떨 때는 그렇지 않다. 스마트폰의 작은 화면에서 이러한 소소한 비주얼 측면은 사용자가 정확하게 선택했는지 확인하는데 필요하다.

 

4) 멀티태스킹 배려

이미 멀티태스킹 기능이 가능하지만, 이 앱에서는 아직 사용할 수 없다. 앱 설계자는 앱의 목적이 무엇인지 알아야 한다. 대부분의 경우에 실제로 아무 것도 바꿀 필요는 없어도, 앱의 동작을 테스트하는 것이 여전히 중요하다.

 

 이 경우에 실제로 넷플릭스 앱은 멀티태스킹이 가능한 것처럼 보이지만, 또다시 이상하고 분통터지는 설계를 선택했다. 넷플릭스 앱에서 벗어나거나 되돌아갈 때마다, 전체 화면이 로딩된다는 것을 알 수 있다. 왜 또 로딩이 필요한가? OS는 이미 앱의 상태를 캐싱하고 있고, 로딩하는 속도로 보아 실제로 아무 작업도 하지 않고 단지 사용자가 앱을 실행 중이라는 것만 알려주는 것으로 보인다. 이것이 넷플릭스 앱을 완전히 잘못된 설계의 대표적인 예로 만들어주는 의문점이다.

 

결론

필자 말을 오해하지 말기 바란다. 개인적으로 넷플릭스 앱을 좋아하고 거의 매일 사용한다. 그러나 최첨단 기술을 가진 대기업이 휴대폰 앱을 엉성하게 설계했다는 것은 매우 충격적이다. 아마 여러 가지 휴대폰 플랫폼에 동시에 앱을 출시하기 위해 써드파티 개발 툴을 사용했기 때문에 이러한 불편한 UI를 사용했다고 추측된다.

Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.