source: presentations/wse06/wse06.tex@ 148

Last change on this file since 148 was 90, checked in by ktk, 19 years ago

some fixes

File size: 15.0 KB
Line 
1%% LaTeX Beamer presentation template (requires beamer package)
2%% see http://latex-beamer.sourceforge.net/
3%% idea contributed by H. Turgut Uyar
4%% template based on a template by Till Tantau
5%% this template is still evolving - it might differ in future releases!
6
7% Voyager presentation for Warpstock Europe 2006
8% Adrian Gschwend
9
10\documentclass{beamer}
11% Handout:
12%\documentclass[handout]{beamer}
13
14\mode<presentation>
15{
16\usetheme{Warsaw}
17\setbeamercovered{transparent}
18}
19
20\usepackage{amsmath,amssymb}
21\usepackage[latin1]{inputenc}
22\usepackage{times}
23\usepackage[T1]{fontenc}
24
25\beamertemplatetransparentcovereddynamic
26
27%\logo{\includegraphics[height=0.5cm]{dws06.png}}
28
29\title[netlabs.org - The Voyager Project]
30{netlabs.org - The Voyager Project}
31
32\subtitle
33{A Workplace for the 21th Century}
34
35\author[Adrian Gschwend]
36{Adrian~Gschwend}
37
38\institute[netlabs.org]
39{
40netlabs.org - Open Source Software for OS/2 and eCS
41}
42
43\date[17.11.2006]
44{Warpstock Europe 2006, Cologne, Germany}
45
46\subject{OS/2 and eCS development}
47\keywords{OS/2 eCS eComStation}
48
49% \AtBeginSubsection[]
50% {
51% \begin{frame}<beamer>
52% \frametitle{Overview}
53% \tableofcontents[part-1]
54% \end{frame}
55% }
56
57
58\begin{document}
59
60\begin{frame}
61\titlepage
62\end{frame}
63
64\begin{frame}
65\frametitle{Outline}
66\tableofcontents[hideallsubsections]
67\end{frame}
68
69\section{History}
70
71\begin{frame}
72\begin{alertblock}{Warning}
73This is not a very technical presentation!
74
75(Please don't leave the room now ;-)
76\end{alertblock}
77\end{frame}
78
79\subsection{Motivation}
80\begin{frame}
81\frametitle{One Year Ago}
82After last years presentation:
83\begin{itemize}
84 \item<1-2>Joy
85 \item<2>Shock
86 \item<3->\textit{Why Voyager, my eComStation works just fine!?}
87\end{itemize}
88\end{frame}
89
90\begin{frame}
91\frametitle{Motivation, Hardware}
92eCS and OS/2 works just fine \texttrademark
93\begin{itemize}[<+->]
94 \item Might be true nowadays
95 \item Might be hidden for many users
96 \item We (the developers) know the technical limitations
97 \item Annoying kernel limitations and bugs
98 \item Hardware evolves
99\end{itemize}
100\end{frame}
101
102\begin{frame}
103\frametitle{Motivation, Other Issues}
104It's not just about the hardware\ldots
105\begin{itemize}[<+->]
106 \item The valuable stuff is done by the same few people
107 \item Motivation is not what it used to be for various reasons
108 \item It is annoying and frustrating to
109 \begin{itemize}[<+->]
110 \item write device drivers
111 \item code around bugs
112 \item port software and toolkits
113 \item know that the work will be useless in a few years
114 \end{itemize}
115 \item Almost no new people are joining the community
116\end{itemize}
117\end{frame}
118
119\begin{frame}
120\frametitle{Conclusion}
121\begin{block}{Conclusion}
122If we do \textit{business as usual} it will not go on one day.
123\end{block}
124\end{frame}
125
126\begin{frame}
127\frametitle{Wouldn't it be nice?}
128We can now either fall into depression or come up with some idea.
129
130Why not
131\begin{itemize}[<+->]
132 \item rewrite what we like?
133 \item profit from existing Open Source Software?
134 \item \textit{do it right} ourself?
135 \item start the whole idea on eComStation?
136\end{itemize}
137Thus the idea of Voyager was born!
138\end{frame}
139
140\subsection{The Journey}
141\begin{frame}[allowframebreaks=0.6]
142\frametitle{The Idea}
143The Story so Far\ldots
144\begin{itemize}
145 \item Long process of thinking about the future for several years
146 \item First idea with Kernel of MacOS X in Summer 2004
147 \item First presentation of that idea at Developers Workshop 2005 in Dresden
148 \item Reconsideration of this idea because it doesn't solve the main problem: Desktop
149 \item New idea with OpenGL based Desktop with well known toolkits, developed at SYSTEMS fair in Munich
150 \item Talks to various people and first presentation of that idea at
151 Warpstock Europe 2005 in Dresden
152 \item Presentation of first concept and design studies at Developers
153 Workshop 2006 in Biel, Switzerland
154 \item License decision during Summer 2006
155 \item First 0.1 release of \textit{The Design of Voyager} released to the
156 public for Warpstock Canada 2006
157\end{itemize}
158\end{frame}
159
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 vaporware
167\end{itemize}
168\end{frame}
169
170\begin{frame}
171\frametitle{The Goal}
172There are many free desktop environments available, like KDE and GNOME. Our focus is different:
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 re-implement 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})
209\end{itemize}
210\end{frame}
211
212\section{The Voyager Project}
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)
242 \item OpenGL based Cairo backend
243 \item Xorg OpenGL device drivers (no Xlib necessary in mid-term)
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}[<+->]
253 \item SOM is a binary compatible object model, no need to recompile objects (unlike on GNOME for example)
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 re-implement 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}
264%\begin{columns}
265%\column[T]{5cm}
266\includegraphics[width=8cm]{images/SOMClassMgrObject-layout.pdf}
267%\column{5cm}
268%Simplified design of the Xorg OpenGL backend (taken from official docs), Xlib stripped out
269%\end{columns}
270
271\end{frame}
272
273\begin{frame}
274\frametitle{Netlabs Object Model}
275Things that work right now:
276\begin{itemize}[<+->]
277 \item Binding files creation (IDL compiler)
278 \item Class creation from IDL files
279 \item Subclassing
280 \item Explicit metaclasses
281 \item Method overriding
282\end{itemize}
283\end{frame}
284
285\begin{frame}
286\frametitle{Netlabs Object Model}
287Thinks that do not work yet:
288\begin{itemize}[<+->]
289 \item Class replacement
290 \item Dynamical loading of classes (have to be linked in atm)
291 \item \ldots
292\end{itemize}
293Difference to SOM:
294\begin{itemize}[<+->]
295 \item Use of an environment pointer in each method call (CORBA exception
296 handling)
297 \item IDL is 100\% CORBA
298 \item SOM specific IDL extensions are not supported. Implemented as macros
299 instead.
300 \item \ldots
301\end{itemize}
302\end{frame}
303
304\begin{frame}
305\frametitle{Voyager Desktop}
306\begin{itemize}[<+->]
307 \item WPS base classes in development now. Already some code available
308 \item Snapshot available but not for mere mortals
309 \item Subversion available but no check-in yet
310 \item Todo lists will be online soon
311 \item Right now based on Xlib (Everblue) because of GTK+
312\end{itemize}
313\end{frame}
314
315\begin{frame}
316\frametitle{Cairo}
317\begin{itemize}[<+->]
318 \item modern, open source, cross-platform 2D API
319 \item PDF/PS-like 2D API (hint: MacOS X Quartz)
320 \item multiple output systems (screen, printer)
321 \item OS/2 port exists, not accelerated so far
322 \item OpenGL based backend exists, called Glitz (hint: MacOS X Quartz :)
323\end{itemize}
324\end{frame}
325
326\begin{frame}
327\frametitle{GTK+ Toolkit}
328\begin{itemize}[<+->]
329 \item Most used toolkit on Unix-like systems nowadays
330 \item LGPL license (binary linking possible, unlike qt)
331 \item Abstraction layer called GLIB
332 \item Ongoing development
333 \item wxWidgets and SWT are implemented on top of it
334 \item Not yet available on eCS, PM port is evaluated right now
335 \item Everblue already provides some support for it
336\end{itemize}
337\end{frame}
338
339\begin{frame}
340\frametitle{Triton}
341\begin{itemize}[<+->]
342 \item Well-defined subsystem
343 \item Core library
344 \item Easy-to-use API for the application developers to visualize and control multimedia contents
345 \item Easy-to-use API for the plugin developers to be able to extend the system with support of new multimedia formats
346\end{itemize}
347\end{frame}
348
349\begin{frame}
350\frametitle{Triton Status}
351\begin{itemize}[<+->]
352 \item First audio codec implemented: MP3 (April 2006)
353 \item First image codecs implemented: GBM module support
354 \item First video codec implemented: (can't remember which one ;)
355\end{itemize}
356\end{frame}
357
358
359\subsection{Next Steps}
360
361\begin{frame}
362\frametitle{Neptune Window Manager}
363A WM has to take care of
364\begin{itemize}[<+->]
365 \item the open client windows
366 \item the client stacking order
367 \item the client to virtual desktop assignment
368 \item the session
369 \item multiple screens
370 \item client decorations
371 \item ...
372\end{itemize}
373Status: Prototype done, developer is very busy with other things. Source code
374of prototype available soon.
375\end{frame}
376
377\begin{frame}
378\frametitle{OpenGL Backend}
379\begin{itemize}[<+->]
380 \item OpenGL is the standard nowadays, only MS is doing their own game mit DirectX
381 \item OpenGL allows fancy stuff like blending and 3D effects, no fun on 2D Hardware
382 \item powerful API
383 \item MacOS X is using it as backend, Xorg Project is moving towards OpenGL as well
384\end{itemize}
385\end{frame}
386
387\begin{frame}
388\frametitle{Xorg OpenGL Design}
389\begin{columns}
390\column[T]{5cm}
391\includegraphics[width=3.5cm]{ogl-backend.pdf}
392\column{5cm}
393Simplified design of the Xorg OpenGL backend (taken from official docs), Xlib stripped out
394\end{columns}
395\end{frame}
396
397\subsection{OS/2 and eCS Compatibility}
398\begin{frame}
399\frametitle{Some Ideas}
400People do ask for binary compatibility. We see the following options:
401\begin{itemize}[<+->]
402 \item Use a pure VM based solution - easy and will work well, already possible
403 \item Rewrite the whole OS as proposed by some people - unrealistic, waste of resources
404 \item Implement a minimal OS/2 personality on top of an existing kernel and get binary compatibility to work
405\end{itemize}
406\end{frame}
407
408\begin{frame}
409\frametitle{OS/2 OS Personality}
410To get a minimal OS/2 personality to work we would have to implement:
411\begin{itemize}[<+->]
412 \item \texttt{DOS*}, \texttt{MOU*}, \texttt{KBD*} and \texttt{VIO*} API's
413 \item LX loader (Knuts kLoader)
414 \item GRADD driver for OpenGL backend
415 \item Some other things
416\end{itemize}
417Some things exist, like JdeBP - unfortunately not open source. Work on some
418parts started, much work left.
419\end{frame}
420
421\begin{frame}
422\frametitle{GRADD on OpenGL}
423\begin{columns}
424\column{3cm}
425\includegraphics[scale=0.3]{ogl-gradd.pdf}
426\column{6cm}
427\begin{itemize}[<+->]
428 \item OpenGL GRADD driver could be used on OS/2 already, Xorg should work (with some effort)
429 \item As soon as a OS/2 personality would work, one could migrate to the new
430 kernel
431 \item This might become an important project for eCS anyway
432\end{itemize}
433\end{columns}
434\end{frame}
435
436\subsection{License}
437
438\begin{frame}
439\frametitle{Voyager License}
440\begin{itemize}[<+->]
441 \item we do not want to use GPL for our own code for various reasons
442 \item the object model allows binary code, GPL would make that difficult
443 \item we might use (L)GPLed code for parts when it makes sense to do that
444 \item LGPL/CDDL dual license for Voyager core
445 \item APL for sample applications
446\end{itemize}
447\end{frame}
448
449\section{Roadmap}
450\subsection{Work in Progress}
451
452\begin{frame}
453\frametitle{Timeline}
454\begin{itemize}[<+->]
455 \item First source code is online!
456 \begin{itemize}[<+->]
457 \item Triton
458 \item Netlabs Object Model
459 \end{itemize}
460 \item First version of \textit{The Design of Voyager} got released in October 2006
461 \item New server for netlabs.org, new CMS with dedicated Voyager pages (work in progress)
462 \item Goal: provide development environments for at least two platforms ASAP
463\end{itemize}
464\end{frame}
465
466\begin{frame}
467\frametitle{Join the Project}
468\begin{itemize}[<+->]
469 \item Go to \texttt{http://voyager.netlabs.org}
470 \item Check the Voyager Wiki and FAQ
471 \item Join the Voyager Mailinglist at
472 \item join the \texttt{\#netlabs} IRC channel (see
473 \texttt{http://www.ecomstation.com/chat.phtml})
474 \item Contribute to \textit{The Design of Voyager}
475 \item Contribute to NOM, Triton, compatibility layer etc.
476 \item Translate as soon as first text is available
477 \item Support us with money
478\end{itemize}
479\end{frame}
480
481\begin{frame}
482\frametitle{Voyager?}
483We talked about what Voyager is not, so what is it then?
484\begin{itemize}[<+->]
485 \item It is a great motivation to go on with eCS
486 \item It is a ambitious project
487 \item It is a great challenge
488 \item It will become a great piece of software
489 \item The first step to \textit{World Domination\texttrademark}
490\end{itemize}
491\end{frame}
492
493
494\begin{frame}
495\frametitle{Q\&A}
496 Questions?
497\end{frame}
498
499% \begin{frame}
500% \frametitle{About this Presentation}
501% This presentation was done using the \LaTeX beamer class
502% (\texttt{http://latex-beamer.sourceforge.net}). \texttt{pdflatex} was used to
503% convert it to a PDF file.
504%
505% \LaTeX source of the file is available in the Voyager Subversion repository at
506% \texttt{http://svn.netlabs.org/v_doc}
507% \end{frame}
508
509\end{document}
Note: See TracBrowser for help on using the repository browser.