<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Submit NetBeans Screenshots!</title>
  <meta http-equiv="CONTENT-TYPE"
 content="text/html; charset=iso-8859-1">
  <meta name="DESCRIPTION"
 content="Submit a screenshot to be published on netbeans.org!">
  <meta name="NAV_LINK" content="Screenshots">
  <meta name="NAV_PRIORITY" content="5">
  <link rel="stylesheet" type="text/css" href="../../netbeans.css">
</head>
<body>
<h1>Submit an Application Screenshot!</h1>
<p>One way you can help the NetBeans community is to contribute
screenshots of your application built on the NetBeans platform. Check
out the existing <a href="http://platform.netbeans.org/screenshots.html">platform
screenshots page</a> to see what others have contributed. </p>
<p>If you've come here looking for screenshots of features of the
NetBeans IDE,
look at the <a href="../../features/ide/editor.html">features pages</a>.
</p>
<p></p>
<h2>Submission Guidelines for Application Screenshots</h2>
<p>Here are some quick guidelines for submissions:
</p>
<ul>
  <li>Provide a short description of the application and where to get
more information;
    <p></p>
  </li>
  <li>Send a couple of different shots, up to 3 or 4, showing
variations of windows, workspaces, configurations, etc;
    <p></p>
  </li>
  <li>Try to include a couple of different windows
in each screenshot, showing some of the more interesting
aspects of your application;
    <p></p>
  </li>
  <li>Include a brief description of your environment - OS, NetBeans
version,
anything else relevant;
    <p></p>
  </li>
  <li>Include a brief description of what is visible in the image, what
is happening
(eg "import button for large images");
    <p></p>
  </li>
  <li>Shots should be in as high resoloution and colour depth as you
can
(within reason), and in any standard image format - we can always scale
down and reduce colour depth for the website;
    <p></p>
  </li>
  <li>If your shots are accepted and published, you will be credited
by name (not email), unless you specifically ask not to be;
    <p></p>
  </li>
  <li>Send your screenshots to webmaster at netbeans dot org;
    <p></p>
  </li>
</ul>
<p>Thanks for contributing to netbeans.org!
</p>
</body>
</html>
