<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
<h2>Openoffice.org Screenshots</h2>
<p><i>Last updated 2002 September 5</i>
<p>Here you can admire some screenshots of the Openoffice.org Suite in action. We always welcome your screenshots,
and if you want us to add them to the site, please check out the <a href="guidelines.html">screenshot guidelines</a>,
and <a href="mailto:dev@website.openoffice.org">notify us</a>. We will change the screenshots
regularly, so check back often!
<h4>Added 5th September 2002. OpenOffice.org 1.0.1 running on the Microsoft Xbox! Thanks to Michael Steil of the amazing <a href="http://xbox-linux.sourceforge.net/" target=_new>Xbox-Linux project</a>.
<table>
  <tr>
    <td width=20 height=90 align="left"><a href="images/xbox_writer_large_1.png.html"><img src="images/xbox_writer_thumb_1.png" alt="Writer Thumbnail">
    <td>This is a shot of the OpenOffice splashscreen.</td>
  </a></tr>
   <tr>
    <td width=20 height=90 align="left"><a href="images/xbox_writer_large_2.png.html"><img src="images/xbox_writer_thumb_2.png" alt="Calc Thumbnail">
    <td>This is a shot of Writer, showing some document.</td>
  </a></tr>
   <tr>
    <td width=20 height=90 align="left"><a href="images/xbox_writer_large_3.png.html"><img src="images/xbox_writer_thumb_3.png" alt="Impress Thumbnail">
    <td>This is a shot of Writer, showing some other part of a document.</td>
  </a></tr>
  </table>

<h4><br>
  <a href="mac_shots.html">Added 7 May. Shots of OpenOffice.org 638c for Mac OS
  X</a></h4>
<h4>Added 30th April (Koninginnedag!). Shots of OpenOffice.org 1.0</h4>
 <p>
 These screenshots are taken on a computer. With SuSE 7.3. And KDE3.
 <p>
<table>
  <tr>
    <td width=20 height=90 align="left"><a href="images/Writer100.png.html"><img src="images/Thumb_writer_100.png" alt="Writer Thumbnail">
    <td>This is a shot of Writer, with the Navigator and Styles windows open</td>
  </a></tr>
   <tr>
    <td width=20 height=90 align="left"><a href="images/Calc100.png.html"><img src="images/Thumb_calc_100.png" alt="Calc Thumbnail">
    <td>This is a shot of Calc, showing the Navigator window and a graph</td>
  </a></tr>
   <tr>
    <td width=20 height=90 align="left"><a href="images/Impress100.png.html"><img src="images/Thumb_impress_100.png" alt="Impress Thumbnail">
    <td>This is a shot of Impress, with an OpenOffice.org Architecture Diagram</td>
  </a></tr>
  </table>
<h4><br>
  Added 22 October 2001. Shots of the 638C build</h4>
<p>
These shots were taken from OpenOffice.org638C<br>(SuSE 7.2 Linux, KDE 2.2.1)
<p>
<table>
  <tr>
    <td width=20 height=90 align="left"><a href="images/Writer638C.png.html"><img src="images/Thumb_Writer638C.png" alt="Writer Thumbnail">
    <td>This is a shot of Writer, with the Navigator and Styles windows open</td>
  </a></tr>
   <tr>
    <td width=20 height=90 align="left"><a href="images/Calc638C.png.html"><img src="images/Thumb_Calc638C.png" alt="Calc Thumbnail">
    <td>This is a shot of Calc, showing the Navigator window and a graph</td>
  </a></tr>
    <tr>
    <td width=20 height=90 align="left"><a href="images/Present638C.png.html"><img src="images/Thumb_Present638C.png" alt="Presenter Thumbnail">
    <td>Presenter, with the Styles window and the Presentation Helper Dialog</td>
  </a></tr>
  </table>  <hr>
  <p>
  The following shots were sent to us by Alex Bongers, and show OpenOffice635 running on Windows. <br>
  Interesting to note is how similar the interface looks on Windows and Linux. Thanks Alex!
  <p>
  <table>
  <tr>
    <td width=20 height=90 align="left"><a href="images/Writer635Win.png.html"><img src="images/Thumb_Writer635Win.png" alt="Writer635 Thumbnail">
    <td>This shot shows Writer635 on Windows</td>
  </a></tr>
   <tr>
    <td width=20 height=90 align="left"><a href="images/Calc635Win.png.html"><img src="images/Thumb_Calc635Win.png" alt="Calc Thumbnail">
    <td>Calc635 on Windows</td>
  </a></tr>
  </table>
<br><i>Older shots are <a href="oldshots.html">here</a></i>
</body>
</html>

