%Blubb
%\documentclass[handout]{beamer}
\documentclass{beamer}

\newcommand{\bi}{\begin{itemize}}
\newcommand{\ei}{\end{itemize}}
\newcommand{\be}{\begin{enumerate}}
\newcommand{\ee}{\end{enumerate}}
\newcommand{\ii}{\item}
\newcommand{\ra}{$\Rightarrow$}

\mode<presentation>
{
	%\usetheme{Warsaw}
	\usetheme{Madrid}
	\setbeamercovered{transparent}
	% oder auch nicht
}

\usecolortheme{rose}

\usepackage[german]{babel}

\usepackage[latin1]{inputenc}

\usepackage{times}
%\usepackage[T1]{fontenc}
\usepackage[T1,OT1]{fontenc}

\usepackage{url}

\title{CLI vs. GUI}
\subtitle{Command Line Interface vs. Graphical User Interface}
\author[Hofer, Jordan]{Wanja Hofer, Johannes Jordan}
\institute[Uni Erlangen]{Friedrich-Alexander-Universität Erlangen-Nürnberg}
\titlegraphic{\includegraphics[scale=0.15]{matrix.jpg}}
\date[Usability / Software-Ergonomie]{Seminar Usability / Software-Ergonomie, WS 2005/06}
\subject{Usability}


% Falls eine Logodatei namens "university-logo-filename.xxx" vorhanden
% ist, wobei xxx ein von latex bzw. pdflatex lesbares Graphikformat
% ist, so kann man wie folgt ein Logo einfügen:

% \pgfdeclareimage[height=0.5cm]{university-logo}{university-logo-filename}
% \logo{\pgfuseimage{university-logo}}

% Folgendes sollte gelöscht werden, wenn man nicht am Anfang jedes
% Unterabschnitts die Gliederung nochmal sehen möchte.
\AtBeginSubsection[]
{
  \begin{frame}<beamer>
    \frametitle{Gliederung}
    \tableofcontents[currentsection,currentsubsection]
  \end{frame}
}

% Falls Aufzählungen immer schrittweise gezeigt werden sollen, kann
% folgendes Kommando benutzt werden:
%\beamerdefaultoverlayspecification{<+->}

% *****************************************************************
% Anfang Dokument
% *****************************************************************
\begin{document}

\begin{frame}
  \titlepage
\end{frame}


