요약

  • W3C가 2020년 1월 처음 공개한 Media Session 초안은 페이지가 프로그램 정보와 동작 처리 함수를 제공하게 했다. 브라우저는 기기 조작 화면에 보여 줄 활성 세션을 최대 하나 고른다.
  • 이어폰의 재생·일시 정지 겸용 버튼은 그 세션의 실제 재생 상태에 따라 해석된다. 2021년, 2023년, 2026년 초안도 기기와 페이지 사이의 이 전달을 다듬었다.

청취자는 휴대전화를 주머니에 넣고 인터뷰를 듣는다. 잠깐 대화를 나눠야 해 이어폰 단추를 누른다. 브라우저에는 어제 듣던 노래 탭, 멈춰 둔 영상, 정적을 못 견디는 광고 탭도 있다. 물리 단추에는 “어느 탭에 보낼까요?”라는 메뉴가 없다. 누군가 현재 방송 중인 방을 정해 줘야 한다.

2020년 1월 30일 W3C 첫 공개 초안은 그 선택을 사용자 에이전트에 맡겼다. 페이지는 MediaMetadata로 제목, 제작자, 그림을 전달해 탭 밖의 기기 화면에 나타낼 수 있다. 재생, 일시 정지, 다음 항목을 처리할 함수도 등록한다. 브라우저는 플랫폼에 활성 미디어 세션을 최대 하나 제시한다. 웹사이트가 방송을 만들고 브라우저가 공용 조정석의 자리를 배정한다.

웹페이지 안의 재생 버튼을 예쁘게 그려도 이어폰 단추 문제는 남는다. 이어폰, 잠금 화면, 알림 영역의 조작은 문서 바깥에 있다. 그 신호는 운영체제와 브라우저를 지나 알맞은 페이지에 도착해야 한다. 소리를 낼 수 있는 탭은 여럿이어도 기기의 공용 조작면에는 한 순간 한 프로그램의 이름만 실릴 수 있다. 멋진 표지 그림만으로는 이어폰 단추를 차지할 권리가 생기지 않는다.

2020년 초안은 한 단추가 두 뜻을 갖는 문제도 다뤘다. 활성 세션이 재생 중이면 브라우저는 누름을 일시 정지로, 그렇지 않으면 재생으로 해석한다. 2021년 6월 초안도 setActionHandler와 프로그램 정보와 함께 이 구조를 이어 갔다. 브라우저가 손가락의 동작을 번역하고, 페이지가 “재생”의 내용을 정한다. 팟캐스트는 멈춘 지점부터 이어 듣고 생방송은 다시 연결할 수 있다.

2023년 10월 초안은 활성 세션이 바뀔 때 기기 화면과 동작을 갱신하는 문제를 계속 다뤘다. 사소한 정리처럼 보이지만 빠지면 눈에 띈다. 아침 뉴스가 나오는데 잠금 화면에는 어젯밤 앨범 표지가 남아 있다. “다음” 단추가 퇴근한 탭으로 향한다. 프로그램 이름, 그림, 단추의 목적지가 같은 박자에 교대해야 한다.

W3C 발행 이력은 2020년 첫 공개 문서와 2021년, 2023년, 2026년 판을 잇는다. 계속 다듬은 질문은 하나다. 웹의 재생기를 자기 탭 밖에서도 알아볼 수 있게 할 수 있는가. 브라우저는 신호를 실어 나르는 단순한 전선이 아니다. 여러 페이지가 탐내는 기기 조작면의 한 자리를 배정한다.

2026년 6월 초안도 활성 세션을 최대 하나만 표시한다. 동작 목록은 넓어졌고, 재생 상태와 위치, 메타데이터 처리도 이어진다. 조정석의 단추는 늘었지만 약속은 그대로다. 브라우저가 기기 앞에 설 세션을 고르고, 선택된 페이지가 명령을 실행한다. 이어폰을 한 번 눌렀다고 탭들이 모두 마이크 앞으로 달려올 필요는 없다.

오디오를 발행하는 곳에는 분명한 책임이 있다. 기기 화면의 제목과 그림은 실제 들리는 내용의 이름표여야 한다. 일시 정지 처리 함수는 귀에 들리는 바로 그 소리를 멈춰야 한다. 브라우저는 명령을 문 앞까지 배달하지만 잘못된 제목이나 빈 함수를 고쳐 주지 않는다. 청취자는 한 박자 만에 잘못을 알아챈다.

잘 작동할 때 DJ는 보이지 않는다. 한 번 누르면 인터뷰가 멈추고, 다시 누르면 이어진다. 그 평범함을 위해 뒤에서는 여러 탭 가운데 하나가 선택된다.