<?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>Erik Pöhler &#187; AJAX</title>
	<atom:link href="http://contactsheet.de/tag/ajax/feed" rel="self" type="application/rss+xml" />
	<link>http://contactsheet.de</link>
	<description></description>
	<lastBuildDate>Thu, 27 May 2010 11:00:19 +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>Webmontag in M&#252;nchen am 17. September</title>
		<link>http://contactsheet.de/webmontag-in-muenchen-am-17-september.xhtml</link>
		<comments>http://contactsheet.de/webmontag-in-muenchen-am-17-september.xhtml#comments</comments>
		<pubDate>Thu, 30 Aug 2007 15:15:05 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Termine]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Erik Pöhler]]></category>
		<category><![CDATA[vortrag]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webdevelopment]]></category>
		<category><![CDATA[webmontag]]></category>
		<category><![CDATA[webmontag-muc]]></category>

		<guid isPermaLink="false">http://contactsheet.de/webmontag-in-muenchen-am-17-september.xhtml</guid>
		<description><![CDATA[Der n&#228;chste Webmontag M&#252;nchen ist in Planung. Um Themenvorschl&#228;ge zu machen oder genaue Infos zu Veranstaltungsort, Zeit und bereits gemeldeten Rednern zu bekommen, schaut man am besten in das Webmontags-Wiki. Bisher steht bereits Raju Bitter, Entwickler bei Laszlo Systems mit einem Thema auf der Referentenliste: &#34;Rich Internet Applications f&#252;r das Web 2.0&#34; mit OpenLaszlo. Das [...]]]></description>
			<content:encoded><![CDATA[<p>Der n&#228;chste <a href="http://webmontag.de/doku.php?id=muenchen" title="Webmontag M&#252;nchen 17. September 2007">Webmontag M&#252;nchen</a> ist in Planung. Um Themenvorschl&#228;ge zu machen oder genaue Infos zu Veranstaltungsort, Zeit und bereits gemeldeten Rednern zu bekommen, schaut man am besten in das Webmontags-Wiki. Bisher steht bereits Raju Bitter, Entwickler bei Laszlo Systems mit einem Thema auf der Referentenliste: &quot;Rich Internet Applications f&#252;r das Web 2.0&quot; mit OpenLaszlo. Das wird definitiv ein spannender Vortrag f&#252;r alle Designer-Leutchens da drau&#223;en! OpenLaszlo ist zwar (Achtung technische Formulierung) eine offene Programmiersprache die auf bestehenden Techniken wie zB. XML, Javascript, etc. aufbaut, aber dass, was als Endergebnis dabei rauskommt (in Echtzeit) ist tats&#228;chlich spektakul&#228;r. Das wird aber sicher dann Rajus Vortrag demonstrieren. Im Grunde geht es um neue M&#246;glichkeiten den Entwicklungsaufwand zu minimieren und &quot;Corporate Identities&quot; konsequenter umzusetzen - sowohl was die Ausgabemedien - oder die zugrundeliegenden Plattformen angeht. Nicht&nbsp;verpassen!</p>
<p>Hintergrundinfos, Doku und Demos findet man unter:&nbsp;<a href="http://www.openlaszlo.org/">http://www.openlaszlo.org/</a></p>
<p>&#160;</p>
<p>(Ich habe mich auch einfach mal selbst nominiert. Sollte Interesse bestehen, gebe ich einen etwa 15-20 min&#252;tigen Einblick in den Online-WYSIWYG-Editor &quot;XStandard&quot; von Belus&nbsp;Technology.)</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/webmontag-in-muenchen-am-17-september.xhtml/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Live-Suche</title>
		<link>http://contactsheet.de/live-suche.xhtml</link>
		<comments>http://contactsheet.de/live-suche.xhtml#comments</comments>
		<pubDate>Sat, 15 Jul 2006 15:12:48 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[Webwork]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Live-Suche]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://contactsheet.de/live-suche.xhtml</guid>
		<description><![CDATA[Nachdem ich nun mein eigenes, erstes LightPress-Template zu weiten Teilen fertiggestellt habe, ist es fast schonmal an der Zeit ein paar Infos dazu niederzuschreiben. Oww, an den Internet Explorer braucht man mich nicht zu erinnern - mir ist klar, dass da noch einiges im argen liegt. Da es hier aber nun ganz frisch eine Live-Suche [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich nun mein eigenes, erstes LightPress-Template zu weiten Teilen fertiggestellt habe, ist es fast schonmal an der Zeit ein paar Infos dazu niederzuschreiben. Oww, an den Internet Explorer braucht man mich nicht zu erinnern - mir ist klar, dass da noch einiges im argen liegt. Da es hier aber nun ganz frisch eine Live-Suche gibt, ein paar Infos&nbsp;dazu:</p>
<h3>Was ist eine&nbsp;Live-Suche?</h3>
<p>Zum besseren Verst&#228;ndnis: f&#252;r all diejenigen, die den Weg auf diese Webseite auch ohne aktiviertem Javascript gefunden haben ;), gar nicht wu&#223;ten, dass man Javascript auch deaktivieren oder aktivieren kann, oder nicht wissen, ob in Ihrem Browser Javascript nun ein- oder abgeschaltet ist: hier mal ein animierter Screenshot zur Verdeutlichung. Einfach mal ein paar Buchstaben ins Suchfeld tippen und warten, geht nat&#252;rlich auch. <a href="/live-suche.xhtml"><img src="/bilder/livesuche.gif" alt="Screenshot der Live-Suche" /></a><br />
Kurz gefasst: eine Live-Suche erm&#246;glicht es die Inhalte einer Webseite zu durchsuchen, ohne dass man die aktuelle Seite verlassen muss (um sich die Suchtreffer zB. auf einer Suchergebnis-Seite anzusehen, zu durchst&#246;bern, oder herauszufinden dass nix gefunden wurde). Der Suchende hat also den Vorteil, schon beim Tippen zu erfahren ob sein Suchbegriff ihn auch zum erwarteten Ziel f&#252;hrt bzw. ob er hier &#252;berhaupt findet was ihn interessiert.<br />
Sofern es Treffer gibt, kann man also einfach den Suchbegriff verfeinern oder einen passenderen oder spezifischeren Suchbegriff(e) w&#228;hlen und bekommt schon beim Tippen bescheid. Noch etwas einfacher gesagt: Mit einer Live-Suche erspart man <span id="more-44"></span>dem Suchenden, f&#252;r einen Satz wie &#8220;Keine Ergebnisse f&#252;r Begriff XY&#8221; extra auf eine neue Seite zu wechseln. Der &#8220;Zur&#252;ck&#8221;-Button ist zwar der am h&#228;ufigsten verwendete Button in Browsern und sicherlich findet jeder wieder dorthin zur&#252;ck, wo er seine Suche begann, dieser Umweg ist aber schlicht &#252;berfl&#252;ssig. Aktiviertes Javascript immer voraugesetzt - alle, die heutzutage ohne JS im Internet unterwegs sind, d&#252;rften das &#8220;Hilfe, mein Internet ist kaputt!&#8221;-Gef&#252;hl ja schon kennen :D&nbsp;&#8230; </p>
<h3>Zutaten und&nbsp;Dankesch&#246;ns</h3>
<p>Ein Dankesch&#246;n an die zahlreichen Tutorialschreiber die sich dem Thema schon gewidmet haben - da es wohl bereits mehr als gen&#252;gend davon gibt, und ich mich hier auch gern um die Verwendung von Buzzwords und Schlagworten, dieser angeblich ach so brandneuen Technik, dr&#252;cken will, bleibts hier auch bei einem &#8220;Danke&#8221; und ich bewahre die Welt vor einem weiteren AÂ§%X-Tutorial, welches kein Mensch braucht.<br />
<strong>Nur ein paar Infos, zu meiner Umsetzung:</strong> Die Live-Suche besteht aus einem Javascript- (Clientseitig) und einem PHP- (also der Serverseitigen Suche in der Datenbank) Teil. Der Javascript-Teil basiert haupts&#228;chlich auf dem von <a href="http://blog.bitflux.ch/wiki/LiveSearch" title="Bitflux LiveSearch">Bitflux.ch</a> in deren Wiki ausgiebig dokumentiertem Javascript. Eine minimale Anpassung wurde n&#246;tig um deutsche Umlaute korrekt zu &#252;bergeben:<br />
in Zeile 136 hab ich anstatt<br />
<code>document.forms.searchform.q.value</code> nun<br />
<code>EncodeURIComponent(document.forms.searchform.q.value)</code> stehen.<br />
Das stellt sicher, dass der Suchbegriff auch mit Umlauten noch korrekt &#252;bergeben wird. [f&#252;r Firefox und s&#228;mtliche anderen modernen Browser stellt ein Umlaut, auch ohne diesen extrig zu escapen, kein Problem dar. Wie sollte es auch anders sein, ist der Internet Explorer der Einzige <acronym title="Browser werden auch User Agent genannt">UA</acronym>, der hier diese Extrawurst erforderlich macht&#8230;]<br />
Anders als im Live-Suche-Tutorial von <a href="http://orderedlist.com/articles/howto-animated-live-search/" title="Howto WordPress Live Search">orderedlist.com</a>, welches auf die Verwendung mit WordPress zugeschnitten ist, verwende ich eine eigenst&#228;ndige Datei f&#252;r die Datenbankabfrage, f&#252;r die es z.B. <a href="http://blog.napyfab.com/51/ajax-live-search-english-version/" title="weiteres Live-Suche Beispiel">hier</a> ein exemplarisches Muster gibt. An dieser Stelle auch Danke an Aidan Lister, der eine <a href="http://aidanlister.com/repos/v/function.str_highlight.php" title="String-Highlighter Funktion">kompakte String-Highlighter-Funktion</a> ver&#246;ffentlicht hat. Ideal f&#252;r so eine Suche, da case-insensitive (unabh&#228;ngig von Gro&#223;- oder Kleinschreibung), html-Element kompatibel und obendrein leicht anzupassen.<br />
Ein weiteres mini-PHP-Skript hab ich noch hinzugef&#252;gt, damit die Seite, die nach dem abschicken des Formulars erscheint eine sch&#246;ne, lesbare URL erh&#228;lt. Diese Ergebnisseite liefert dann alle Suchergebnisse, statt nur den platzsparenden, maximal 10 Ergebnissen die die Live-Suche in der Seitenleiste liefert. Das kleine Skript entfernt lediglich Sonderzeichen, ersetzt diese mit einem Pluszeichen, entfernt &#252;berfl&#252;ssige Pluszeichen und pr&#252;ft dann nochmal den Suchbegriff. Was jedem Programmierer einleuchtet, empfinde ich aus Usability-Sicht eher als Nachteil: URLs werden im Browser sp&#228;testens nach dem Aufruf auf den gr&#246;&#223;ten gemeinsamen Nenner &#8220;UTF-8&#8221; umgeschrieben, es k&#246;nnen also keine deutschen Umlaute dargestellt werden. Schade eigentlich. Die kryptischen Zeichenketten, die man stattdessen sieht, mit ihren vielen Prozentzeichen sind inkonsequent und unsch&#246;n (da bem&#252;ht man sich um Parameter-freie URLs und dann macht pl&#246;tzlich der Browser nicht mit&#8230; naja) - vermeiden oder umgehen l&#228;sst sich das nicht.<br />
Die h&#252;bschen Einblendeffekte (ebenfalls Javascript), sind mit der Kombination von <a href="http://prototype.conio.net/" title="Prototype JS-Framework">Prototype lite</a> (die nur wenige Kilobyte gro&#223;e Lite-Version von Prototype gibt es ebenfalls auf den moo.fx-Projektseiten zum Download) und <a href="http://moofx.mad4milk.net/" title="basic set of js-effects">moo.fx</a> realisiert. Alles in allem: allein durch zur&#252;ckgreifen auf pre-made, also fertige, Skripte und ein bi&#223;chen Optimierung l&#228;sst sich die Handhabung einer Seite f&#252;r den Besucher erheblich verbessern. *mir auf die Schulter klopf* haah - jetzt bin ich in diesem Artikel sogar ohne klingende Schlagworte ausgekommen&nbsp;:)</p>
<p>Ein bi&#223;chen darf ich noch dran schrauben, denn was noch fehlt ist der obligatorische Indikator, der dem Besucher bei Tastendruck signalisiert, dass etwas&nbsp;passiert.</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/live-suche.xhtml/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