%Wanja
\begin{frame}
	\frametitle{R"atsel -- Was ist das?}
	\begin{center}
		\includegraphics[scale=0.4]{mouse1.jpg}
	\end{center}
\end{frame}


%Wanja
\begin{frame}
	\frametitle{R"atsel -- Aufl"osung}
	\begin{center}
		\includegraphics[scale=0.35]{mouse.jpg}\\
		Erfindung der Maus am Stanford Research Institute, 1963
	\end{center}
\end{frame}


%Wanja
\begin{frame}
  \frametitle{Gliederung}
  \tableofcontents
  % Die Option [pausesections] könnte nützlich sein.
\end{frame}


\section{Einf"uhrung}

\subsection{... zum Command Line Interface}

%Ford
\begin{frame}[fragile]
	\frametitle{CLI -- Definition}
	\begin{center}
	\includegraphics[scale=0.3]{bash.jpg}
	\end{center}

	\begin{block}{Definition (wikipedia.org)}
	[...] a method of interacting with a computer by giving it lines of textual commands [...]
	\end{block}

	\begin{block}{Form der Kommandos:}
	\begin{verbatim}
	[tueEtwas] [inWelcherArt] [mitWelcherDatei]
	\end{verbatim}
	\end{block}

	\bi
	\ii<2-> Eingabequellen: Keyboard oder Script
	\ii<3-> Art zeilenorientierte Programmiersprache
	\ei
\end{frame}

%Ford
\begin{frame}
	\frametitle{CLI -- Allgemeines}

	Kommandozeileninterpreter:
	\bi
	\ii<2-> BASIC (z.B. C64)
	\ii<3-> MS-DOS's command.com
	\bigskip
	\ii<4-> UNIX-Shells
	\ii<5-> bekanntester Vertreter: bash
	\ei
\end{frame}

\subsection{... zum Graphical User Interface}

%auch Ford
\begin{frame}
	\frametitle{Das Graphical User Interface}
	\begin{center}
	\includegraphics[scale=0.5]{windows.jpg}
	\end{center}

	\begin{block}{Definition (wikipedia.org)}
	[...] a method of interacting through a metaphor of direct manipulation of graphical images [...] in addition to text
	\end{block}

	\bi
	\ii<2-> WIMP: Windows, Icons, Menus, Pointing Device
	\ii<3-> basierend auf dem Konzept der klickbaren Hyperlinks
	\ei
\end{frame}



\section{Genauere Untersuchung der Kommandozeile}

\subsection{Gr"unde f"ur die M"achtigkeit}

%Ford
\begin{frame}
	\frametitle{Universalit"at -- Redirection und Piping}

	\begin{columns}[b]
		\begin{column}{0.7\textwidth}
			3 Standard-Kan"ale bei jedem Programm:
				\bi
				\ii Standard-Input
				\ii Standard-Output
				\ii Standard-Error
				\ei
				\bigskip
		\end{column}
		\begin{column}{0.3\textwidth}
			\includegraphics[scale=0.25]{channel.jpg}

		\end{column}
	\end{columns}

	\pause

	\begin{block}{Redirection}
	Umleitung von Kan"alen in / von Dateien
	\end{block}

	\pause

	\begin{block}{Piping}
	Umleitung von Kan"alen zu einem weiteren Programm\\
	\ra Kombination von einfachen Tools zu m"achtigen Werkzeugen
	\end{block}
\end{frame}

%Ford
\begin{frame}[fragile]
	\frametitle{Unterst"utzung -- Diagnose, Konfiguration}

	\includegraphics[scale=0.25]{diagnose.png}

	\bi
	\ii<1->Einfache Systemdiagnose:
	\ii[]<1->\textit{\glqq Schicke mir den Output von \texttt{lspci} und \texttt{dmesg | grep "hd"}!\grqq}

	\bigskip
	\pause

	\ii<2->Einfache Konfigurationsanweisungen:\\
	\ii[]<2->\texttt{echo 'option=wert' >> /etc/prog.config}
	\ei
\end{frame}

%Wanja
\begin{frame}
	\frametitle{Schnelligkeit}

	\begin{columns}[c]
		\begin{column}{0.55\textwidth}
			\begin{block}{TOP 3 Argumente f"ur ein CLI:}
				1. Schnelligkeit\\2. Schnelligkeit\\3. Schnelligkeit
			\end{block}
		\end{column}
		\begin{column}{0.4\textwidth}
			\includegraphics[scale=0.4]{tacho.jpg}
		\end{column}
	\end{columns}

	\vspace{1cm}

	\uncover<2->{
	\textbf{Gr"unde} (au"ser den bereits genannten):\\[1ex]
	\hspace{0.3cm}CLI-Programme meistens
	}
	\bi
	\ii<3-> hoch beherrschbar
	\ii<4-> hoch konfigurierbar
	\ii<5->\alert{Kombination von Ausf"uhrungsfolgen leicht skriptbar!}
	\ei
\end{frame}

%Wanja
\begin{frame}
	\frametitle{Weitere Vorteile}

	\begin{columns}[c]
		\begin{column}{0.2\textwidth}
			\includegraphics[scale=0.4]{vorteile.jpg}
		\end{column}
		\begin{column}{0.8\textwidth}
			\bi
			\ii<1-> einfache Portierbarkeit
			\ii<1->[\ra] gleiche Schnittstelle zum Anwender auf verschiedenen Systemen
			\ii<2-> Reaktionsfreudigkeit (wenig Overhead bei Programmgr"o"se und Ausf"uhrungsgeschwindigkeit)
			\ii<3-> schneller, plattform-"ubergreifender, sicherer Fernzugriff m"oglich
			\ii<4-> Maus braucht nicht benutzt werden: relevant v. a. beim Notebook und f"ur Behinderte
			\ei
		\end{column}
	\end{columns}
\end{frame}



\subsection{Probleme}

%Wanja
\begin{frame}
	\frametitle{Vertippen}

	\begin{columns}[c]
		\begin{column}{0.7\textwidth}
			\bi
			\ii<1-> Tippfehler "argerlich, da entweder
				\bi
				\ii<1-> kein Ergebnis (z. B. \texttt{command not found})
				\ii<2-> falsches Ergebnis (z. B. falsche Datei bearbeitet)
				\ei
			\ii<3-> \alert{Selbes Problem bei GUI: Verklicken \emph{und} Vertippen m"oglich}
			\ei
		\end{column}
		\begin{column}{0.3\textwidth}
			\includegraphics[scale=0.25]{typewriter.jpg}
		\end{column}
	\end{columns}

\end{frame}

%Ford
\begin{frame}
	\frametitle{Befehlswissen}

	\begin{center}
		\includegraphics[scale=0.2]{wissen.jpg}
	\end{center}

	\bi
	\ii<1-> Befehlswissen n"otig:
		\be
		\ii<1-> Welches Programm kann das, was ich will?
		\ii<2-> Wie hei"st die ausf"uhrbare Datei des Programms?
		\ii<3-> Welche Optionen passen die Verhaltensweise des Programms meinen W"unschen an?
		\ii<4-> Zus"atzlich: \textit{teilweise inkonsistente Nomenklatur}
		\ee
		\bigskip
	\ii<5-> \alert{Selbe Probleme (in etwas anderer Form) bei GUI}
	\ii<6-> Bei GUI Bedienung teilweise intuitiver
	\ei
\end{frame}

%Ford
\begin{frame}
	\frametitle{Spezialanwendungen}

	\begin{columns}[c]
		\begin{column}{0.3\textwidth}
			\includegraphics[scale=0.25]{cad.png}
		\end{column}
		\begin{column}{0.7\textwidth}
			CLI f"ur manche Anwendung schwer / nicht m"oglich
			\bi
			\ii<1-> Bildbearbeitung
			\ii<2-> Spezialanwendungen im selben Bereich (z. B. CAD)
			\ii<3-> z. T. Webbrowsing
			\ei
		\end{column}
	\end{columns}

\end{frame}

\subsection{Abhilfen}

%Wanja
\begin{frame}
	\frametitle{TAB-Completion}
	\begin{columns}[c]
		\begin{column}{0.7\textwidth}
			TAB-Completion vervollst"andigt
			\bigskip
			\bi
			\ii<1-> Programmnamen
			\ii<2-> Datei- / Verzeichnisnamen
			\ii<3-> \emph{und} Optionen (Argumente)
			\ei
			\bigskip
			\be
			\ii<4-> bis zur letzten eindeutigen Stelle im Namen
			\ii<5-> und zeigt die m"oglichen Werte ab dieser Stelle
			\ee
		\end{column}
		\begin{column}{0.3\textwidth}
			\includegraphics[scale=0.4]{tab.jpg}
		\end{column}
	\end{columns}

\end{frame}

%Wanja
\begin{frame}
	\frametitle{Dokumentation}

	\begin{center}
	\includegraphics[scale=0.3]{manuskript.jpg}
	\end{center}

	\bi
	\ii<1-> "Uber den Daumen gepeilt werden CLI-Programme generell besser dokumentiert als GUI-Programme
	\ii<2-> Oft "Ubersicht der Optionen bei unbekannter / fehlender Option
	\ii<3-> \alert{Manual-Pages werden mitgeliefert}
	\ii<4-> Manche Distributionen (z. B. Debian) nehmen keine Programme ohne Dokumentation auf
	\ei
\end{frame}


\section{Studie: The Command Line -- The Best Newbie Interface?}

\subsection{"Ubersicht / Voraussetzungen}

%Ford
\begin{frame}
	\frametitle{"Ubersicht}

	\bi
	\ii<1-> Versuch eines Doktoranden aus Cambridge
	\ii<2-> Versuchspersonen: neue Computerbenutzer
	\ii<3-> Untersuchungsziel: Einfachheit des CLI vs. GUI
	\ei

	\bigskip
	Versuchspersonen:

	\bi
	\ii<4-> technophob
	\ii<5-> \emph{nicht} dumm oder langsam -- viele Ingenieure
	\ii<6-> wollen PC benutzen, um Dinge einfacher und schneller erledigen zu k"onnen
	\ei
\end{frame}

\subsection{Ergebnisse}

%Ford
\begin{frame}
	\frametitle{Eigenschaften der Kommandozeile (1)}

	\be
	\ii Dialogorientierung
		\bi
		\ii Fragen stellen \ra Antworten erhalten
		\ii Eindimensionales Objekt der Konzentration: Cursor
		\ii Gef"uhl der Superiorit"at
		\ei

	\bigskip
	\pause

	\ii Aufgabenorientierung
		\bi
		\ii Konzentration auf \emph{eine} Aufgabe
		\ii Ungest"orte Ausf"uhrung von Aufgaben im Hintergrund m"oglich
		\ei
	\ee
\end{frame}

%Ford
\begin{frame}
	\frametitle{Eigenschaften der Kommandozeile (2)}

	\be
	\ii Erforschbarkeit
		\bi
		\ii Konsistentes Layout der Manual-Pages
		\ii Hyperlinkartige Verkn"upfung der Kommandos
		\ii TAB-Completion und Mini-Manual
		\ei

	\bigskip
	\pause

	\ii Ortsbewusstsein
		\bi
		\ii hierarchisches Dateisystem generell erst unverst"andlich
		\ii Kommandozeile zeigt immer Ort an, an dem man sich befindet
		\ii \glqq Man kann dem PC nicht einfach durch eine Datei sagen, welche Buttons er klicken soll\grqq
		\ei

	\bigskip
	\pause

	\ii Angemessene Benachrichtigung
		\bi
		\ii \glqq Man wei"s immer, was gerade passiert\grqq
		\ii GUI-Pop-Ups werden zu oft unachtsam weggeklickt, da zu h"aufig
		\ei
	\ee
\end{frame}

\section{Zusammenfassung und Fazit}

%Wanja
\begin{frame}
	\frametitle{Zusammenfassung}

	\begin{center}
	\includegraphics[scale=0.3]{fight.png}
	\end{center}

	\bi
	\ii<1-> CLI ist m"achtig
	\ii<2-> GUI f"ur Spezialzwecke besser geeignet
	\ii[]
	\ii<3->[\ra] beste Wahl / Kombination benutzerabh"angig
	\ei

\end{frame}

%Wanja
\begin{frame}
	\frametitle{Fazit}

	\begin{block}{Linux:}
	Freie Wahl des Window Managers f"ur alle!
	\end{block}

	\vspace{1cm}

	\begin{center}
	\includegraphics[scale=0.25]{kde.png}
	\includegraphics[scale=0.25]{gnome.png}
	\includegraphics[scale=0.25]{ion.png}
	\end{center}

\end{frame}


\section*{Quellen}

\begin{frame}[allowframebreaks]
	\frametitle{Quellen}

	\begin{block}{Ion ... search for a graphical \emph{usable} interface}
	\url{http://modeemi.fi/~tuomov/ion/}
	\end{block}

	\bi
	\ii Wikipedia: Command line interface
	\ii[] \alert{http://en.wikipedia.org/w/index.php?title=Command\_line\_interface}
	\ii Wikipedia: Mouse (computing)
	\ii[] \alert{http://en.wikipedia.org/w/index.php?title=Mouse\_(computing)}
	\ii Command line vs. GUI
	\ii[] \alert{http://www.computerhope.com/issues/ch000619.htm}
	\ii Mit flinken Fingern -- Die Power der Kommandozeile
	\ii[] \alert{http://www.heise.de/ct/99/12/170/}
	\ii The Command Line -- The Best Newbie Interface?
	\ii[] \alert{http://osnews.com/printer.php?news\_id=6282}
	\ii GUI vs. CLI: A Qualitative Comparison
	\ii[] \alert{http://www.osnews.com/printer.php?news\_id=4418}
	\ii Linux: GUI vs. Command Line
	\ii[] \alert{http://linux.about.com/cs/softofficeutility/a/gui\_cli\_p.htm}
	\ei


\end{frame}

\end{document}
