Changeset 87 for presentations


Ignore:
Timestamp:
Nov 18, 2006, 11:09:38 AM (19 years ago)
Author:
ktk
Message:

Imported Community-Presentation

Location:
presentations/wse06
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • presentations/wse06/wse06.tex

    r86 r87  
    6363
    6464\begin{frame}
    65 \frametitle{Outline - Voyager}
    66 \tableofcontents[part=1,hideallsubsections]
    67 \end{frame}
    68 
    69 \part{Voyager}
     65\frametitle{Outline}
     66\tableofcontents[hideallsubsections]
     67\end{frame}
     68
    7069\section{History}
    7170
     
    7473This is not a very technical presentation!
    7574
    76 (Please don't walk out now ;-)
     75(Please don't leave the room now ;-)
    7776\end{alertblock}
    7877\end{frame}
     
    142141\begin{frame}[allowframebreaks=0.6]
    143142\frametitle{The Idea}
    144 Wind of change
    145 \begin{itemize}[<+->]
     143The Story so Far\ldots
     144\begin{itemize}
    146145  \item Long process of thinking about the future for several years
    147146  \item First idea with Kernel of MacOS X in Summer 2004
     
    159158\end{frame}
    160159
    161 \subsection{The Goal}
     160\begin{frame}
     161\frametitle{What Voyager \textit{is not}}
     162\begin{itemize}
     163  \item Voyager is \textbf{not} the OS/2 and eCS killer!
     164  \item netlabs.org will \textbf{not} stop development for eCS software
     165  \item Voyager is not something you can use right now (yet)
     166  \item It is not vapoware
     167\end{itemize}
     168\end{frame}
     169
    162170\begin{frame}
    163171\frametitle{The Goal}
    164172There are many free desktop environments available, like KDE and GNOME. Our focus is different:
    165 \begin{itemize}
    166   \item SOM like object model, binary compatible (unlike everything else out there on Unix)
    167   \item provide a WPS like desktop environment (OS/2 "Feeling")
    168   \item well integrated applications (drag and drop, CUA, etc)
    169   \item focus on localization right from the beginning (Unicode/UTF-8)
    170   \item keep unique ideas like IOProcs and reimplement them
    171   \item use as much existing code/apps as possible (as long as it makes sense), don't reinvent the wheel
    172 \end{itemize}
    173 \end{frame}
    174 
    175 \subsection{The middle-term Goal}
    176 \begin{frame}
    177 \frametitle{The middle-term Goal}
    178 Software takes time to grow, usually  more than one thinks. So it is important
    179 to have a middle-term strategy as well:
    180 \begin{itemize}
    181   \item the development of this project should be possible on many platforms, including eCS
    182   \item in parallel, we should provide support for the most popular Unix-like systems at the moment
    183   \item eCS developers should be motivated to use SOM for new ideas because code can be reused
    184   \item users can continue to use eCS as we know it today and still get new features
    185   \item in middle-term we can start a smooth migration to the new desktop
    186 \end{itemize}
    187 \end{frame}
    188 
    189 
    190 \subsection{The long-term Goal}
    191 \begin{frame}
    192 \frametitle{The long-term Goal}
    193 While eCS is a platform that works fine nowadays we won't have any more support from IBM for new hardware, so in long-term we need something else:
    194 \begin{itemize}
    195   \item a team of interested developers might start working on an OS/2 compatibility layer for Unix like systems
    196   \item in long term we need a new kernel, that discussion is absolutely open right now
    197   \item most of the OS/2 coders don't like the Linux Design so other options are preferred
    198   \item if you can help out on that project, you are very welcome :)
    199   \item final goal: our own distribution based on existing and new software
    200   \item and finally: world domination (aka \it{Stage 3})
     173\begin{itemize}[<+->]
     174  \item SOM like object model, binary compatible (unlike everything else out
     175  there on Unix-like systems)
     176  \item Provide a WPS like desktop environment (\textit{OS/2 Feeling})
     177  \item Well integrated applications (drag \& drop, CUA, etc)
     178  \item Focus on localization right from the beginning (Unicode/UTF-8/16/32)
     179  \item Keep unique ideas like IOProcs and reimplement them
     180  \item Use as much existing code/apps as possible (as long as it makes sense),
     181  don't reinvent the wheel
     182  \item Document what we do!
     183\end{itemize}
     184\end{frame}
     185
     186\begin{frame}
     187\frametitle{Development Path}
     188\begin{itemize}[<+->]
     189  \item Development of Voyager should be possible on many platforms, starting on
     190  eCS
     191  \item Support for the most popular Unix-like systems is required
     192  \item eCS developers should be motivated to use SOM for new ideas because
     193  code can be partially reused
     194  \item Users can continue to use eCS as we know it today and still get new features
     195  \item Part-by-part replacement for smooth migration
     196\end{itemize}
     197\end{frame}
     198
     199\begin{frame}
     200\frametitle{The Vision}
     201There is more to do\ldots
     202\begin{itemize}[<+->]
     203  \item A team of interested developers might start working on an OS/2 compatibility layer for Unix-like systems
     204  \item In long term we need a new kernel (discussion is open)
     205  \item Most of the OS/2 coders don't like the Linux design so other options are preferred
     206  \item If you can help out on that project, you are very welcome :)
     207  \item Final goal: our own distribution based on existing and new software
     208  \item And finally: \textit{Phase 3} (aka \textit{World Domination\texttrademark})
    201209\end{itemize}
    202210\end{frame}
    203211
    204212\section{The Voyager Project}
    205 \subsection{Voyager Components}
    206 \begin{frame}
    207 \frametitle{Voyager Components}
    208 \begin{itemize}
    209   \item Voyager Object Model
    210   \item Window Manager (for Cairo and Xlib)
    211   \item Cairo as GPI replacement (opinions?)
     213\subsection{Introduction}
     214\begin{frame}
     215\frametitle{The Codename}
     216Why \textit{The Voyager Project}?
     217\begin{itemize}[<+->]
     218  \item Fits into OS/2 codenames (Star Trek)
     219  \item NASA Spacecraft: Probe since 1977, longest-lasting mission of NASA,
     220  visited Jupiter and Saturn and provided detailed images of them
     221  \item It is really just a codename, not a definitive name for a product.
     222\end{itemize}
     223\end{frame}
     224
     225\subsection{Design of Voyager}
     226\begin{frame}
     227\frametitle{Voyager Components, now}
     228\begin{itemize}[<+->]
     229  \item Netlabs Object Model (SOM)
     230  \item Voyager Desktop (WPS)
     231  \item Cairo (GPI/GDI, what Peter loves ;)
     232  \item GTK+ (GUI Toolkit, PM)
     233  \item Triton (Multimedia Subsystem, MMPM/MMOS2)
     234\end{itemize}
     235\end{frame}
     236
     237\begin{frame}
     238\frametitle{Voyager Components, next steps}
     239\begin{itemize}[<+->]
     240  \item Proper security concept
     241  \item Neptune (Window Manager for Cairo and Xlib)
    212242  \item OpenGL based Cairo backend
    213243  \item Xorg OpenGL device drivers (no Xlib necessary in mid-term)
    214   \item Xlib - see Everblue presentation
    215   \item open question: Input Handling - who can help?
    216   \item anything missing?
    217 \end{itemize}
    218 \end{frame}
    219 
    220 \subsection{Voyager Object Model}
    221 \begin{frame}
    222 \frametitle{Voyager Object Model}
    223 \begin{itemize}
     244\end{itemize}
     245\end{frame}
     246
     247\section{Voyager Components}
     248\subsection{Under Development}
     249
     250\begin{frame}
     251\frametitle{Netlabs Object Model}
     252\begin{itemize}[<+->]
    224253  \item SOM is a binary compatible object model, no need to recompile objects (unlike on GNOME for example)
    225   \item there are some design documents from IBM itself (published in ACM)
    226   \item there is quite some documentation available written by former IBM employees
    227   \item Chris Wohlgemuth started to reimplement SOM from scratch, see Voyager Object Model presentation
    228   \item drawback: not many people know SOM - but we are used to that fact as OS/2 users ;-)
    229 \end{itemize}
    230 \end{frame}
    231 
    232 \subsection{Cairo}
     254  \item There are some design documents from IBM itself (published in ACM)
     255  \item There is quite some documentation available written by former IBM employees
     256  \item Chris Wohlgemuth started to reimplement the concepts under the name NOM
     257  \item This is the base for a WPS like desktop
     258  \item Chris: Status? :-)
     259\end{itemize}
     260\end{frame}
     261
     262\begin{frame}
     263\frametitle{NOM Design}
     264Rather complex design ;-)
     265FIXME
     266\end{frame}
     267
     268\begin{frame}
     269\frametitle{Voyager Desktop}
     270\begin{itemize}[<+->]
     271  \item FIXME
     272\end{itemize}
     273\end{frame}
     274
    233275\begin{frame}
    234276\frametitle{Cairo}
    235 \begin{itemize}
     277\begin{itemize}[<+->]
    236278  \item modern, open source, cross-platform 2D API
    237279  \item PDF/PS-like 2D API (hint: MacOS X Quartz)
     
    242284\end{frame}
    243285
    244 \subsection{Voyager Security}
    245 \begin{frame}
    246 \frametitle{Voyager Security}
    247 Most desktops nowadays do have security problems, we try to do it better:
    248 \begin{itemize}
    249   \item each developer should think about the consequences of his code in terms of security
    250   \item peer-reviews of sourcecode by other developers
    251   \item there are many papers available regarding security, many are already linked in the Voyager wiki
    252   \item a binary object model doesn't make it easier, Apple had to learn that as well
    253   \item use existing research work know how (like DOpE - http://os.inf.tu-dresden.de/dope/)
    254 \end{itemize}
    255 \end{frame}
    256 
    257 
    258 \subsection{Toolkit}
    259 \begin{frame}
    260 \frametitle{Toolkit}
    261 \begin{itemize}
    262   \item modern toolkits are much simpler to use than PM
    263   \item GTK+ or qt are the options for existing ones, main toolkit will be GTK+
    264   \begin{itemize}
    265     \item GTK+ is C, wrappers for all kind of languages
    266     \begin{itemize}
    267       \item SWT for GTK+
    268       \item wxWidgets on top of GTK+
    269       \item Firefox \& Thunderbird are using GTK+
    270     \end{itemize}
    271     \item qt is C++ only, one should support it
    272   \end{itemize}
    273   \item We don't need yet another toolkit \texttrademark
    274 \end{itemize}
    275 \end{frame}
    276 
    277 \subsection{Window Manager}
    278 \begin{frame}
    279 \frametitle{Window Manager}
    280 \begin{itemize}
     286\begin{frame}
     287\frametitle{GTK+ Toolkit}
     288\begin{itemize}[<+->]
     289  \item Most used toolkit on Unix-like systems nowadays
     290  \item LGPL license (binary linking possible, unlike qt)
     291  \item Abstraction layer called GLIB
     292  \item Ongoing development
     293  \item wxWidgets and SWT are implemented on top of it
     294  \item Not yet available on eCS, PM port is evaluated right now
     295\end{itemize}
     296\end{frame}
     297
     298\begin{frame}
     299\frametitle{Triton}
     300The OS/2 way to abstract codecs and such stuff is quite unique
     301\begin{itemize}[<+->]
     302        \item FIXME
     303\end{itemize}
     304\end{frame}
     305
     306\subsection{Next Steps}
     307
     308\begin{frame}
     309\frametitle{Neptune Window Manager}
     310A WM has to take care of
     311\begin{itemize}[<+->]
    281312  \item the open client windows
    282313  \item the client stacking order
     
    287318  \item ...
    288319\end{itemize}
    289 \end{frame}
    290 
    291 \subsection{IOProc Replacement}
    292 \begin{frame}
    293 \frametitle{IOProc Replacement}
    294 The OS/2 way to abstract codecs and such stuff is quite unique
    295 \begin{itemize}
    296   \item see \it{IOProc Replacement} presentation
    297 \end{itemize}
    298 \end{frame}
    299 
    300 \section{OpenGL Backend}
    301 
    302 \subsection{Motivation}
    303 \begin{frame}
    304 \frametitle{Motivation}
    305 \begin{itemize}
     320Status: Prototype done, developer is very busy with other things. Sourcecode
     321of prototype available soon.
     322\end{frame}
     323
     324\begin{frame}
     325\frametitle{OpenGL Backend}
     326\begin{itemize}[<+->]
    306327  \item OpenGL is the standard nowadays, only MS is doing their own game mit DirectX
    307328  \item OpenGL allows fancy stuff like blending and 3D effects, no fun on 2D Hardware
     
    311332\end{frame}
    312333
    313 \subsection{Options Today}
    314 \begin{frame}
    315 \frametitle{Options Today}
    316 \begin{itemize}
    317   \item DirectX based Device Drivers - proprietary, binary only and not OpenGL
    318   \item Xorg device driver backend, open source and used on most Unix platforms, supports OpenGL for new cards (ATI and Nvidia)
    319   \item SNAP does not have OpenGL and we don't see that changing in the near future
    320 \end{itemize}
    321 Our choice should be Xorg Device Driver backend
    322 \end{frame}
    323 
    324 \subsection{Xorg OpenGL Design}
    325334\begin{frame}
    326335\frametitle{Xorg OpenGL Design}
    327336\begin{columns}
    328337\column[T]{5cm}
    329 %                       \includegraphics[width=3cm]{ogl-backend.pdf}
     338\includegraphics[width=3.5cm]{ogl-backend.pdf}
    330339\column{5cm}
    331340Simplified design of the Xorg OpenGL backend (taken from official docs), Xlib stripped out
     
    333342\end{frame}
    334343
    335 \section{OS/2 and eCS Compatiblity}
    336 \subsection{Some Ideas}
     344\subsection{OS/2 and eCS Compatiblity}
    337345\begin{frame}
    338346\frametitle{Some Ideas}
    339 People do ask for binary compatibility. We see the following option:
    340 \begin{itemize}
    341   \item use a pure VM based solution - easy and will work well, already possible
    342   \item rewrite the whole OS as proposed by some people - unrealistic, waste of ressources
    343   \item implement a minimal OS/2 personality on top of an existing kernel and get binary compatibility to work
    344 \end{itemize}
    345 \end{frame}
    346 
    347 \subsection{OS/2 OS Personality}
     347People do ask for binary compatibility. We see the following options:
     348\begin{itemize}[<+->]
     349  \item Use a pure VM based solution - easy and will work well, already possible
     350  \item Rewrite the whole OS as proposed by some people - unrealistic, waste of ressources
     351  \item Implement a minimal OS/2 personality on top of an existing kernel and get binary compatibility to work
     352\end{itemize}
     353\end{frame}
     354
    348355\begin{frame}
    349356\frametitle{OS/2 OS Personality}
    350357To get a minimal OS/2 personality to work we would have to implement:
    351 \begin{itemize}
    352   \item DOS*, MOU*, KBD* and VIO* API's
    353   \item LX loader
     358\begin{itemize}[<+->]
     359  \item \texttt{DOS*}, \texttt{MOU*}, \texttt{KBD*} and \texttt{VIO*} API's
     360  \item LX loader (Knuts kLoader)
    354361  \item GRADD driver for OpenGL backend
    355   \item what is missing?
    356 \end{itemize}
    357 Some things exist, like JdeBP - unfortunately not open source
    358 \end{frame}
    359 
    360 \subsection{GRADD on OpenGL}
     362  \item Some other things
     363\end{itemize}
     364Some things exist, like JdeBP - unfortunately not open source. Work on some
     365parts started, much work left.
     366\end{frame}
     367
    361368\begin{frame}
    362369\frametitle{GRADD on OpenGL}
    363370\begin{columns}
    364371\column{3cm}
    365 %                       \includegraphics[scale=0.3]{ogl-gradd.pdf}
     372\includegraphics[scale=0.3]{ogl-gradd.pdf}
    366373\column{6cm}
    367 \begin{itemize}
     374\begin{itemize}[<+->]
    368375  \item OpenGL GRADD driver could be  used on OS/2 already, Xorg should work (with some effort)
    369   \item As soon as a OS/2 personality would work, one could migrate to the new kernel
     376  \item As soon as a OS/2 personality would work, one could migrate to the new
     377  kernel
     378  \item This might become an important project for eCS anyway
    370379\end{itemize}
    371380\end{columns}
    372381\end{frame}
    373382
    374 
    375 
    376 \section{Project Management}
    377 \subsection{Documentation}
    378 \begin{frame}
    379 \frametitle{Documentation}
    380 Many developers complain about the quality of documentation of some open source projects
    381 \begin{itemize}
    382   \item Apple provides very good API docs \& tutorials for Darwin
    383   \item we must provide that as well, right from the beginning
    384   \item it should be very easy for new people to get an overview of the projects
    385   \item see How to organize netlabs.org Software Projects presentation
    386 \end{itemize}
    387 \end{frame}
    388 
    389 \subsection{Coding Guidelines}
    390 \begin{frame}
    391 \frametitle{Coding Guidelines}
    392 \begin{itemize}
    393   \item CUA, see http://en.wikipedia.org/wiki/Common\_User\_Access
    394   \item consistent class \& method names (see Darwin Kernel Programming Guide)
    395   \item Subversion for sourcecode management
    396   \item TRAC for milestones, bugs, ToDos, source browsing
    397   \item see http://svn.netlabs.org/libc as an example
    398   \item goal: make it easy for new developers to join the projects
    399 \end{itemize}
    400 \end{frame}
    401 
    402383\subsection{License}
    403 \begin{frame}
    404 \frametitle{License}
    405 \begin{itemize}
    406   \item we do not want to use (L)GPL for our own code, APL or MPL are candidates
     384
     385\begin{frame}
     386\frametitle{Voyager License}
     387\begin{itemize}[<+->]
     388  \item we do not want to use GPL for our own code for various reasons
    407389  \item the object model allows binary code, GPL would make that difficult
    408390  \item we might use (L)GPLed code for parts when it makes sense to do that
    409   \item goal: make the project attractive for commercial vendors right from the beginning
    410 \end{itemize}
    411 \end{frame}
    412 
    413 \section{What's Next?}
    414 \subsection{Next Steps}
    415 \begin{frame}
    416 \frametitle{Next Steps}
    417 We try to attract developers at this stage already:
    418 \begin{itemize}
    419   \item build environment on OS/2
    420   \item GTK+ for OS/2 (via Everblue)
    421   \item build environment on Linux
    422   \item more? FreeBSD, MacOS X, Solaris etc volunteers needed :)
    423   \item mailinglist for discussions
    424   \item The Design of Voyager - online design document
    425 \end{itemize}
    426 http://wiki.netlabs.org/index.php/Voyager has more information!
    427 \end{frame}
    428 
    429 \subsection{Timeline}
     391  \item LGPL/CDDL dual license for Voyager core
     392  \item APL for sample applications
     393\end{itemize}
     394\end{frame}
     395
     396\section{Roadmap}
     397\subsection{Work in Progress}
     398
    430399\begin{frame}
    431400\frametitle{Timeline}
    432 \begin{itemize}
    433   \item first sourcecode online in a few weeks (hopefully)
    434   \item first version of the design document to be released before Q3/06
    435   \item new server for netlabs.org, new CMS with dedicated Voyager pages (work in progress)
    436   \item goal: provide development environments for at least two platforms before end of 2006
    437 \end{itemize}
    438 \end{frame}
    439 
    440 \subsection{Join the Project}
     401\begin{itemize}[<+->]
     402  \item First sourcecode is online!
     403  \begin{itemize}[<+->]
     404    \item Triton
     405    \item Netlabs Object Model
     406  \end{itemize}
     407  \item First version of \textit{The Design of Voyager} got released in October 2006
     408  \item New server for netlabs.org, new CMS with dedicated Voyager pages (work in progress)
     409  \item Goal: provide development environments for at least two platforms ASAP
     410\end{itemize}
     411\end{frame}
     412
    441413\begin{frame}
    442414\frametitle{Join the Project}
    443 \begin{itemize}
    444   \item check the Voyager Wiki and FAQ, monitor netlabs.org pages
    445   \item join the Voyager Mailinglist at
    446   \item join the \#netlabs IRC channel (see http://www.ecomstation.com/chat.phtml)
    447 \end{itemize}
    448 \end{frame}
     415\begin{itemize}[<+->]
     416  \item Go to \texttt{http://voyager.netlabs.org}
     417  \item Check the Voyager Wiki and FAQ
     418  \item Join the Voyager Mailinglist at
     419  \item join the \texttt{\#netlabs} IRC channel (see
     420  \texttt{http://www.ecomstation.com/chat.phtml})
     421  \item Contribute to \textit{The Design of Voyager}
     422  \item Contribute to NOM, Triton, compatibility layer etc.
     423  \item Translate as soon as first text is available
     424  \item Support us with money
     425\end{itemize}
     426\end{frame}
     427
     428\begin{frame}
     429\frametitle{Voyager?}
     430We talked about what Voyager is not, so what is it then?
     431\begin{itemize}[<+->]
     432  \item It is a great motivation to go on with eCS
     433  \item It is a ambizioniertes FIXME project
     434  \item It is a great challenge
     435  \item It will become a great piece of software
     436  \item The first step to \textit{World Domination\texttrademark}
     437\end{itemize}
     438\end{frame}
     439
     440
     441\begin{frame}
     442\frametitle{Q\&A}
     443        Questions?
     444\end{frame}
     445
     446% \begin{frame}
     447% \frametitle{About this Presentation}
     448% This presentation was done using the \LaTeX beamer class
     449% (\texttt{http://latex-beamer.sourceforge.net}). \texttt{pdflatex} was used to
     450% convert it to a PDF file.
     451%
     452% \LaTeX source of the file is available in the Voyager Subversion repository at
     453% \texttt{http://svn.netlabs.org/v_doc}
     454% \end{frame}
    449455
    450456\end{document}
Note: See TracChangeset for help on using the changeset viewer.