<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
<!-- Coded by John McCreesh using Bluefish and Tidy under RedHat Linux 8.0 -->

  <table id="top" name="top" summary="" border="0" cellspacing="5"
  cellpadding="5">
    <tr>
      <td>
        <h2><font color="#C63B16">Abstracts of Conference Papers -
        Friday</font></h2>
      </td>
    </tr>

    <tr>
      <td><img src="group_red.gif" width="52" height="17"
      alt="image" /></td>
    </tr>
    
<!-- Start Abstract -->

    <tr>
      <td>
        <table id="fa1100" name="fa1100" summary="Abstract"
        border="1" cellpadding="8" cellspacing="0"
        bordercolor="#000080">
          <tr>
            <td bgcolor="#184090"><font color="#FFFFFF"><strong>
            OpenOffice.org QA Processes - You
            Have an Issue with OpenOffice.org?</strong></font></td>
          </tr>

          <tr>
            <td>Michael Bemmer <em>Manager StarOffice QA at Sun Microsystems, project co-lead OpenOffice.org QA</em></td>
          </tr>

          <tr>
            <td>
		Work of the QA project, Release Handling,
		Usage of IssueZilla and Shortcomings:<br>
		This session will give an overview on how OpenOffice.org QA
		is handled, what the work of the volunteering QA members
		looks like and what the involved processes and tools are.
		There are still some shortcomings in the project,
		which will be discussed, and I'll try to give an outlook
		on how some of them might be solved in the future.
	    </td>
          </tr>

          <tr>
            <td><em>Biography: Michael has been working on StarOffice
              at Star Division/Sun Microsystems for more than 7 years,
              mainly responsible for QA. Last summer he started the
              QA project on OpenOffice.org, which has mainly been
              focused on confirming issues and running the smoke
              tests on OpenOffice.org builds.
              But there's more to come!</em></td>
          </tr>
        </table>

        <p><a href="friday.html"
        title="Agenda for Friday">Back</a></p>
      </td>
    </tr>
    
    <!-- End Abstract -->
    
    <!-- Start Abstract -->

    <tr>
      <td>
        <table id="fa1200" name="fa1200" summary="Abstract"
        border="1" cellpadding="8" cellspacing="0"
        bordercolor="#000080">
          <tr>
            <td bgcolor="#184090">
            <font color="#FFFFFF"><strong>Integration with
            Gnome</strong></font></td>
          </tr>

          <tr>
            <td>Michael Meeks <em>Christian and Hacker, Ximian,
            Inc.</em></td>
          </tr>

          <tr>
            <td>This talk will give an outline of how OpenOffice.org
            can be more deeply integrated with Gnome to provide a
            smooth and pleasant user experience even in complex
            heterogeneous environments. It'll also introduce Gnome
            to those unfamiliar with it.<br />
            The necessity of adopting a richer platform than plain
            Unix will be explained, and how only Gnome provides an
            acceptable solution. I'll show what Ximian has done so
            far, the ideal scope of desktop integration, and what
            remains to be done.<br />
            Finally, I'll try to clarify a little of how the Free
            software world really works, what that means to the
            professional hackers, and suggest some ideas for
            encouraging participation.<br /></td>
          </tr>

          <tr>
            <td><em>Biography: Michael is a Christian and
            enthusiastic believer in Free software. He very much
            enjoys working for Ximian Inc. where as a member of the
            Research Labs he has worked on Gnome 2.2 infrastructure
            and applications, particularly CORBA, Bonobo, Nautilus
            and accessibility, amongst other interesting things. He
            now works full time on OpenOffice.org. Prior to this he
            worked for Quantel gaining expertise in real time AV
            editing and playback achieved with high performance
            focused hardware / software solutions.</em></td>
          </tr>
        </table>

        <p><a href="friday.html"
        title="Agenda for Friday">Back</a></p>
      </td>
    </tr>
    
    <!-- End Abstract -->
    <!-- Start Abstract -->

    <tr>
      <td>
        <table id="fa1330" name="fa1330" summary="Abstract"
        border="1" cellpadding="8" cellspacing="0"
        bordercolor="#000080">
          <tr>
            <td bgcolor="#184090"><font color="#FFFFFF"><strong>The
            Mac OS X/Darwin port of
            OpenOffice.org</strong></font></td>
          </tr>

          <tr>
            <td>Daniel C. B. Williams <em>Community Slave</em></td>
          </tr>

          <tr>
            <td>The Mac OS X/Darwin port of OpenOffice.org is of
            the most politically charged ports, and probably for
            good reason: Mac users have very high
            expectations. This doesn't necessarily make
            for easy development however. In this talk, I will
            briefly review the history of the Mac OS X port, its
            current status, and its future directions before
            discussing the technical and some of the political
            sides of porting.<br />
            Working on and directing an OpenOffice.org port is no
            small task if the port is not one of the
            &quot;mainstream&quot;
            three. It requires a significant time
            investment for development, constant patch and source
            code management, effective communication, and infinite
            patience. One should not underestimate the
            time required for source code and build system
            management; it's quite
            high. Actual development time varies from
            platform to platform due to a number of factors, which
            will be discussed here: compatibility with
            the low-level OS layer, structure and fit with the
            native windowing system/interface, and availability of
            resources to name a few.<br />
            Even though an OpenOffice.org port actually runs on a
            platform it may not be ready for prime
            time. While the user interface normally
            kept as consistent as possible across all platforms,
            there are variations. Mac OS X users, for
            the most part, will not accept a gray, Windows-like X11
            interface. Therefore, a significant amount
            of work must be done to ensure the interface looks and
            works like any normal Mac application:
            native-style buttons, a fluid look and feel,
            integration with unique system services and
            conventions. Once this is done however, and
            done well, the battle is won.</td>
          </tr>

          <tr>
            <td><em>Biography: Dan has been doing Mac porting since
            1996, and Mac programming since roughly
            1994. He is currently an undergraduate
            student studying Archaeology at Beloit College, but
            likes OpenOffice.org a lot and that's why he works on
            it in his spare time. He spends more of
            that precious spare time working on the OOo build
            system than he would like, and not enough time working
            on making OOo into a insanely great, visually
            attractive, and stunningly fluid Mac OS X
            application. His ideal job, when he
            graduates this spring, would be actually getting paid
            to work on OpenOffice.org for the immediate
            future.</em></td>
          </tr>
        </table>

        <p><a href="friday.html"
        title="Agenda for Friday">Back</a></p>
      </td>
    </tr><!-- End Abstract -->
    <!-- Start Abstract -->

    <tr>
      <td>
        <table id="fa1430" name="fa1430" summary="Abstract"
        border="1" cellpadding="8" cellspacing="0"
        bordercolor="#000080">
          <tr>
            <td bgcolor="#184090">
            <font color="#FFFFFF"><strong>Common experiences using
            the OpenOffice.org API</strong></font></td>
          </tr>

          <tr>
            <td>Berend Cornelius</td>
          </tr>

          <tr>
            <td>Common experiences using the OpenOffice.org API which
            involves frequent problems and how they can be coped
            with. Basic Methodology when programming with the
            API.<br />
            Differences (advantages/disadvantages) in usage between
            Star Basic and Java. Some words about the Basic IDE,
            API development in Java (remotely or as a component),
            performance of both languages. Basic
            Problems about the use of API Dialogs /
            Swing dialogs.<br />
            Common means like newsgroups, Openoffice.Org links,
            Tutorials where you can look for help.</td>
          </tr>

          <tr>
            <td><em>Biography: I have been working for about 4
            years with the OpenOffice.org API. As I think that I have
            gained some insight and have made some useful
            experiences meanwhile I would like to share
            these with the OpenOffice.org community.</em></td>
          </tr>
        </table>

        <p><a href="friday.html"
        title="Agenda for Friday">Back</a></p>
      </td>
    </tr><!-- End Abstract -->
    </table>
  <hr />

  <p><a href="friday.html">Back to Friday</a><br />
   <a href="#top">Back to Top</a><br />
   <a href="agenda2.html">Back to Overview</a></p>

  <p>Please Note: Program content subject to change.</p>
</body>
</html>

