큰 화면에서 몰입형 동영상 환경을 제공하기 위해 Android 앱을 최적화한 VLC

VLCVideoLAN 프로젝트에서 개발한 무료 오픈소스 크로스 플랫폼 멀티미디어 플레이어입니다. 모든 파일 및 화면 유형과 원활하게 호환되어야 한다는 가치가 VLC 앱 디자인의 핵심에 자리 잡고 있습니다. VLC는 대부분의 로컬 동영상 및 오디오 파일은 물론 다양한 스트리밍 프로토콜을 재생할 수 있으며, 많은 타사 앱에서 VLC 엔진을 사용해 동영상 재생을 처리합니다. VideoLAN의 개발자들은 궁극적으로 사용자가 어떤 기기나 화면 크기를 선호하느냐에 관계없이 어디서나 모든 동영상을 재생할 수 있기를 바랍니다.

VideoLAN팀은 VLC 앱을 원래 Android용으로 설계했지만, 얼마 지나지 않아 사용자들은 동일한 환경을 Chromebook에서도 사용할 수 있었으면 좋겠다고 요청하기 시작했습니다. VideoLAN은 VLC를 Chrome OS에 도입하여 사용자에게 데스크톱 스타일의 환경을 제공할 기회로 이 상황을 활용할 수 있다고 여겼습니다.

처음부터 x86과 64비트 ARM을 지원한 VideoLAN은 Android 앱을 Chrome OS 및 대형 화면에 최적화하여 VLC 사용자가 어떤 기기 또는 폼 팩터에서나 동일한 몰입형 환경을 즐길 수 있게 했습니다.

진행한 작업

VideoLAN팀은 우선 VLC 사용자가 데스크톱에서 선호하는 마우스 입력, 마우스 오른쪽 버튼 클릭 메뉴 등의 기능을 파악한 다음 외부 저장소(즉, 하드 드라이브 및 USB 드라이브)가 제대로 작동하는지 확인했습니다. 그런 다음 사용자가 데스크톱과 같은 환경에서도 이러한 기능을 즐길 수 있도록 앱의 레이아웃과 기능을 조정하기 시작했습니다.

키보드 및 마우스 지원

팀에서 진행한 가장 중요한 최적화 작업 중 하나는 키보드와 마우스 입력 지원이었습니다. 키보드가 지원됨으로써 사용자는 단축키와 방향 버튼을 사용해 앱을 간편하게 탐색할 수 있게 되었고, 마우스 입력을 통해 마우스 오른쪽 버튼 클릭 명령어 및 VLC 플레이어와의 양방향 파일 드래그 앤 드롭이 가능해졌습니다.

동적 크기 조정

VideoLAN에서는 사용자가 손쉽게 앱을 확대하고 크기를 조정할 수 있도록 여러 가지 버전의 레이아웃을 디자인했습니다. 팀에서는 이미 태블릿용 VLC 레이아웃을 디자인한 적이 있었기 때문에 더욱 크고 넓은 레이아웃을 제작하는 것도 그리 어렵지 않았습니다. 또한 큰 화면이 주는 추가적인 이점을 활용하기 위하여 플레이어의 오디오 설정도 살짝 조정했습니다.

이전에는 팀에서 각 레이아웃을 테스트하려면 개별 에뮬레이터나 별도의 기기를 사용해야만 했습니다. 하지만 Android는 Chrome OS를 지원하지 때문에 VideoLAN팀은 하나의 기기에서 데스크톱, 태블릿, 휴대전화용 UI 레이아웃을 한꺼번에 테스트할 수 있었고, 에뮬레이터를 사용할 필요도 없었습니다. 이를 통해 디자인 및 테스트 시간이 크게 단축되었습니다.

이제 개발자가 Chrome OS의 Linux(베타)에서 Android 스튜디오로 Android 앱을 기본적으로 빌드 및 테스트할 수 있기 때문에 Chromebook은 언제든지 개발 목적으로 사용할 수 있는 기기였습니다.

여러 가지 버전의 레이아웃, 휴대전화/태블릿/노트북 기기에서의 동적 크기 조정의 예를 보여주는 이미지

Kotlin으로 코드 작성

무엇보다도 VideoLAN팀은 강력한 프로그래밍 언어인 Kotlin을 사용해 모든 작업을 진행했고, 안전하고 간결한 코드를 작성할 수 있었기 때문에 생산성을 개선하는 데도 도움이 되었습니다. 앱의 코드베이스가 줄어들면서 문제를 해결하기 위한 시간은 줄고 앱의 레이아웃과 기능을 최적화하는 데 더 많은 시간을 투자할 수 있었습니다.

VideoLAN의 Android 수석 개발자인 제프리 메타이스는 "우리는 대개 코드의 구조를 크게 바꾸거나 코드를 다시 쓰는 것을 꺼립니다. 기능이 손실될 위험이 있기 때문입니다. 하지만 Android 스튜디오에 내장된 이전 도구 덕분에 자바에서 Kotlin으로의 전환이 상당히 원활하게 진행되었으며 Kotlin의 코루틴 프레임워크가 성능을 개선하는 데 도움을 주었습니다."라고 말합니다.

결과

VideoLAN은 모바일, Chrome OS, Android TV에 동일한 APK를 사용하고 있었으므로 수석 개발자는 단 2개월 만에 모든 플랫폼에서 앱을 최적화할 수 있었습니다. Chrome OS에서 VLC를 사용할 수 있도록 지원해 달라는 사용자들의 요청은 몇 달 동안이나 계속되었고, 특히 DVD 재생을 원하는 목소리가 높았기 때문에 VideoLAN팀에서 지금까지 사용자들로부터 받은 의견은 대단히 긍정적입니다. 또한 Chrome OS의 최신 버전은 외부 저장소를 완전하게 지원하므로 모든 Android 사용자가 이제 동일한 이점을 누릴 수 있습니다.

VideoLAN의 사장인 장 바티스트 켐프는 "우리 팀은 언제나 사용자에게 최고의 환경을 제공하기 위한 새로운 기회를 찾으려 노력하고 있습니다. Chromebook 최적화를 통해 수많은 기기 및 폼 팩터로 VLC 앱을 확장할 수 있었으며, 전 세계 사용자들로부터 받은 의견을 보면 사용자들이 원하던 바를 정확히 이뤄냈음을 알 수 있었습니다."라고 이야기합니다.

시작하기

Chrome OS에 맞게 앱을 최적화하기 위한 권장사항을 확인해 보세요.