DELTA 118 0 200 SVN|nnn% % requirements.tex % % Requirements for the File Browser % % $Author$ % $Id$ \documentclass{article} \title{File Browser Requirements} \author{Morgan Conbere} \begin{document} \maketitle \section{introduction} The scope of our original product was a user interface for a Linux digital video recorder (DVR). In the requirements for the overall product, we decided to create a module that the user would need some ability to browse through files stored on the device or on the network. Given that the user was using a large television as the main display and a remote control similar to a WiiMote for input, the paradigm of a ``file browser'' was going to be much different for our product than it would be for a simple desktop UI. ``User Interface'' is a very broad term. In our initial product it was thought of as the control structure that managed all of the user's interactions with a video playing device. When we designed the top level architecture of the system, many components necessary to satisfy our requirements were created that had little to do with the visual display to the screen. The component of the architecture that did handle this was called the \emph{user interface component}. The user interface component had a number of modules inside of it. It was in charge of handling user input and interaction and the resulting display of information to the screen. In general it was to act as an interface overlayed on top of the currently playing media in the background (handled by a separate compononent. One module inside the user interface was the ``file browser.'' The file browser inherited requirements from the overall requirements of the system. Specifically, it had to be shiny, configurable, quick to respond (no load times), and it had to respond to input from a WiiMote. \section{Functional Requirements} The requirements of the entire product brought about a few specific functionality based requirements. These requirements specify how the module must function. \begin{enumerate} \item Display information from the filesystem hierarchy to user \begin{enumerate} \item Display specific visual cue related to each file type \item Provide intuitive abstraction of directory structure \item Provide an easy way to sort and filter data using the search interface \item Do not display more information than the user needs at any time \end{enumerate} \item React to user input from a WiiMote \begin{enumerate} \item Intuitive interface provided by WiiMote \item WiiMote used as a pointing device \item WiiMote buttons used for selection of items \end{enumerate} \end{enumerate} \section{Performance Requirements} \begin{enumerate} \item Short browser load times \begin{enumerate} \item Transitions between directories must be instant as observed by the user \end{enumerate} \item Fast frame rendering \begin{enumerate} \item Frame movement must be rendered in real time \item Users must find the interface ``snappy'' \end{enumerate} \end{enumerate} \end{document} ENDREP id: ba.0.r140/3092 type: file pred: ba.0.r137/2451 count: 4 text: 140 0 3069 3054 69d33220669d6d0bae186a83dd98094c props: 118 213 36 0 bb5f016c1911f012b68590469f5099e8 cpath: /project4/Morgan/requirements.tex copyroot: 0 / PLAIN K 8 Makefile V 17 file bm.0.r139/90 K 10 design.pdf V 20 file bn.0.r135/84320 K 10 design.tex V 18 file bh.0.r125/222 K 10 index.html V 19 file bk.0.r134/1209 K 14 postmortem.pdf V 20 file bo.0.r135/84588 K 14 postmortem.tex V 18 file bj.0.r127/222 K 16 requirements.pdf V 20 file bq.0.r138/25872 K 16 requirements.tex V 19 file ba.0.r140/3092 K 18 specifications.pdf V 20 file br.0.r135/85296 K 18 specifications.tex V 18 file bg.0.r124/973 K 13 testcases.pdf V 20 file bp.0.r135/84864 K 13 testcases.tex V 18 file bi.0.r128/120 END ENDREP id: b9.0.r140/3863 type: dir pred: b9.0.r139/849 count: 16 text: 140 3316 534 534 dc5be6be933676a58c0bf15de1a7e5bc cpath: /project4/Morgan copyroot: 0 / PLAIN K 5 Jason V 18 dir aq.0.r112/2989 K 3 Jay V 15 dir bl.0.r132/0 K 3 Joe V 18 dir ay.0.r129/4724 K 6 Morgan V 18 dir b9.0.r140/3863 END ENDREP id: ap.0.r140/4164 type: dir pred: ap.0.r139/1149 count: 41 text: 140 4017 134 134 e4ee0f4ab14582c04fa59b62f24568c9 cpath: /project4 copyroot: 0 / PLAIN K 8 project2 V 17 dir 1.0.r30/25403 K 8 project3 V 17 dir 22.0.r98/1882 K 8 project4 V 18 dir ap.0.r140/4164 END ENDREP id: 0.0.r140/4438 type: dir pred: 0.0.r139/1424 count: 140 text: 140 4312 113 113 8dbe75e6619d1fc65bd560fb1e81b55b cpath: / copyroot: 0 / ba.0.t139-1 modify true false /project4/Morgan/requirements.tex 4438 4577