<!-- must be XML -->
<HTML>
    <HEAD>
        <link rel="stylesheet" type="text/css" href="http://logger.netbeans.org/nonav/welcome/index2.css"></link>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>UI Gestures Collector</title>
</HEAD>
<BODY>

<!-- !!!!!!!!!!!!
  Since 6.0beta1 use http://testwww.netbeans.org/nonav/uigestures/error.html
  !!!!!!!!!!!!!!!
-->
<H1>Welcome to UI Gestures Collector</H1>
<P>
    This is the entry page to the world of statistics. The <b>UI Gestures Collector</b>
    is a portal that allows you to find new tips on how to use NetBeans,
    discover what developers using the same technologies do the most, and
    also submit feedback to the NetBeans development team.
</P>

<p>
    The basic idea is that you tell the server what you do, and the server, 
    based on received data can generate metrics, statistics, or provide
    an advice targeted directly to you on how to use the NetBeans IDE in
    a better way.
</p>

<p>
    You can now submit data about the UI actions you did in the IDE until now,
    and if you do so, the server records them and gives you some 
    statistics. Right now the whole system is in development mode, so 
    we are still mostly collecting data, but some basic information comparing
    your usage to average usage of all participants in the program shall
    nevertheless be available.
</p>

<p>
    Please do not wait! Submit your data to help us make NetBeans better.
    You are welcomed to see and inspect the data before the transfer by
    clicking <q>View Data</q> button. If you like the system, you can also
    turn on an <em>automatic mode</em> when the data will be transfered to
    the server everytime the local buffer is full.
</p>

<p>
    Thank you for helping us make NetBeans better!
</p>

<form action="http://statistics.netbeans.org/analytics/upload.jsp" method="post">
<!--
    <form action="http://logger.netbeans.org/welcome/post.html" method="post">
-->
    <input type="hidden" name="submit" value="&amp;Submit Data"></input>
    <input type="hidden" name="auto-submit" value="&amp;Automatic Submit"></input>
    <input type="hidden" name="view-data" value="&amp;View Data" align="left" alt="&amp;Hide Data"></input>
    <input type="hidden" name="exit" value="&amp;Cancel"></input>
</form>

</BODY>
</HTML>
