Dictionary definitions of \emph{media synchronization} typically refer to
presentation of multiple instances of media at the same moment in time. Related terms
are \emph{media orchestration} and \emph{media timing}, possibly emphasizing more the importance of
media control and timed scheduling of capture and playback. In this chapter we use
the term \emph{media synchronization} in a broad sense, as a synonym to
\emph{media orchestration} and \emph{media timing}. We also limit the
definition in a few regards:

\begin{itemize}
\item{Media synchronization on the Web is client-side and clock-based. The latencies and heterogeneity of the Web environment requires a clock-based approach for acceptable synchronization.}
\item{Media synchronization involves a media instance and a clock. The term \emph{relative synchronization} is reserved for comparisons between two or more synchronized media instances.}
\end{itemize}

\subsection{Challenges}


\begin{table}
\centering
\caption{Common challenges for media synchronization on the Web.}
\label{tab:challenges}
\setlength{\tabcolsep}{10pt}
\begin{tabular}{cc}
\hline\noalign{\smallskip}
Synchronization challenges & Use-cases \\
\noalign{\smallskip}\svhline\noalign{\smallskip}
across media sources & multi-angle video, ad-insertion \\
across media types & video, WebAudio, animated map \\
across iframes & video, timed ad-banner \\
across tabs, browsers, devices & split content, interaction \\
across platforms & Web, native, broadcast \\
across people and groups & collaboration, social \\
across Internet & global media experiences \\
\noalign{\smallskip}\hline\noalign{\smallskip}
\end{tabular}
\end{table} 



Media synchronization has a wide range of use-cases on the Web, as illustrated
by Table~\ref{tab:challenges}. Well known use-cases for synchronization within
a single Web page include multi-angle video, accessibility features for video,
ad-insertion, as well as media experiences spanning different media types,
media frameworks, or iframe boundaries. Synchronization across Web pages allow
Web pages to present alternative views into a single experience, dividing or
duplicating media experiences across devices. Popular use-cases in the home
environment involve collaborative viewing, multi-speaker audio, or big screen
video synchronized with related content on handheld devices. Use-cases towards
the end of the list target global scenarios, such as distributed capture and
synchronized Web visualizations for a global audience.

\subsection{Approach}

The challenges posed by all these use-cases may be very different in terms of
complexity, requirements for precision, scale, infrastructure and more. Still,
we argue that a single, common solution would be beneficial. Implementing
specific solutions for specific use-cases is very expensive and time-consuming, 
and lays heavy restrictions on reusability. Even worse,
circumstances regarding synchronization may change dynamically during a media
session. For instance, a smartphone involved in synchronization over the local
network will have to change its approach to media synchronization once the user leaves
the house, or switches from WiFi to the mobile network. Crucially though, by
solving media synchronization across Internet, all challenges listed above are
solved by implication. For instance, if video synchronization is possible
across Web pages on the Internet, then synchronizing two videos within the
same Web page is just a special case. It follows that the general solution to
media synchronization on the Web is distributed and global in nature. Locality
may be exploited for synchronization, yet only as optimization.
