\documentclass[hyperref={unicode,pdfpagelabels=false}]{beamer}

\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[bulgarian]{babel}
\inputencoding{utf8}

\usepackage{default}
\usepackage{colortbl}
\usepackage{array}

\title{eXtensible Messaging and Presence Protocol}
\subtitle{стандартът за бърза комуникация}
\author{Николай Йорданов}
\institute{htpp://tuka.be | pishi@tuka.be}
\date{OpenFest Габрово - 2009}

\selectlanguage{bulgarian}

\let\Tiny=\tiny


\begin{document}

\frame[t,plain]{\titlepage}

\begin{frame}{Какво е XMPP?}
\begin{itemize}[<+->]
 \item XML-базиран протокол за бързи съобщения и информация за потребителското състояние
\item децентрализиран
\item отворен стандарт
\item сигурен
\item позволяващ промени
\end{itemize}

\end{frame}

\begin{frame}{Кой какво ползва?}

\begin{tabular}{>{\bfseries}lm{5.9cm}>{\slshape}m{2cm}}
 AIM & 50 милиона ``активни'' регистрации &2006\\
 ICQ & 15 милиона ``активни'' &2006\\
 Skype & 15 милиона максимум онлайн &2009\\
 Y!M & 248 милиона регистрации &2008\\
 Windows Live & 300 милиона ``активни'' &реклама на Windows 7 
\end{tabular}
 
\end{frame}

\begin{frame}{А XMPP?}
Поради децентрализацията, XMPP е прикрит под няколко имена:

 \begin{tabular}{>{\bfseries}lm{7cm}}
  Jabber & 10-20 милиона\\
  LiveJournal Talk & 14-15 милиона\\
  Gizmo5 & няма данни (вероятно около 3-4 милиона)\\
  Google Talk & няма данни (всички, притежаващи Google Account)
 \end{tabular}

\end{frame}

\begin{frame}{Някои основни забележки}
 
 \begin{itemize}[<+->]
  \item всеки потребител може да използва един акаунт, за да се логне от различни места (наричани ресурси)
\item всеки ресурс има приоритет, като съобщенията се получават от ресурсът с най-висок приоритет\\
\only<2>{
  \vspace{1cm}
  \small{
  \hspace{2.5cm}\begin{minipage}[b]{7cm}
  \textsc{повечето клиенти предлагат възможността за автоматична промяна на приоритета спрямо състоянието\\
  тоест, ако \textbf{home} е ``Отсъстващ'', а \textbf{laptop} е ``Включен'', съобщенията се изпращат до \textbf{laptop}}
  \end{minipage} 
  }
}
\item всеки \textbf{JID} (Jabber ID) е в следния вид: \textbf{user@domain.com}
\item ако искаме да изпратим съобщението към точно определен ресурс, можем да използваме адрес от вида \textbf{user@domain.com/resource}

 \end{itemize}
 
\end{frame}

\begin{frame}{Как обичайно протича едно изпращане на съобщение?}

aaa@servera.com иска да изпрати съобщение на bbb@serverb.com

\begin{itemize}[<+->]
 \item клиентът на aaa@servera.com извършва предварителна обработка
 \item клиентът на aaa@servera.com изпраща съобщението до servera.com 
 \item servera.com проверява дали serverb.com е блокиран и ако е изпращането се прекратява
 \item servera.com изпраща съобщението на serverb.com
\item serverb.com получачава съобщението и проверява дали servera.com не е блокиран
\item ако servera.com е блокиран изпращането се прекратява
\item ако bbb@serverb.com е онлайн, serverb.com му изпраща съобщението
\item в противен случай съобщението се запазва на сървъра до появяването на bbb@serverb.com
\item клиентът на bbb@serverb.com обработва съобщението и го визуализира
\end{itemize}
 
\end{frame}

\begin{frame}{Защо ми е XMPP акаунт?}
 XMPP поддържа ``услуги'' - полезни програми, работещи на сървъра.\\
 \vspace{0.5cm}
 \uncover<2>{
   \textbf{транспорт} - това е услуга, преобразуваща и препращаща XMPP съобщението към друг протокол/мрежа\\Така можете да комбинирате всичките си IM акаунти само в един, без това да повлияе по някакъв начин на комуникацията с отсрещната страна.
 }
 
 \uncover<3->{
   XMPP е сигурен - възможно е подписване на съобщенията с PGP (Pretty Good Privacy)
 }
\end{frame}


\begin{frame}{Просто текст?}
 Не.\\\vspace{1cm}
 
 \uncover<1>{
  \textbf{Jingle} - P2P разширение на XMPP протокола, позволяващо пренос на мултимедия в реално време\\
 }
 \uncover<2>{
  \textbf{Файлов трансфер} - използва се външен протокол (например HTTP) или данните се кодират в base64 и се предават като обикновено съобщение
 }
\end{frame}

\begin{frame}{Перфектен ли е?}
 \begin{itemize}
  \item няма възможност за предаване на двоични съобщение - файловете не могат да се изпращат непроменени
  \item голяма част от трафика е ``безсмислена'' 
 \end{itemize}

\end{frame}


\begin{frame}{Най-накрая свърши! Омръзнах ли ви?}
\vspace{1cm}
 {\LARGE Остана време и за въпроси ;)}
\\\vspace{1cm}\vfill
 А ако някой иска да ме намери след конференцията:\\\vspace{0.3cm}
email: \textbf{pishi@tuka.be}\\
XMPP: \textbf{nplus@jabber.minus273.org}

\vfill
\begin{flushright}
 {\Tiny CC-by 2.5/bg}
\end{flushright}

\end{frame}


\end{document}
