<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="content-style-type" content="text/css">
<link rel="stylesheet" type="text/css" href="style.css">
<title>ProGuard Testimonials</title>
<script type="text/javascript" language="JavaScript">
<!--
if (window.self==window.top)
  window.top.location.replace("index.html#"+window.location.pathname+window.location.hash);
else {
  var hash="#"+window.location.pathname.replace(window.top.location.pathname.replace("index.html", ""), "");
  if (window.top.location.hash!=hash)
    window.top.location.hash=hash;
}
//-->
</script>
</head>
<body>

<h2>Testimonials</h2>

And now for some shameless self-glorification and name-dropping...
<p>
<b>ProGuard</b> is probably the most popular java shrinker, optimizer, and
obfuscator world-wide. It is being used by developers at companies and
organizations like IBM, HP, Siemens, Nokia, Google, Intel, and NATO. It is the
default tool in many development environments like Oracle's Wireless Toolkit,
Netbeans, EclipseME, Google's Android SDK, and more. Although the quotes below
probably don't represent official views of any kind, encouragements like these
do keep me happy.
<p>

<center><table class="note">
<tr><td class="note"><p class="note"><cite>
ProGuard is <b>the</b> ultimate java obfuscator!
</cite></p>
<p class="author">P.S, IBM</p></td>
<td class="shadow8"><img src="drop2.gif" width="8" height="100" /></td></tr><tr>
<td class="shadow400"><img src="drop1.gif" width="400" height="8" /></td>
<td class="shadow8"><img src="drop3.gif" width="8" height="8" /></td>
</tr></table></center>
<p>

Also:
<center><table class="note">
<tr><td class="note"><p class="note"><cite>
ProGuard is pure quality - powerful and trouble-free.
</cite></p>
<p class="author">M.B., Statestep</p></td>
<td class="shadow8"><img src="drop2.gif" width="8" height="100" /></td></tr><tr>
<td class="shadow400"><img src="drop1.gif" width="400" height="8" /></td>
<td class="shadow8"><img src="drop3.gif" width="8" height="8" /></td>
</tr></table></center>
<p>

And:
<center><table class="note">
<tr><td class="note"><p class="note"><cite>
It is the simplest and most robust obfuscator we have ever used.
</cite></p>
<p class="author">I.I., Hewlett-Packard</p></td>
<td class="shadow8"><img src="drop2.gif" width="8" height="100" /></td></tr><tr>
<td class="shadow400"><img src="drop1.gif" width="400" height="8" /></td>
<td class="shadow8"><img src="drop3.gif" width="8" height="8" /></td>
</tr></table></center>
<p>

And indeed:
<center><table class="note">
<tr><td class="note"><p class="note"><cite>
ProGuard rules. Much easier to use than the commercial alternatives.
</cite></p>
<p class="author">B.G., Quiotix Corp.</p></td>
<td class="shadow8"><img src="drop2.gif" width="8" height="100" /></td></tr><tr>
<td class="shadow400"><img src="drop1.gif" width="400" height="8" /></td>
<td class="shadow8"><img src="drop3.gif" width="8" height="8" /></td>
</tr></table></center>
<p>

Straight from <b>ProGuard</b>'s open discussion forum:
<p>
<center><table class="note">
<tr><td class="note"><p class="note"><cite>
After searching for, trying to trial, and futzing with numerous other
obfuscators and shrinkers, ProGuard stands out as the simplest, most robust,
and accurate shrinker of them all.
</cite></p>
<p class="author">D.J., Joot</p></td>
<td class="shadow8"><img src="drop2.gif" width="8" height="100" /></td></tr><tr>
<td class="shadow400"><img src="drop1.gif" width="400" height="8" /></td>
<td class="shadow8"><img src="drop3.gif" width="8" height="8" /></td>
</tr></table></center>
<p>

From the article "Obfuscating MIDlet Suites with ProGuard" at <a
target="other" href="http://developers.sun.com/">developers.sun.com</a>:
<p>
<center><table class="note">
<tr><td class="note"><p class="note"><cite>
Its friendly license, attractive price tag, compelling performance, and
powerful configuration options make it an excellent addition to your MIDlet
development toolbox.
</cite></p>
<p class="author">J.K., Sun</p></td>
<td class="shadow8"><img src="drop2.gif" width="8" height="100" /></td></tr><tr>
<td class="shadow400"><img src="drop1.gif" width="400" height="8" /></td>
<td class="shadow8"><img src="drop3.gif" width="8" height="8" /></td>
</tr></table></center>
<p>

And, of course, the price is stunning:
<p>
<center><table class="note">
<tr><td class="note"><p class="note"><cite>
You could've been rich.
</cite></p>
<p class="author">My mother</p></td>
<td class="shadow8"><img src="drop2.gif" width="8" height="100" /></td></tr><tr>
<td class="shadow400"><img src="drop1.gif" width="400" height="8" /></td>
<td class="shadow8"><img src="drop3.gif" width="8" height="8" /></td>
</tr></table></center>

<hr />
<noscript><div><a target="_top" href="index.html" class="button">Show menu</a></div></noscript>
<address>
Copyright &copy; 2002-2013
<a target="other" href="http://www.lafortune.eu/">Eric Lafortune</a>.
</address>

</body>
</html>
