source: presentations/dws07/dws07.tex@ 298

Last change on this file since 298 was 298, checked in by ktk, 18 years ago

First version of DWS 2007 presentation

File size: 12.9 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 Developers Workshop 2007
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{Where Are We Now?}
34
35\author[Adrian Gschwend]
36{Adrian~Gschwend}
37
38\institute[netlabs.org]
39{
40netlabs.org - Open Source Software
41}
42
43\date[07.07.2007]
44{Developers Workshop 2007, Amsterdam, Netherlands}
45
46\subject{OS/2 and eCS development}
47\keywords{OS/2 eCS eComStation Voyager}
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\subsection{The Journey}
72\begin{frame}[allowframebreaks=0.6]
73\frametitle{The Idea}
74The Story so Far\ldots
75\begin{itemize}
76 \item Long process of thinking about the future for several years
77 \item First idea with Kernel of MacOS X in Summer 2004
78 \item First presentation of that idea at Developers Workshop 2005 in Dresden
79 \item Reconsideration of this idea because it doesn't solve the main problem: Desktop
80 \item New idea with OpenGL based Desktop with well known toolkits, developed at SYSTEMS fair in Munich
81 \item Talks to various people and first presentation of that idea at
82 Warpstock Europe 2005 in Dresden
83 \item Presentation of first concept and design studies at Developers
84 Workshop 2006 in Biel, Switzerland
85 \item License decision during Summer 2006
86 \item First 0.1 release of \textit{The Design of Voyager} released to the
87 public for Warpstock Canada 2006
88 \item Coding from various site, namely Chris Wohlgemuth on NOM
89 \item Design studies for GTK+ on OS/2 by Dmitry XXX
90 \item Happy Hacking in Wintercamp 2007
91 \item No more progress on the DOV document because Adrian was in long holidays\ldots
92 \item but, progress on the projects itself, thanks to everyone!
93\end{itemize}
94\end{frame}
95
96\begin{frame}
97\frametitle{Voyager (R)evolution}
98\begin{itemize}[<+->]
99 \item Development of Voyager should be possible on many platforms, starting on
100 eCS
101 \item Support for the most popular Unix-like systems is required
102 \item Support for Windows is a must
103 \item eCS developers should be motivated to use SOM for new ideas because
104 code can be partially reused
105 \item Users can continue to use eCS as we know it today and still get new features
106 \item Part-by-part replacement for smooth migration
107\end{itemize}
108\end{frame}
109
110\begin{frame}
111\frametitle{The Vision}
112There is more to do\ldots
113\begin{itemize}[<+->]
114 \item A team of interested developers might start working on an OS/2 compatibility layer for Unix-like systems
115 \item In long term we need a new kernel (discussion is open, see kernel
116 presentation at DWS 07)
117 \item Most of the OS/2 coders don't like the Linux design so other options are preferred
118 \item Final goal: our own distribution based on existing and new software
119\end{itemize}
120\end{frame}
121
122\section{The Voyager Project}
123\subsection{Introduction}
124
125\subsection{Design of Voyager}
126\begin{frame}
127\frametitle{Voyager Components, now}
128\begin{itemize}[<+->]
129 \item Netlabs Object Model (SOM)
130 \item Voyager Desktop (WPS)
131 \item Cairo (GPI/GDI)
132 \item GTK+ (GUI Toolkit, PM)
133 \item Triton (Multimedia Subsystem, MMPM/MMOS2)
134\end{itemize}
135\end{frame}
136
137\begin{frame}
138\frametitle{Voyager Components, next steps}
139\begin{itemize}[<+->]
140 \item Proper security concept
141 \item Neptune (Window Manager for Cairo and Xlib)
142 \item OpenGL based Cairo backend
143 \item Xorg OpenGL device drivers (no Xlib necessary in mid-term)
144\end{itemize}
145\end{frame}
146
147\section{Voyager Components}
148\subsection{Under Development}
149
150\begin{frame}
151\frametitle{Netlabs Object Model}
152\begin{itemize}[<+->]
153 \item SOM is a binary compatible object model, no need to recompile objects (unlike on GNOME for example)
154 \item There are some design documents from IBM itself (published in ACM)
155 \item There is quite some documentation available written by former IBM employees
156 \item Chris Wohlgemuth started to re-implement the concepts under the name NOM
157 \item This is the base for a WPS like desktop
158\end{itemize}
159\end{frame}
160
161\begin{frame}
162\frametitle{NOM Design}
163%\begin{columns}
164%\column[T]{5cm}
165\includegraphics[width=8cm]{images/SOMClassMgrObject-layout.pdf}
166%\column{5cm}
167%Simplified design of the Xorg OpenGL backend (taken from official docs), Xlib stripped out
168%\end{columns}
169
170\end{frame}
171
172\begin{frame}
173\frametitle{Netlabs Object Model}
174Things that work right now:
175\begin{itemize}[<+->]
176 \item Binding files creation (IDL compiler)
177 \item Class creation from IDL files
178 \item Subclassing
179 \item Explicit metaclasses
180 \item Method overriding
181\end{itemize}
182\end{frame}
183
184\begin{frame}
185\frametitle{Netlabs Object Model}
186Thinks that do not work yet:
187\begin{itemize}[<+->]
188 \item Class replacement
189 \item Dynamical loading of classes (have to be linked in atm)
190 \item \ldots
191\end{itemize}
192Difference to SOM:
193\begin{itemize}[<+->]
194 \item Use of an environment pointer in each method call (CORBA exception
195 handling)
196 \item IDL is 100\% CORBA
197 \item SOM specific IDL extensions are not supported. Implemented as macros
198 instead.
199 \item \ldots
200\end{itemize}
201\end{frame}
202
203\begin{frame}
204\frametitle{Voyager Desktop}
205\begin{itemize}[<+->]
206 \item WPS base classes in development now. Already some code available
207 \item Snapshot available but not for mere mortals
208 \item Subversion available but no check-in yet
209 \item Todo lists will be online soon
210 \item Right now based on Xlib (Everblue) because of GTK+
211\end{itemize}
212\end{frame}
213
214\begin{frame}
215\frametitle{Cairo}
216\begin{itemize}[<+->]
217 \item modern, open source, cross-platform 2D API
218 \item PDF/PS-like 2D API (hint: MacOS X Quartz)
219 \item multiple output systems (screen, printer)
220 \item OS/2 port exists, not accelerated so far
221 \item OpenGL based backend exists, called Glitz (hint: MacOS X Quartz :)
222\end{itemize}
223\end{frame}
224
225\begin{frame}
226\frametitle{GTK+ Toolkit}
227\begin{itemize}[<+->]
228 \item Most used toolkit on Unix-like systems nowadays
229 \item LGPL license (binary linking possible, unlike qt)
230 \item Abstraction layer called GLIB
231 \item Ongoing development
232 \item wxWidgets and SWT are implemented on top of it
233 \item Not yet available on eCS, PM port is evaluated right now
234 \item We might have to fork GTK+ sooner or later XXX
235\end{itemize}
236\end{frame}
237
238\begin{frame}
239\frametitle{Triton}
240\begin{itemize}[<+->]
241 \item Well-defined subsystem
242 \item Core library
243 \item Easy-to-use API for the application developers to visualize and control multimedia contents
244 \item Easy-to-use API for the plugin developers to be able to extend the system with support of new multimedia formats
245\end{itemize}
246\end{frame}
247
248\begin{frame}
249\frametitle{Triton Status}
250\begin{itemize}[<+->]
251 \item First audio codec implemented: MP3 (April 2006)
252 \item First image codecs implemented: GBM module support
253 \item First video codec implemented: (can't remember which one ;)
254\end{itemize}
255\end{frame}
256
257\subsection{Next Steps}
258
259\subsection{OS/2 and eCS Compatibility}
260\begin{frame}
261\frametitle{Some Ideas}
262People do ask for binary compatibility. We see the following options:
263\begin{itemize}[<+->]
264 \item Use a pure VM based solution - easy and will work well
265 \item Rewrite the whole OS as proposed by some people - unrealistic, waste of resources
266 \item Implement a minimal OS/2 personality on top of an existing kernel and get binary compatibility to work
267\end{itemize}
268My favourite: Innotek VirtualBox, see VirtualBox presentation.
269\end{frame}
270
271\begin{frame}
272\frametitle{OS/2 OS Personality}
273To get a minimal OS/2 personality to work we would have to implement:
274\begin{itemize}[<+->]
275 \item \texttt{DOS*}, \texttt{MOU*}, \texttt{KBD*} and \texttt{VIO*} API's
276 \item LX loader (Knuts kLoader)
277 \item GRADD driver for OpenGL backend
278 \item Some other things
279\end{itemize}
280There are still ongoing efforts in that direction, namely by Antony T. Curtis.
281Problem: It is far away from beeing usable.
282\end{frame}
283
284\subsection{License}
285
286\begin{frame}[allowframebreaks=0.6]
287\frametitle{Voyager License}
288We do not want to use GPL for our own code for various reasons:
289\begin{itemize}[<+->]
290 \item our object model allows (and encourages) binary code, GPL does not allow
291 that (see endless Linux device driver discussion)
292 \item GPL forces developers to release linked source
293 \item No commercial plugins/extensions possible (see KDE, Joomla)
294 \item however, we might want to use (L)GPLed code!
295\end{itemize}
296Conclusion:
297\begin{itemize}[<+->]
298 \item LGPL/CDDL dual license for Voyager core
299 \item APL for sample applications (very liberal license)
300\end{itemize}
301\end{frame}
302
303\section{Roadmap}
304\subsection{Work in Progress}
305
306\begin{frame}[allowframebreaks=0.6]
307\frametitle{Timeline}
308\begin{itemize}[<+->]
309 \item First source code is online!
310 \begin{itemize}[<+->]
311 \item Triton
312 \item Netlabs Object Model
313 \end{itemize}
314 \item First version of \textit{The Design of Voyager} got released in October 2006
315 \item New server for netlabs.org, new CMS with dedicated Voyager pages (work in progress)
316 \item Goal: provide development environments for at least two platforms ASAP
317 \item eCS: XXX
318 \item Windows: Interest of developer, minimal Windows XP ready :)
319 \item BSD/Linux: Developers wanted!
320\end{itemize}
321\end{frame}
322
323\subsection{Future}
324\begin{frame}
325\frametitle{Public Relations}
326\begin{itemize}[<+->]
327 \item We need more contributors
328 \item We need publicity
329 \item We need money
330 \item (order doesn't matter ;)
331\end{itemize}
332\end{frame}
333
334\begin{frame}
335\frametitle{netlabs.org Backend}
336\begin{itemize}[<+->]
337 \item More content on netlabs.org
338 \begin{itemize}[<+->]
339 \item finish CMS, project managers can work again
340 \item user management, new users can register easily
341 \item finish LDAP migration, convenient for users (SSO)
342 \item developers can upload files again
343 \item release management
344 \end{itemize}
345 \item Wiki Cleanup
346 \item EDM2 articles about Voyager
347\end{itemize}
348\end{frame}
349
350\begin{frame}
351\frametitle{Design of Voyager}
352\begin{itemize}[<+->]
353 \item Update NOM and Triton section
354 \item Kernel discussions, outcome of presentation at DWS 07?
355 \item Make it easily buildable on eCS (need contact with DocBook/2 crew)
356 \item Cleanup PDF generation
357 \item Goal: Frequent updates!
358 \item Contributions by community needed!
359\end{itemize}
360\end{frame}
361
362\begin{frame}
363\frametitle{Internationalization}
364\begin{itemize}[<+->]
365 \item Future in Asia \& Eastern Europe
366 \item Localisation a requirement
367 \item Clever framework needed (see presentation XXX)
368 \item Webbased ressource management for the core
369 \item Might be done with some clever DHTML coding
370 \item eCS translation team got experience, use it
371\end{itemize}
372\end{frame}
373
374\begin{frame}
375\frametitle{More contributors}
376\begin{itemize}[<+->]
377 \item Attract former OS/2 developers, mainly WPS guys
378 \item Students are easy to impress with OO desktop
379 \item We need WPS showcases (Movies on Youtube \& co)
380 \item Local guerilla groups (Usergroups, TeamOS/2 like)
381\end{itemize}
382\end{frame}
383
384\begin{frame}
385\frametitle{Publicity}
386\begin{itemize}[<+->]
387 \item Going public after summer break
388 \item Supported by OS/2 World
389 \item Good contacts to the press with OS/2 source story
390 \item Articles in other magazines (freeX\ldots)
391 \item netlabs.org newsletter (Thanks a lot Jan \& Robert!)
392 \item More ideas?
393\end{itemize}
394\end{frame}
395
396\begin{frame}
397\frametitle{Money}
398\begin{itemize}[<+->]
399 \item We need to hire people -> much faster progress
400 \item License is liberal, can be commercialy used
401 \item Goal: We are interesting enough for companies like Google
402 \item Goal: netlabs.org cannot be bought, Mozilla Foundation like
403 \item Goal: Contributors can profit too (cash ;)
404\end{itemize}
405\end{frame}
406
407
408\begin{frame}
409\frametitle{Join the Project}
410\begin{itemize}[<+->]
411 \item Go to \texttt{http://voyager.netlabs.org}
412 \item Check the Voyager Wiki and FAQ
413 \item Join the Voyager Mailinglist at
414 \item Join the \texttt{\#netlabs} IRC channel (see
415 \texttt{http://www.ecomstation.com/chat.phtml})
416 \item Contribute to \textit{The Design of Voyager}
417 \item Contribute to NOM, Triton, compatibility layer etc.
418 \item Translate as soon as first text is available
419 \item Support us with money
420\end{itemize}
421\end{frame}
422
423\begin{frame}
424\frametitle{Where Are We Now?}
425 Not far enough yet - but we are working on it :)
426\end{frame}
427
428\begin{frame}
429\frametitle{Q\&A}
430 Questions?
431\end{frame}
432
433\end{document}
Note: See TracBrowser for help on using the repository browser.