<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
 
<h2>Spotlight: On Developers and Technology</h2>
<p><i>2002-02-02</i>
<p>&nbsp;
<h4>Spotlight 18: On Multiusers</h4>
<p>&nbsp;
<p>OpenOffice.org is not jut a single-user product. It is a product that has been 
  designed to accommodate multiple users. On 2002 January 17, Dirk Voelzke of 
  the <a href="http://installation.openoffice.org/">Installation Project</a> <a href="//servlets/ReadMsg?msgId=213714&listName=discuss">proposed</a> 
  a change in the installation setup for the OpenOffice.org suite. The proposal, 
  which seeks to further enhance the suite's multi-user setup, has so far garnered 
  serious <a href="//servlets/BrowseList?listName=discuss&by=subject&from=60455">consideration</a> 
  from community members. Add your voice: <a href="mailto:users@openoffice.apache.org">post</a> a message on the topic to our discuss list. 
<p>KDE and GNOME desktop integration: Early this week, Oliver Braun <a href="//servlets/ReadMsg?msgId=214915&listName=discuss">raised</a> 
  the important issue regarding OpenOffice.org's integration into the KDE and 
  GNOME desktops. At the moment, the suite does not come with a KDE or GNOME integration, 
  whereas StarOffice does. So: should OpenOffice.org emulate StarOffice's aesthetics 
  and structure or should it craft its own? The issue merits community attention, 
  as it relates not just to appearance but to the suite's independence. Please 
  visit the <a href="//servlets/BrowseList?listName=discuss&by=thread&from=5288">thread</a> 
  and express your views. 
<p>&nbsp;
<p><a href="spotlightindex.html">Spotlight Index</a>
</body>
</html>

