<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Again I go unnoticed &#187; Extreme Feedback</title>
	<atom:link href="http://www.thiswayup.de/schlagwoerter/extreme-feedback/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thiswayup.de</link>
	<description>me, my thoughts of flowers threwn</description>
	<lastBuildDate>Wed, 05 May 2010 19:14:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Extreme Feedback Device</title>
		<link>http://www.thiswayup.de/2009/01/extreme-feedback-device/</link>
		<comments>http://www.thiswayup.de/2009/01/extreme-feedback-device/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 07:58:43 +0000</pubDate>
		<dc:creator>tbk</dc:creator>
				<category><![CDATA[Codecrunch]]></category>
		<category><![CDATA[Extreme Feedback]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.thiswayup.de/?p=536</guid>
		<description><![CDATA[Zugegeben, die Idee eines &#8220;Extreme Feedback Devices&#8221; ist für agile Projekte nicht wirklich neu. Sie stellen den Zustand es aktuellen Softwarebuilds unmittelbar für das gesamte Team &#8211; durchaus sehr plastisch &#8211; dar, z.B. in Form einer Ampel. Rot steht für einen fehlgeschlagenen Compile, gelb für fehlgeschlagene Tests und grün für alles Schoko. Über die Sinnhaftigkeit [...]]]></description>
			<content:encoded><![CDATA[<p>Zugegeben, die Idee eines &#8220;<strong>Extreme Feedback Devices</strong>&#8221; ist für agile Projekte <a href="http://www.google.de/search?q=extreme+feedback">nicht wirklich neu</a>. Sie stellen den Zustand es aktuellen Softwarebuilds unmittelbar für das gesamte Team &#8211; durchaus sehr plastisch &#8211; dar, z.B. in Form einer Ampel. Rot steht für einen fehlgeschlagenen Compile, gelb für fehlgeschlagene Tests und grün für alles Schoko. Über die Sinnhaftigkeit kann man vielleicht vorher schmunzeln, aber so ein Teil wirkt. Ich habe Tests noch nie so schnell gefixt gesehen.</p>
<p><img src="http://www.thiswayup.de/wp-content/uploads/2009/01/buildampel_aufbau2.png" alt="buildampel_aufbau2" title="buildampel_aufbau2" width="400" height="180" class="aligncenter size-full wp-image-543" /></p>
<p>Als ich einen Teil der Buildprozesse beim Deutschen Ring auf den <a href="https://hudson.dev.java.net/">Hudson Buildserver</a> umgestellt habe, bin ich auf das &#8220;<a href="http://hudson.gotdns.com/wiki/pages/viewpage.action?pageId=20250625">Red Bear Alert Extreme Feedback Device</a>&#8221; gestossen. Die Idee, farbige Lampen über eine USB-Steckdose zu schalten war so einfach und genial &#8211; das wollte ich auch. Leider habe ich keinen reine 5V-USB-Lösung gefunden, dafür aber eine relativ kostengünstige Steckdosenleiste, die sich per USB von einem Windowsrechner steuern lässt. Da ich den Spaß privat bezahlt habe, sollten noch ein paar günstige Lampen dazu und fertig.</p>
<p><span id="more-536"></span></p>
<p><code><strong>Die Einzelteile</strong></code></p>
<ul>
<li><a href="http://www.conrad.de/goto.php?artikel=610808">SIS-PM Steckdosenleiste über USB</a> schaltbar (EUR 25,- mit Conradgutschein)</li>
<li>3 Mal <a href="http://www.ikea.com/de/de/catalog/products/90029221">Grönö</a> von IKEA (3 x EUR 3,99)</li>
<li>je 1 Paket rote, grüne und gelbe Glühbirnen von IKEA (3 x EUR 2,59)</li>
</ul>
<p>Macht zusammen <strong>EUR 44,47</strong> &#8230; geht noch.</p>
<p><code><strong>Der Zusammenbau</strong></code><br />
Der Zusammenbau ist straight forward. Glühbirne in Lampe, Lampe in Steckdose, Steckdose per USB an einen Windowsrechner. </p>
<p><img src="http://www.thiswayup.de/wp-content/uploads/2009/01/buildampel_aufbau.png" alt="buildampel_aufbau" title="buildampel_aufbau" width="400" height="222" class="aligncenter size-full wp-image-545" /></p>
<p>Dann die <a href="http://p101185.typo3server.info/treiber/SIS-PMS.zip">Software für die SIS-PM</a> von Gembird herunterladen und installieren (für die man leider lokale Adminrechte benötigt!).</p>
<p><img src="http://www.thiswayup.de/wp-content/uploads/2009/01/powermanager.jpg" alt="powermanager" title="powermanager" width="160" class="aligncenter size-full wp-image-572" /></p>
<p>Zur besseren Ansteuerbarkeit habe ich eindeutige, sprechende Namen über die Gembirdsoftware vergeben. Anschließend habe ich das Kommandozeileninterface getestet. Einziges Manko ist, dass man den aktuellen Zustand der Leiste nicht via Kommandozeile abgreifen kann.</p>
<p><code class="block">pm.exe -on Ampel -Gruen<br />
pm.exe -off Ampel -Gelb</code></p>
<p><code><strong>Ansteuern über das Netzwerk</strong></code><br />
Unser Softwarebuild erfolgt dezentral, deshalb sollte das Device über HTTP angesprochen werden. Getreu dem Motto &#8220;Für einen Mann mit einem Hammer ist die Welt voller Nägel&#8221; habe ich eine kleine Javakapsel um die Kommandozeilenaufrufe geschrieben, die über HTTP verschiedene Methoden zur Verfügung stellt:</p>
<ul>
<li><strong><code>buildFailed</code></strong> &#8211; Der Compile ist fehlgeschlagen, die Ampel wird rot</li>
<li><strong><code>testsFailed</code></strong> &#8211; Die Tests sind fehlgeschlagen, die Ampel wird gelb</li>
<li><strong><code>ok</code></strong> &#8211; Alles Schoko, die Ampel wird grün</li>
<li><strong><code>building</code></strong> &#8211; Ein neuer Build wurde gestartet. Die Ampel blinkt in Ihrer aktuellen Farbe</li>
<li><strong><code>disco</code></strong> &#8211; Die Vorführfunktion für Gäste ;-)</li>
</ul>
<p>Intern zieht die Software einen Jetty hoch, der die HTTP-Anfragen verarbeitet und via SWT liegt ein Icon im Tray, mit der sich die Anwendung steuern lässt. </p>
<p><img src="http://www.thiswayup.de/wp-content/uploads/2009/01/screenshot1.jpg" alt="screenshot1" title="screenshot1" width="343" height="88" class="aligncenter size-full wp-image-573" /></p>
<p><code><strong>Integration in den Buildprozess</strong></code><br />
Die Integration in unseren ANT-Buildprozess war denkbar einfach. Über den <code>GET</code>-Task lassen sich URLs aus ANT aufrufen:</p>
<p><code class="block">&lt;get src="http://bob.intra....de/feedack/ringwelt/ok" dest="${java.io.tmpdir}/.feedback"/&gt;</code></p>
<p>Fertig. Übrigens: Das Kategoriebild für &#8220;<a href="/themen/codecrunch/">Codecrunch</a>&#8221; ist die Buildampel beim Deutschen Ring in Aktion!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thiswayup.de/2009/01/extreme-feedback-device/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
