﻿<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>The New Project Leads: Carsten Driesner</title>
</head>
<body>
<div class="spaced13">
  <h2>The New Project Leads: Carsten Driesner</h2>
  <p>2007-01-04</p>
  <p>-<a href="htp://homepage.mac.org/luispo">Louis Suárez-Potts</a></p>
  <br />
<p>Late last year, the leadership of several important core <a href="/projects/accepted.html" target="_blank">projects</a> changed hands. Some of the new leads have been leads in other projects and take on new responsibilities; others are new to the job. What does a project lead do? That depends on the project, but it's usually considered role that combines administrative, managerial, and leadership duties, and represents a very high level of trust.  The project leads for the accepted technical projects are in particular important to OpenOffice.org, for they are largely responsible for what makes up the source to the application, as well as for reaching out to developers. </p>
The following set of short interviews, of which this is the first (others will follow over the next week), is meant to introduce them to the community.  As with all of OpenOffice.org's leads, they are open to the community and welcome developer interest and contact. </p>

<p>I asked Carsten Driesner, the new lead of the <a href="http://framework.openoffice.org/" target="_blank">Framework project</a>, more or less the same questions I asked the others....</p>

<p>Other mini-interview in this series:</p>
<ul type="circle">
	<li><a href="new_leads_mb.html" target="_blank">Mathias Bauer, New Lead</a> of <a href="http://sw.openoffice.org/" target="_blank">Writer</a>, Co-Lead of <a href="http://framework.openoffice.org/" target="_blank">Framework</a></li>
	<li><a href="new_leads_fm.html" target="_blank">Frank Meies, New Co-Lead</a> of <a href="http://sw.openoffice.org/" target="_blank">Writer</a></li>
	<li><a href="new_leads_mn.html" target="_blank">NAKATA, Maho, New Lead</a> of <a href="http://qa.openoffice.org/" target="_blank">QA Project</a></li>
	<li><a href="new_leads_cds.html" target="_blank">Caio Tiago Oliveira de Sousa</a>, New Co-Lead of <a href="http://qa.openoffice.org/" target="_blank">QA Project</a></li>
</ul>


<p> <i>Tell us about yourself: who you are and what you do....</i> </p>

<p> My name is Carsten Driesner. I'm a software engineer and work for Sun Microsystems Inc. My responsibilities are: OpenOffice.org startup, generic user interface elements (e.g., menus, toolbars, statusbar and docking windows) and the <a href="http://wiki.services.openoffice.org/wiki/Framework/Article/Gap_Analysis_Tookit_API" target="_blank">UNO awt toolkit API</a>. </p>

<p> <i>How long have you been working on OpenOffice.org?</i> </p>

<p> I've been working for StarOffice <http://en.wikipedia.org/wiki/StarOffice>/ OpenOffice.org <//> since 2000. </p>

<p> <i>What does the Framework project do? and how does it relate to the overall OpenOffice.org Project? </i> </p>

<p> The Framework project is the connection between the low-level projects (<a href="http://en.wikipedia.org/wiki/Visual_Component_Library" target="_blank">VCL</a>, <a href="http://ucb.openoffice.org/" target="_blank">UCB</a> and <a href="http://wiki.services.openoffice.org/wiki/Uno" target="_blank">UNO</a>) and the application modules. It provides document persistence; loading/saving via UCB, compound document support, inplace editing, multiple and different views for a document, context sensitive and configurable user interface, command dispatching infrastructure and template handling. </p>


<p> <i>What would you like next to do with the project?</i> </p>

<p> I just started a new series of tutorials to better describe the features of the framework project. I hope that more people can use all available framework features to create more powerful extensions. The Framework project provides the main part for extensions that want to integrate into the OpenOffice.org user interface. </p>

<p> <i>How can others help?</i> </p>

<p> The Framework project maintains a wiki page on OpenOffice.org wiki. I added a to do section, so everyone is invited to see where we need help. Powerful extensions which attract more users and developers would also be wonderful. </p>

<hr />
<p>To learn more about the Framework project, visit the <a href="http://framework.openoffice.org/" target="_blank">site</a>, look over the mail list <a href="http://framework.openoffice.org/servlets/SummarizeList?listName=dev" target="_blank">archives</a>, subscribe to the <a href="mailto:dev-subscribe@framework.openoffice.org" target="_blank">dev@framework.openoffice.org</a> list, and dive in!

<p>Developers--and just about anyone else interested--can start learning more about OpenOffice.org by visiting our <a href="http://wiki.services.openoffice.org/wiki/Main_Page" target="_blank">wiki</a></p>



</div>
<br />
<hr />
<a href="index.html">Return to Articles</a>
</body>
</html>
