<?xml version="1.0" encoding="iso-8859-15" ?>
<rss version="2.0">
<channel>
	<title><![CDATA[net|log: bedrijfsblog van Netlash Webdesign - Grafisch Ontwerp - Usability]]></title>
	<link>http://www.netlash.com/blog</link>
	<description>
		<![CDATA[
		Het net|log is een verzameling van opmerkingen, fotos, gebeurtenissen, interessante links, artikelen ... uit het leven van Netlash Webdesign. Onderwerpen zijn vooral webdesign, grafisch ontwerp, usability, zoekmachine optimalisatie en online marketing. Interessant voor de casuele bezoeker ? Dat hopen we. Het zijn alleszins teksten die we willen onthouden en willen delen.
		]]>
</description>
	<image>
		<title>net|log: bedrijfsblog van Netlash Webdesign - Grafisch Ontwerp - Usability</title>
		<url>http://www.netlash.com/modules/core/layout/images/rss2.gif</url>
		<link>http://www.netlash.com/blog</link>
	</image>
	<lastBuildDate>Fri, 03 Sep 2010 03:58:57 +0200</lastBuildDate>
	<pubDate>Fri, 03 Sep 2010 03:58:57 +0200</pubDate>
	<generator><![CDATA[Fork CMS]]></generator>
	<language>nl</language>
<item>
	<title><![CDATA[Sun Certified MySQL Developer]]></title>
	<link>http://www.netlash.com/blog/detail/sun-certified-mysql-developer</link>
	<description>
		<![CDATA[
			<p><img width="138" height="108" src="http://www.netlash.com/userfiles/images/blogposts/mysql_certified.gif" alt="Sun Certified MySQL Developer" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" />Enkele maanden nadat we besloten de stap te zetten om <a href="http://www.netlash.com/blog/detail/zend-certified-engineers">Zend Certified Engineer</a> te worden, werd het weer eens tijd voor een nieuwe uitdaging. Logischerwijze viel de keuze ditmaal op <a href="http://www.mysql.com/" class="external">MySQL</a>, de toonaangevende open-source database.</p>
<p><a href="http://www.sun.com" class="external">Sun</a> (onlangs nog overgenomen door 's werelds grootste database-specialist <a href="http://ww.oracle.com" class="external">Oracle</a>), het bedrijf achter MySQL, biedt hiertoe <a href="http://www.mysql.com/certification/" class="external">4 mogelijke certificaten</a>, met name:</p>
<ul>
<li>Sun Certified MySQL Associate (SCMA)</li>
<li>Sun Certified MySQL Developer (SCMDEV)</li>
<li>Sun Certified MySQL Database Administrator (SCMDBA)</li>
<li>Sun Certified MySQL Cluster Database Administrator (SCMCDBA)</li>
</ul>
<p>Gezien we bij Netlash steengoeie <a href="http://www.netlash.com/wat-we-doen/bouwen/webapplicaties">web-applicaties</a> bouwen, werd uiteraard geopteerd voor het MySQL Developer certificaat, wat bestaat uit 2 examens. De eerste optie <em>(Associate)</em> bevat 1 examen en is eigenlijk eerder een veredelde initiatie. Nummer 3 <em>(Database Administrator)</em> bestaat ook uit 2 examens, maar is dan weer gericht op db-admins. De laatste <em>(Cluster Database Administrator)</em> is een verderzetting van het 3e certificaat, waarvoor 1 extra examen wordt afgenomen.</p>
<h3>Studiemateriaal</h3>
<p>De heilige graal bij deze onderneming werd - hoe kan het ook anders - het boek "<a href="http://www.amazon.com/MySQL-5-0-Certification-Study-Guide/dp/0672328127" class="external">MySQL 5.0 Certification Study Guide</a>", geschreven en gepubliceerd door mensen uit het team van MySQL zelf en specifiek bedoeld voor dit certificaat. Hoe groot mijn ego en zelfvertrouwen ook is: vooraleer ik 2 maal 154 vooruit schuif voor beide examens ben ik toch liever wat voorbereid.</p>
<p>Het boek is in elk geval een must voor elke MySQL ontwikkelaar. Vergelijkbaar met het voorbereidend boek voor het Zend-examen, was dit boek opnieuw eerder een naslagwerk dan een boek om MySQL te "leren". Je wordt dus wel degelijk verondersteld enige ervaring te hebben met MySQL. Veel nieuwigheden heb ik nu echter ook niet bijgeleerd, al geef ik toe dat ik bij momenten een Aha-Erlebnis beleefde. De ervaring zat vooral in de kleine details zoals: "maak een auto-incremented column unsigned - de auto-increment gaat toch niet negatief, dus ga je beter voor de hogere positieve limiet."</p>
<h3>De examens</h3>
<p>Maar toen werd het tijd voor het echte werk: de 2 examens. Eerst maakte ik nog even de overweging of ik al wel meteen beide examens wou doen of deze toch liever op verschillende data deed: ik had namelijk nog enkele hoofdstukken te gaan in het boek. Gezien de eerstvolgende mogelijke afspraak pas ten vroegste 3 weken later kon plaatsvinden, besloot ik er echter ineens volledig voor te gaan en schreef me voor beiden in via <a href="http://www.prometric.com/Sun/default.htm" class="external">Prometric</a>. Tegelijk beloofde het dan ook meteen een lange nacht te worden om nog snel de rest van het boek te doorworstelen, maar dan zou het in elk geval nog vers in mijn hoofd zitten.</p>
<p>En toen was het tijd voor de grote test. De 1u45 "plezier" per examen bleken in realiteit slechts 1u30 te zijn, waarin je - tijdens deze examentijd - nog wordt verwacht de algemene voorwaarden te lezen en te accepteren. Mocht jij dus toevallig die eenzaat zijn die EULA's wel leest, doe dit dan best al even <a class="external" href="http://mysql.com/certification/candguide#t43">op voorhand</a>, want op het examen tikt de timer lustig verder.</p>
<p>Dit anderhalf uur bleek echter nog steeds meer dan voldoende tijd. De vragen in het examen zijn verzorgd <em><muggenziften>op een 2-tal kleine foutjes na</muggenziften></em> en heel duidelijk uitgeschreven. Op geen enkel moment zal een vraag verwarrend overkomen en het gehalte aan instinkers valt heel goed mee.</p>
<p>Persoonlijk vond ik het examen iets t&#233; theoretisch. Daar waar we bij het Zend-examen commentaar hadden dat het handboek ervoor eigenlijk te weinig nauw aanleunt bij het examen, leunt dit boek er juist wel te dicht bij aan: nagenoeg alle vragen lijken rechtstreeks uit het boek te komen. Je moet uiteraard heel goed snappen waarover alles gaat, maar hopen ervaring heb je naar mijn mening ook niet nodig.</p>
<h3>Conclusi&#243;n!</h3>
<p>Vanaf heden ga ik dus ook onder de titel "Sun Certified MySQL Developer" door het leven. De eerste momenten klonk het wat raar wanneer mensen me zo nariepen op straat, maar ondertussen lijk ik stilaan gewoon te worden aan al deze nieuwe fans.</p>
<p>Maar even serieus: ik behaalde op examen 1 een score van 80% en op nummer 2 werd dit 72%. Gezien voor beide examens de limiet op 60% ligt, ben ik dus geslaagd! Het bewijs van de vele inspanning en toewijding is nu ook offici&#235;el, wat uiteraard een grote voldoening met zich meebrengt, maar tegelijk is dit voor onze klanten opnieuw een extra garantie van onze kunde, geaccrediteerd door d&#233; autoriteit op dit vlak.</p>
<p>Op naar een volgend avontuur!</p><p><a href="http://www.netlash.com/blog/detail/sun-certified-mysql-developer" rel="canonical" title="Sun Certified MySQL Developer">Sun Certified MySQL Developer</a> geschreven door Matthias in: <a href="http://www.netlash.com/blog/categorie/opleiding" title="opleiding">opleiding</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/certified" rel="tag" title="certified">certified</a>, <a href="http://www.netlash.com/tags/detail/mysql" rel="tag" title="mysql">mysql</a>, <a href="http://www.netlash.com/tags/detail/sun certified mysql developer" rel="tag" title="sun certified mysql developer">sun certified mysql developer</a>, <a href="http://www.netlash.com/tags/detail/webdevelopment" rel="tag" title="webdevelopment">webdevelopment</a></p>
		]]>
	</description>
	<pubDate>Tue, 27 Jul 2010 13:58:00 +0200</pubDate>
	<author><![CDATA[Matthias]]></author>
	<category><![CDATA[opleiding]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/sun-certified-mysql-developer</guid>
	</item>
<item>
	<title><![CDATA[Anysurfer Certified]]></title>
	<link>http://www.netlash.com/blog/detail/anysurfer-certified</link>
	<description>
		<![CDATA[
			<p><img src="http://www.netlash.com/userfiles/images/blogposts/anysurfer.jpg" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" alt="Anysurfer logo" height="130" width="138" />Op vrijdag 11 juni waren we met een groot deel van het <a href="http://www.netlash.com/over-ons/team">team</a> (Karolien, Davy, Dieter, Yoni, Matthias, Stephen, Ad en ikzelf) aanwezig op de dagopleiding rond het <a href="http://anysurfer.be" class="external">Anysurfer</a> Certified-project.</p>
<blockquote>
<p><b>AnySurfer</b> is een <b>kwaliteitslabel</b> voor  websites die voor iedereen toegankelijk zijn &#8212; ook voor mensen met een  functiebeperking.</p>
</blockquote>
<p>Het Anysurfer Certified project is een project waarbij webbureaus die de expertise hebben om websites/webapplicaties te bouwen worden opgeleid om websites te bouwen die voor alle bezoekers toegankelijk zijn, ook voor bezoekers met een beperking. Daarnaast kunnen deze websites het kwaliteitslabel halen.</p>
<h3>De opleiding</h3>
<p>Het eerste deel van de opleiding bestond vooral uit een uitgebreide demo van <a href="http://anysurfer.be/nl/over-anysurfer/over-de-organisatie/medewerkers/bart-simons/" class="external">Bart Simons</a>. Bart is sinds zijn geboorte blind en is dus de perfecte man om ons op een goede manier duidelijk te maken waarop wij moeten letten om websites voor mensen met een beperking toegankelijk te maken.</p>
<p>Bart gebruikt een normale browser, met daarin javascript en flash geactiveerd. De extra tools die hij gebruikt zijn een screenreader en een brailleregel. Tijdens de demo - om het voor ons toegankelijk te maken - heeft hij gelukkig de snelheid van voorlezen op ongeveer de helft van zijn gewoonlijke snelheid gezet, en zelfs dat was voor ons soms heel snel.</p>
<p>Bart toonde aan de hand van enkele goede en slechte websites aan hoe een gebruiker met een beperking een website ervaart. Ik denk dat deze demo voor de meeste mensen de beste manier was om aan te tonen dat je door je verstand te gebruiken en enkele kleine extra aanpassingen de site op een heel eenvoudige manier toegankelijk kan maken.</p>
<p>Na de lunch gaf <a href="http://www.anysurfer.be/nl/over-anysurfer/over-de-organisatie/medewerkers/roel-van-gils/" class="external">Roel</a> uitleg bij de vernieuwde checklist (gebasseerd op <a href="http://www.w3.org/TR/WCAG20/" class="external">WCAG 2.0</a>). Er werd bij alle punten voldoende uitleg en/of voorbeelden gegeven.</p>
<p>Roel, zelf kleurenblind, is iemand die gebeten is door het toegankelijkheids-virus. En met veel passie en kennis over ieder punt uitleg kon geven. Aangezien Roel ook zelf websites ontwikkelt kan hij zich makkelijk verplaatsen in de rol van webdeveloper/webdesigner.</p>
<h3>Besluit</h3>
<p>Heel wat zaken die in de checklist zijn opgenomen zijn een kwestie van gezond verstand en worden al gedaan bij <a href="http://www.netlash.com">Netlash</a>. Het is ook een kwestie van het gebruiken van standaarden.</p>
<p>Met een heel klein beetje moeite of extra zaken die we default gaan implementeren in <a href="http://www.fork-cms.be" class="external">Fork</a> kunnen we ervoor zorgen dat onze websites toegankelijk zijn zonder veel extra werk.</p>
<p>Het is ook dat punt dat Roel terecht aanbracht. Een toegankelijke website is niet hetzelfde als "veel extra werk". Bovendien zijn heel wat zaken op de checklist ook een voordeel voor de SEO van je website.</p>
<p>Naast de richtlijnen die specifiek weggelegd zijn voor de designer en developer is een grote verantwoordelijkheid weggelegd voor de redacteurs van de website. Zij moeten zich evengoed bewust zijn van deze richtlijnen en bij het ingeven van content hiermee rekening houden.</p>
<p>Persoonlijk denk ik dat de opleiding een must is voor iedereen die werkt als designer of developer, maar evengoed voor redacteuren en vertegenwoordigers van webbureaus.</p><p><a href="http://www.netlash.com/blog/detail/anysurfer-certified" rel="canonical" title="Anysurfer Certified">Anysurfer Certified</a> geschreven door Tijs in: <a href="http://www.netlash.com/blog/categorie/opleiding" title="opleiding">opleiding</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/accessibility" rel="tag" title="accessibility">accessibility</a>, <a href="http://www.netlash.com/tags/detail/anysurfer" rel="tag" title="anysurfer">anysurfer</a>, <a href="http://www.netlash.com/tags/detail/opleiding" rel="tag" title="opleiding">opleiding</a>, <a href="http://www.netlash.com/tags/detail/toegankelijk" rel="tag" title="toegankelijk">toegankelijk</a></p>
		]]>
	</description>
	<pubDate>Mon, 14 Jun 2010 09:00:00 +0200</pubDate>
	<author><![CDATA[Tijs]]></author>
	<category><![CDATA[opleiding]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/anysurfer-certified</guid>
	</item>
<item>
	<title><![CDATA[Nieuw kantoor: schets]]></title>
	<link>http://www.netlash.com/blog/detail/nieuw-kantoor-schets</link>
	<description>
		<![CDATA[
			<p class="clearfix"><img width="575" src="http://static.netlash.be/userfiles/images/bureau_schets_small.jpg" class="fullwidthAlignLeft" /></p>
<p><a class="external" href="http://www.flickr.com/photos/dirk_sabbe/4659484499/sizes/l/">Om beter te kunnen inschatten</a> hoe de kleurcombinatie die we willen gebruiken zich zal gedragen in de ruimte maken we schetsen. De combinatie van de antracietkleurige gepolijste betonvloer, het grijs van het plafond en de metalen steunen, het wit/rode meubilair en de rode wand van de balie hebben we hier eens tegenover elkaar gezet.</p>
<p>Een schets vertelt natuurlijk niet alles, maar 't geeft toch al een idee: er mag best wat meer rood in.</p><p><a href="http://www.netlash.com/blog/detail/nieuw-kantoor-schets" rel="canonical" title="Nieuw kantoor: schets">Nieuw kantoor: schets</a> geschreven door Dirk Sabbe in: <a href="http://www.netlash.com/blog/categorie/netlash" title="netlash">netlash</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/kantoor" rel="tag" title="kantoor">kantoor</a>, <a href="http://www.netlash.com/tags/detail/netlash" rel="tag" title="netlash">netlash</a>, <a href="http://www.netlash.com/tags/detail/nieuw" rel="tag" title="nieuw">nieuw</a>, <a href="http://www.netlash.com/tags/detail/schets" rel="tag" title="schets">schets</a></p>
		]]>
	</description>
	<pubDate>Tue, 01 Jun 2010 16:11:00 +0200</pubDate>
	<author><![CDATA[Dirk Sabbe]]></author>
	<category><![CDATA[netlash]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/nieuw-kantoor-schets</guid>
	</item>
<item>
	<title><![CDATA[De Netlash mobiele website]]></title>
	<link>http://www.netlash.com/blog/detail/de-netlash-mobiele-website</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/blogposts/blogpost_side.jpg" width="138" height="243" />In de <a href="http://www.netlash.com/blog/detail/online-trendrapport-2010-de-voorspellingen">Online voorspellingen 2010</a> werd het al uitgebreid aangekaart: het mobiele web wordt dit jaar in Belgi&#235; belangrijker en belangrijker.</p>
<p>Ook bij Netlash maken we meer en meer <a href="http://www.netlash.com/wat-we-doen/bouwen/mobiele-websites">mobiele websites</a>. Uiteraard konden we met onze eigen site niet achterblijven.</p>
<p>Gezien we allemaal enthousiaste iPhone gebruikers zijn, besloten we een eerste vingeroefening specifiek voor de iPhone uit te werken.</p>
<p>De website werkt ook op andere&#160; GSM's met een browser gebaseerd op Webkit, zoals bvb. de HTC Hero, die op&#160; Google's Android OS draait.</p>
<p>Ons standpunt rond mobiele websites is nog niet veranderd: we geloven nog steeds dat websites (die in een mobiele browser draaien) <a href="http://www.netlash.com/blog/detail/de-illusie-van-het-mobiele-web">een grotere toekomst tegemoet gaan</a> dan native applicaties. En we zijn er nog steeds van overtuigd dat we 'device-independent' moeten werken &#8212; websites moeten draaien op elk toestel. Maar vooraleer we een volledig onafhankelijke mobiele website bouwden, wilden we al eens een eerste test doen met een website specifiek voor iPhone.</p>
<p>Hieronder vind je een paar screenshots. Klik voor de grote versie.</p>
<table width="425" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 46%; padding: 2%;"><a style="border: none;" href="http://www.netlash.com/userfiles/images/blogposts/home.jpg"><img src="http://www.netlash.com/userfiles/images/blogposts/home.jpg" width="195" /></a></td>
<td style="width: 46%; padding: 2%;"><a style="border: none;" href="http://www.netlash.com/userfiles/images/blogposts/home.jpg"><img src="http://www.netlash.com/userfiles/images/blogposts/portfolio.jpg" width="195" /></a></td>
</tr>
<tr>
<td style="width: 46%; padding: 2%;"><a style="border: none;" href="http://www.netlash.com/userfiles/images/blogposts/blog.jpg"><img src="http://www.netlash.com/userfiles/images/blogposts/blog.jpg" width="195" /></a></td>
<td style="width: 46%; padding: 2%;"><a style="border: none;" href="http://www.netlash.com/userfiles/images/blogposts/contact.jpg"><img src="http://www.netlash.com/userfiles/images/blogposts/contact.jpg" width="195" /></a></td>
</tr>
</tbody>
</table><p><a href="http://www.netlash.com/blog/detail/de-netlash-mobiele-website" rel="canonical" title="De Netlash mobiele website">De Netlash mobiele website</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/mobiel" rel="tag" title="mobiel">mobiel</a>, <a href="http://www.netlash.com/tags/detail/mobiele sites" rel="tag" title="mobiele sites">mobiele sites</a>, <a href="http://www.netlash.com/tags/detail/netlash" rel="tag" title="netlash">netlash</a></p>
		]]>
	</description>
	<pubDate>Tue, 25 May 2010 05:36:00 +0200</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/de-netlash-mobiele-website</guid>
	</item>
<item>
	<title><![CDATA[Nieuw kantoor]]></title>
	<link>http://www.netlash.com/blog/detail/nieuw-kantoor</link>
	<description>
		<![CDATA[
			<p class="clearfix"><img class="fullwidthAlignLeft" src="http://static.netlash.be/userfiles/images/netlash_nieuw_kantoor2.jpg" width="575" /></p>
<p>De aannemers op de werf van ons nieuwe kantoor komen op kruissnelheid. Vandaag waren ze in de weer met de isolatie van de vloer en de vloerverwarming. Eind deze maand moet ons deel van de ruimte voorzien zijn van de definitieve gepolijste betonnen vloer.</p>
<p>V&#243;&#243;r het bouwverlof staan de tussenwanden en kunnen we eindelijk in't echt zien wat de ruimte gaat worden. In het najaar volgt dan de verhuis. Eerst zorgen dat de bouw correct verloopt.</p>
<p>Hier vind je <a href="http://farm5.static.flickr.com/4056/4619081489_3980223c9b_o.jpg">de originele, grote versie van de foto</a>.</p><p><a href="http://www.netlash.com/blog/detail/nieuw-kantoor" rel="canonical" title="Nieuw kantoor">Nieuw kantoor</a> geschreven door Dirk in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/ctrl dock" rel="tag" title="ctrl dock">ctrl dock</a>, <a href="http://www.netlash.com/tags/detail/kantoor" rel="tag" title="kantoor">kantoor</a>, <a href="http://www.netlash.com/tags/detail/loods 22" rel="tag" title="loods 22">loods 22</a>, <a href="http://www.netlash.com/tags/detail/muide" rel="tag" title="muide">muide</a>, <a href="http://www.netlash.com/tags/detail/netlash" rel="tag" title="netlash">netlash</a>, <a href="http://www.netlash.com/tags/detail/werf" rel="tag" title="werf">werf</a></p>
		]]>
	</description>
	<pubDate>Tue, 18 May 2010 21:49:00 +0200</pubDate>
	<author><![CDATA[Dirk]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/nieuw-kantoor</guid>
	</item>
<item>
	<title><![CDATA[Netlash bij de drukker]]></title>
	<link>http://www.netlash.com/blog/detail/netlash-bij-de-drukker</link>
	<description>
		<![CDATA[
			<p><img src="http://www.netlash.com/userfiles/images/blogposts/takeover.jpg" /></p>
<p>De nieuwe naamkaartjes voor Netlash nemen de drukkerij bij <a title="Peeters en Peeters" href="http://www.peetersenpeeters.be/">Peeters &amp; Peeters</a> over.</p><p><a href="http://www.netlash.com/blog/detail/netlash-bij-de-drukker" rel="canonical" title="Netlash bij de drukker">Netlash bij de drukker</a> geschreven door Johan in: <a href="http://www.netlash.com/blog/categorie/netlash" title="netlash">netlash</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/drukwerk" rel="tag" title="drukwerk">drukwerk</a>, <a href="http://www.netlash.com/tags/detail/naamkaartjes" rel="tag" title="naamkaartjes">naamkaartjes</a>, <a href="http://www.netlash.com/tags/detail/netwerken" rel="tag" title="netwerken">netwerken</a></p>
		]]>
	</description>
	<pubDate>Mon, 03 May 2010 11:43:00 +0200</pubDate>
	<author><![CDATA[Johan]]></author>
	<category><![CDATA[netlash]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/netlash-bij-de-drukker</guid>
	</item>
<item>
	<title><![CDATA[Een eigen website of een pagina op Facebook als bedrijf?]]></title>
	<link>http://www.netlash.com/blog/detail/een-eigen-website-of-een-pagina-op-facebook-als-bedrijf</link>
	<description>
		<![CDATA[
			<p><img height="103" width="138" alt="Hub and spokes" src="http://www.netlash.com/userfiles/images/blogposts/hubspokes.jpg" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" />Sinds de steile opmars van Facebook (<a class="external" href="http://bvlg.blogspot.com/2010/04/belgian-social-media-monitor-april-2010.html">3.2 miljoen Belgische gebruikers op datum van april 2010</a>) krijg ik regelmatig de vraag van bedrijfsleiders en marketing managers: heeft het nog wel zin om een eigen site uit te bouwen? Is het niet beter om al onze pijlen te richten op Facebook - daar zit ten slotte een groot publiek!</p>
<p>Da's een beetje een omgekeerde redenering. Het klopt dat er heel veel mensen op Facebook zitten; maar er zitten nog meer mensen op het web in het algemeen. Het is niet omdat je een Facebook fanpagina of groep hebt (Niet zeker welk van beide je wilt? Lees dan zeker het artikel <a href="http://www.talkingheads.be/nl/blog/p/detail/facebook-groep-of-fanpagina" class="external">Facebook: groep of fanpagina</a>&#160;op het blog van partner Talking Heads.) dat er plots heel veel vrienden of fans zullen opduiken - of zelfs maar dat er veel bezoekers zullen zijn. Net hetzelfde als bij een website: het is niet omdat je een site hebt, dat er veel bezoekers zullen komen.</p>
<p>De mechanismen om bezoekers naar je Facebook pagina te krijgen zijn anders dan die van een gewone website; en het klopt dat sociale netwerken een groot deel van die mechanismen ingebouwd en vergemakkelijkt hebben (het "deel met je vrienden" aspect).&#160;</p>
<p>Maar zowel voor een website als voor een Facebook pagina zal je tijd/energie/geld (ze zijn soms onderling inwisselbaar) moeten stoppen in het opbouwen van een publiek.</p>
<p>Bovendien is er nog een ander, groter gevaar. Sociale netwerken zijn net als de <i>newest hottest club in town</i>. Vandaag is deze ene club zeer 'in', en wil iedereen naar die club gaan. Maar morgen gaat iedereen naar die club, en is hij plots niet meer 'in' - en begint iedereen naar de volgende uit te kijken. Dit is exact wat er met MySpace gebeurd is. Een drietal jaar geleden was MySpace d&#233; plaats om aanwezig te zijn; momenteel is dit in Belgi&#235; zo dood als een pier, en is iedereen overgeschakeld naar Facebook of Netlog.</p>
<p>Het blijft dan ook een strategisch risico om al je eieren in &#233;&#233;n mand te leggen en je volledige online bedrijfsaanwezigheid op een sociaal netwerk te zetten - een sociaal netwerk waarvan je de levensduur, populariteit of zelfs maar de functionaliteiten niet zelf onder controle hebt.</p>
<p>Wat uiteraard niet wil zeggen dat je de kracht en aantrekking van sociale netwerken dient te negeren.</p>
<p>De visie van <a href="http://www.netlash.com/over-ons/team">Netlash</a> is dan ook: bouw je eigen website uit als een centrale <i>hub</i>, en gebruik andere online middelen, zoals sociale netwerken, maar ook e-mail marketing en campagne-websites als aandrijvers van duurzame trafiek.</p>
<p><span style="font-size: 10px; line-height: 15px;"><img src="http://www.netlash.com/userfiles/images/blogposts/website-hub.jpg" alt="Website als hub voor online aanwezigheid" width="425" height="420" /></span></p>
<p>De kracht van sociale netwerken als Facebook, Netlog, Twitter en LinkedIn is inderdaad net dat daar het sociale aspect ingebouwd zit; mensen kunnen heel makkelijk informatie doorsturen naar hun netwerk.</p>
<p>In mijn ogen is het dan ook belangrijk om twee dingen te doen:</p>
<ol>
<li>Een aanwezigheid op de relevante sociale netwerken te hebben.</li>
<li>Een integratie op je eigen website te hebben van de relevante sociale netwerken.</li>
</ol>
<p>Je moet zeker als bedrijf aanwezig zijn op sociale netwerken. Uiteraard maak je daar een keuze in: het is onmogelijk om op elk netwerk even actief aanwezig te zijn. Identificeer di&#233; plaatsen waar jouw doelgroep aanwezig is. Zorg dat je minstens je profiel daar geclaimed hebt - en draag er zorg voor dat alles in jouw profiel doorlinkt naar je eigen website. Op de minder belangrijke netwerken zorg je voor automatische inhoud: laat daar de technologie voor jou werken, gebruik bijvoorbeeld de automatische import van RSS-feeds vanuit je eigen blog. Op de belangrijkste netwerken zorg je voor een eigen stem, met communicatie die afgestemd is op dat netwerk en op die doelgroep.&#160;</p>
<p>(Zoals steeds is het daar belangrijk om de <a href="http://www.netlash.com/blog/detail/roi-van-een-website">ROI van je online strategie</a> af te wegen. Elke aanwezigheid zal inspanningen kosten; elke gepersonaliseerde aanwezigheid zal nog meer inspanningen kosten. Je moet afwegen of je bedrijf daar de nodige middelen voor kan vrijmaken, en of die kost opweegt ten opzichte van het rendement.)</p>
<p>Zo zorg je voor een instroom vanuit sociale netwerken naar je eigen website; en maak je maximaal gebruik van de sociale mogelijkheden van die netwerken.</p>
<p>Omgekeerd bouw je best ook de mogelijkheden van die sociale netwerken in je eigen website in. Je moet faciliteren dat bezoekers de inhoud die op je eigen website verschijnt kunnen doorsturen naar hun eigen netwerken; zodat ze die niet zelf moeten gaan transporteren.&#160;</p>
<p>Zo cre&#235;er je een <i>feedback loop</i> tussen je eigen website en de rest van het internet.</p>
<p>De tijd dat een website een afgezonderd, op zichzelf staand eiland op het wilde internet was, is definitief voorbij. Het membraan tussen jouw site en het internet moet zo transparant mogelijk worden.</p>
<p>Maar tegelijkertijd moet je realistisch zijn en beseffen dat jouw eigen website het centrum van je online strategie moet blijven.</p><p><a href="http://www.netlash.com/blog/detail/een-eigen-website-of-een-pagina-op-facebook-als-bedrijf" rel="canonical" title="Een eigen website of een pagina op Facebook als bedrijf?">Een eigen website of een pagina op Facebook als bedrijf?</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/strategie" title="strategie">strategie</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/facebook" rel="tag" title="facebook">facebook</a>, <a href="http://www.netlash.com/tags/detail/website" rel="tag" title="website">website</a>, <a href="http://www.netlash.com/tags/detail/webstrategie" rel="tag" title="webstrategie">webstrategie</a></p>
		]]>
	</description>
	<pubDate>Mon, 26 Apr 2010 08:03:00 +0200</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[strategie]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/een-eigen-website-of-een-pagina-op-facebook-als-bedrijf</guid>
	</item>
<item>
	<title><![CDATA[iPad app]]></title>
	<link>http://www.netlash.com/blog/detail/ipad-app</link>
	<description>
		<![CDATA[
			<p><img height="173" width="138" alt="ipad app" src="http://www.netlash.com/userfiles/images/blogposts/FM1_previewcvr.jpg" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" />E&#233;n van de vier kernwaarden bij Netlash is <b>innovatie</b>: we ambi&#235;ren om vandaag online di&#233; dingen te doen die binnen drie jaar <i>bon ton</i> zijn. Dat houdt ook in dat we nadenken over de toekomst van computers - en we zien de mogelijkheden en potentie van touch screen tablets, met als exponent de iPad, als <a class="external" href="http://www.ondernemeringent.be/2010/04/waarom-ik-denk-dat-de-ipad-een-succes.html">zeer beloftevol</a>. Aangezien &#233;&#233;n van onze focuspunten <a href="http://www.netlash.com/wat-we-doen/bouwen/informatie-architectuur-en-interaction-design">informatie-architectuur en interaction design</a> is, willen we ook op de iPad daarmee experimenteren.</p>
<p>Vandaar dat we samen met onze klant Broken Frontier een eerste iPad app uitgewerkt hebben: The Frontiersman.</p>
<p>Uit het persbericht: "The Frontiersman is het eerste digitale magazine over comics op de iPad. The Frontiersman is een publicatie van comics nieuwssite <a href="http://www.brokenfrontier.com" class="external">Broken Frontier</a> en werd ontwikkeld in samenwerking met <a>webbureau Netlash</a>. The Frontiersman verschijnt wekelijks op dinsdag.  The Frontiersman covert alle aspecten van de comics universe, van mainstream tot onafhankelijke uitgevers, van digitale comics tot comics op het grote scherm. Wij brengen een gezonde mix van van interviews, diepgaande artikels en exclusieve previews van top artiesten."</p>
<p><img alt="iPad app The Frontiersman" src="http://www.netlash.com/userfiles/images/blogposts/bf-debuts-the-fr_1272130601.jpg" /></p>
<p>We zien dit als een eerste verkenning van de mogelijkheden van de iPad, en willen hierop verder gaan.</p>
<p>Een paar links voor jullie:</p>
<ul>
<li>De website van Broken Frontier: <a href="http://www.brokenfrontier.com" class="external">www.brokenfrontier.com</a>.</li>
<li>De link naar de iPad app in de iTunes store: <a href="http://itunes.apple.com/be/app/frontiersman/id368550228?mt=8" class="external">The Frontiersman</a>.</li>
<li>Zelf aan het nadenken over publiceren op de iPad? <a href="http://www.netlash.com/contact">Contacteer ons</a>, we denken graag mee.</li>
</ul>
<p>Voor de comics liefhebbers onder jullie: de eerste editie van The Frontiersman&#160;heeft interviews met Mark Millar en John Romita, Jr. over Kick-Ass, Paul Gravett over Tove Jansson&#8217;s Moomin exhibition, en Jonathan Hickman over S.H.I.E.L.D. Je kan het magazine ook downloaden als pdf op de website van <a href="http://www.brokenfrontier.com/headlines/p/detail/bf-launches-the-frontiersman-the-first-mobile-comics-magazine" class="external">Broken Frontier</a>.</p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/ipad-app" rel="canonical" title="iPad app">iPad app</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/webdevelopment" title="webdevelopment">webdevelopment</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/app" rel="tag" title="app">app</a>, <a href="http://www.netlash.com/tags/detail/development" rel="tag" title="development">development</a>, <a href="http://www.netlash.com/tags/detail/ipad" rel="tag" title="ipad">ipad</a></p>
		]]>
	</description>
	<pubDate>Sun, 25 Apr 2010 11:12:00 +0200</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[webdevelopment]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/ipad-app</guid>
	</item>
<item>
	<title><![CDATA[Vacature Project Manager]]></title>
	<link>http://www.netlash.com/blog/detail/vacature-project-manager</link>
	<description>
		<![CDATA[
			<p><a href="http://www.netlash.com/vacature-online-project-manager"><img height="181" width="138" alt="Online Project Manager" src="http://www.netlash.com/userfiles/images/blogposts/project-manager.jpg" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" /></a>Na de groei van 60% in 2009, dacht ik dat we hier bij Netlash even een adempauze zouden inlassen. Niets is minder waar.&#160;</p>
<p>Tot nu toe kwam gemiddeld om de 2,5 maand een nieuwe webster <a href="http://www.netlash.com/over-ons/team">ons team</a> versterken. Dat ritme wordt blijkbaar aangehouden.</p>
<p>Op dit moment zijn we op zoek naar een extra Online Project Manager. <a href="http://www.netlash.com/vacature-online-project-manager">Bekijk hier de vacature</a>.</p><p><a href="http://www.netlash.com/blog/detail/vacature-project-manager" rel="canonical" title="Vacature Project Manager">Vacature Project Manager</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/project manager" rel="tag" title="project manager">project manager</a>, <a href="http://www.netlash.com/tags/detail/vacature" rel="tag" title="vacature">vacature</a></p>
		]]>
	</description>
	<pubDate>Tue, 13 Apr 2010 17:43:00 +0200</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/vacature-project-manager</guid>
	</item>
<item>
	<title><![CDATA[Zend Certified Engineers]]></title>
	<link>http://www.netlash.com/blog/detail/zend-certified-engineers</link>
	<description>
		<![CDATA[
			<p><img width="138" height="129" src="http://www.netlash.com/userfiles/images/blogposts/php5_zce_logo.jpg" alt="Zend Certified Engineers" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" />Onlangs besloot Davy om deel te nemen aan het <a class="external" href="http://www.zend.com/en/services/certification">Zend Certification Examen</a>.</p>
<p class="external">Dit examen is een erkende PHP-onderscheiding die wordt uitgereikt door <a class="external" href="http://www.zend.com/en/">Zend - <i>The PHP Company</i></a>. Het test de kennis van PHP en de real-life ervaring van de kandidaat. Op dit moment zijn er in Belgi&#235; <a class="external" href="http://www.zend.com/en/store/education/certification/yellow-pages.php#list-cid=21&amp;firstname=&amp;lastname=&amp;orderby=name&amp;sid=XX&amp;company=&amp;photo_first=&amp;certtype=PHP5&amp;ClientCandidateID=">75</a> mensen die zichzelf PHP5 Zend Certified Engineer mogen noemen.</p>
<p>Omdat niemand graag onvoorbereid naar zo'n examen gaat hebben we eerst wat meer informatie ingewonnen en een test-examen afgelegd. De manier van vraagstellen tijdens het test-examen is dezelfde als die op het uiteindelijke examen, namelijk 70 vragen waarvoor je 90 minuten de tijd krijgt.</p>
<p>Er zijn verschillende soorten vragen:</p>
<ul>
<li>meerkeuze met 1 correct antwoord</li>
<li>meerkeuze met meerdere correcte antwoorden (het aantal staat steeds vermeld)</li>
<li>invulvragen</li>
</ul>
<p>De eerste kennismaking met het test-examen was voor mezelf zeer aangenaam. Na een kleine 45 minuten was ik klaar en behaalde ik een mooie score: <b>Excellent</b>.</p>
<p>Na deze eerste kennismaking met het test-examen hebben we (Davy, Matthias, Tijs) besloten om er volledig voor te gaan. De <a href="http://shop.zend.com/eu/php-certification/zend-certification-bundle.html" class="external">juiste zaken</a> (practice-exam-vouchers, boek en exam-vouchers) werden aangekocht. Met deze zaken in handen zijn we begonnen ons verder voor te bereiden.</p>
<h3>Voorbereiding</h3>
<p>Als we het <a href="http://shop.zend.com/eu/php-certification/zend-php5-certification-guide-pdf.html" class="external">boek</a> mogen geloven dan is het boek de ideale voorbereiding op het examen. Het boek behandelt alle topics die terugkomen in de test-examens, van de basis van PHP over OOP tot Security. Het boek is zeker geen beginnerstutorial, in een aantal hoofdstukken gaat men heel specifiek te werk.</p>
<p>Om heel eerlijk te zijn heb ik uit het boek heel weinig bijgeleerd &#8212; dat is ook niet de bedoeling van het boek &#8212; het was eerder een herhaling en bevestiging van wat ik al wist.</p>
<p>Om onszelf toch voor een deadline te stellen hadden we het examen vastgelegd op 2 april. Door de deadline werd de druk om goed voorbereid te zijn n&#233;t iets hoger. Na het boek volledig doorgenomen te hebben, deden we allemaal nog een aantal tests. Hierdoor kan je zien op welke topics je harder moet werken. Voor mij was het pijnpunt "Streams &amp; Network-programming".</p>
<h3>Test-examens</h3>
<p>De test-examens zijn van een redelijk niveau. Er zijn een aantal vragen die gemakkelijk onder de noemer <i>instinkers</i> kunnen gecatalogeerd worden. Bijvoorbeeld een stuk code met daarin een syntax-error, maar bij de antwoorden staat het resultaat dat de code zou reproduceren indien er geen syntax-error was.</p>
<p>Sommige vragen gaan dan weer over een specifieke functie, een eenvoudig voorbeeld: Welke functie gebruik je om de waardes binnen een array op te tellen?<a href="#note1"><sup>1</sup></a></p>
<h3>Het examen</h3>
<p>Op vrijdag 2 april zijn we dus afgezakt naar het examencentrum van <a href="http://devoteam.be" class="external">DevoTeam</a>. Na enkele omzwervingen in Brussel hebben we uiteindelijk het correcte gebouw gevonden (recht over de ingang van paleis 11 aan de heizel - <a href="http://maps.google.be/maps?q=Buro+%26+design+center&amp;hl=nl&amp;cd=1&amp;ei=ez-3S6bSGcv7Oa3TiN4C&amp;sll=50.900465,4.343221&amp;sspn=0.002253,0.006566&amp;ie=UTF8&amp;view=map&amp;cid=4551604893288315726&amp;ved=0CBwQpQY&amp;hq=Buro+%26+design+center&amp;hnear=&amp;ll=50.901937,4.342561&amp;spn=0.009012,0.026264&amp;z=16&amp;iwloc=A" class="external">Google Maps</a>).</p>
<p>Uiteraard waren we daar &#8212; zoals het hoort &#8212; te vroeg, en kregen we dus de kans om in de lobby nog een beetje te herhalen. Om 09u30 hebben we onszelf aangemeld, maar er waren wat problemen met hun intern netwerk, dus ons examen zou iets later plaatsvinden.</p>
<p>Maar na een uurtje konden we toch beginnen. We werden aangemeld op een computer en zijn gestart met het examen.</p>
<p>Het werd een zenuwslopende sessie, de vragen waren toch een pak specifieker dan verwacht. Net zoals de test-examens krijg je 90 minuten om de 70 vragen te beantwoorden.</p>
<p>Ikzelf heb eerst alle vragen waarvan ik zeker was opgelost, de vragen waar ik minder zeker van was heb ik gemarkeerd <i>for review</i>. Na de 70 vragen krijg je een overzicht met daarop aangeduid welke vragen je nog moet beantwoorden (incomplete) en vragen die je gemarkeerd hebt. Ik heb eerst de onbeantwoorden vragen nagekeken en opgelost. Erna heb ik de vragen die ik gemarkeerd heb nog eens goed nagekeken.</p>
<p>Als laatste heb ik dan alle vragen nog eens nagekeken, daarna heb ik met een klein hartje op de knop "End Exam" geklikt. Een aantal hartkloppingen later krijg je het resultaat te zien. In tegenstelling tot de test-examens krijg je geen feedback per topic maar enkel de melding of je al dan niet geslaagd bent.</p>
<h3>Besluit</h3>
<p>We zijn alledrie geslaagd.</p>
<ul>
<li><a href="http://zend.com/zce.php?c=ZEND013497&amp;r=234757409">Davy</a></li>
<li><a href="http://zend.com/zce.php?c=ZEND007785&amp;r=234775897">Matthias</a></li>
<li><a href="http://zend.com/zce.php?c=ZEND013482&amp;r=234757427">Tijs</a></li>
</ul>
<p>Maar ikzelf heb er toch een aantal bedenkingen bij. Naar mijn mening zijn de vragen op het examen een pak specifieker en dus moeilijker dan de test-examens. Enkel het boek instuderen zal je zeker geen garantie bieden om te slagen. Je hebt <b>echt</b> real-life ervaring nodig en je moet een verdomd goede kennis hebben van heel specifieke functies.</p>
<p>Maar goed, we zijn alledrie geslaagd en kunnen dus met trots zeggen dat er sinds 2 april 3 Zend Certified Engineers bij Netlash werken.</p>
<h4>Tips</h4>
<p>Wil je zelf ook deelnemen aan het examen, dan kunnen onderstaande tip zeker van pas komen:</p>
<ul>
<li>Zorg ervoor dat je ervaring hebt en dit op alle topics van het boek. Een website maken voor je nonkel zal niet genoeg zijn.</li>
<li>Denk niet dat het enkel over code gaat, bekijk dus zeker en vast eens php.ini en begrijp wat daarin staat.</li>
<li>Zorg dat je het concept van by-value en by-reference goed beheerst.</li>
</ul>
<p class="mute" id="note1"><sup>1</sup>: <a href="http://php.net/array_sum">array_sum</a></p><p><a href="http://www.netlash.com/blog/detail/zend-certified-engineers" rel="canonical" title="Zend Certified Engineers">Zend Certified Engineers</a> geschreven door Tijs in: <a href="http://www.netlash.com/blog/categorie/opleiding" title="opleiding">opleiding</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/certified" rel="tag" title="certified">certified</a>, <a href="http://www.netlash.com/tags/detail/php" rel="tag" title="php">php</a>, <a href="http://www.netlash.com/tags/detail/zce" rel="tag" title="zce">zce</a>, <a href="http://www.netlash.com/tags/detail/zend certified engineer" rel="tag" title="zend certified engineer">zend certified engineer</a></p>
		]]>
	</description>
	<pubDate>Tue, 06 Apr 2010 13:37:00 +0200</pubDate>
	<author><![CDATA[Tijs]]></author>
	<category><![CDATA[opleiding]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/zend-certified-engineers</guid>
	</item>
<item>
	<title><![CDATA[Vooruit denken bij het ontwikkelen van een mobiele website]]></title>
	<link>http://www.netlash.com/blog/detail/vooruit-denken-bij-het-ontwikkelen-van-een-mobiele-website</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/blogposts/icon_books.jpg" height="135" width="138" />Op <a href="http://barcampantwerpen.pbworks.com/">Barcamp Antwerpen</a> gaf <a href="http://tijsvrolix.be/">Tijs Vrolix</a> een presentatie getiteld &#8220;<i>10 reasons why now is the perfect time to get serious about the mobile web</i>&#8221;. Je kan de slides van deze presentatie bekijken op  <a href="http://www.slideshare.net/tijs/10-reasons-why-now-is-the-perfect-time-to-get-serious-about-the-mobile-web">SlideShare</a>). Het was een erg interessante presentatie, die me tot nieuwe gedachten heeft geleid omtrent een strategie voor het mobiele web.</p>
<p>Eerst even een schets van mobile development vandaag.</p>
<p>Het probleem met het mobiele web is dat er duizend en &#233;&#233;n verschillende devices en browsers zijn. Als je wil dat je mobiele website op elk platform werkt, ga je ervoor moeten zorgen dat je alle devices kan testen.</p>
<p>Je gaat een heleboel verschillende types GSM&#8217;s aankopen, sukkelen met mobiele abonnementen (of erger: de SIM kaart telkens verwisselen). Je gaat helemaal gefrustreerd worden door de browser inconsistenties, en nog veel meer door het onkunnen van de oudere apparaten.</p>
<p>Er is het Symbian platform, er is de iPhone, er zijn Blackberries en er is Android. Dan heb je nog de high end telefoons van Nokia, en de tig verschillende versies van Windows Mobile. En dan hebben we het nog maar enkel over smartphones gehad. Als we even tellen heb je dan al minstens 6 emulators en fysieke devices nodig.</p>
<p>Dan krijg je een testing setup die er ongeveer zo uit ziet:</p>
<p><a style="border: none;" href="http://www.netlash.com/userfiles/images/blogposts/setup.jpg"><img src="http://www.netlash.com/userfiles/images/blogposts/setup.jpg" alt="Setup" width="425" /></a></p>
<p>(En dat was dan nog voor een project dat slechts op 4 platformen moest werken)</p>
<p>Het goede nieuws: er is beterschap op komst.</p>
<p>De nieuwere toestellen evolueren bijna eenduidig in dezelfde richting: een device dat het internet toont zoals het bedoeld was.</p>
<p>Deze evolutie is vooral te danken aan het gebruik van de open source browser <a href="http://webkit.org/">Webkit</a>. Deze browser wordt omarmd door zowel Apple, Google, RIM (Blackberry) en Palm.</p>
<p>Een andere grote factor in die eenduidigheid is schermresolutie en form factor: bijna alle toestellen zijn, met de iPhone als grote voortrekker, een stuk glas van 3,5&#8221;, met een resolutie van 320px op 480px of hoger.</p>
<p>Kijk even naar deze grafiek, uit een onderzoek van Morgan Stanley:</p>
<p><a style="border: none;" href="http://www.netlash.com/userfiles/images/blogposts/chart.jpg"><img src="http://www.netlash.com/userfiles/images/blogposts/chart.jpg" alt="Chart" width="425" /></a></p>
<p class="mute secondaryContent">Klik voor een grotere versie.</p>
<p>De iPhone en Android tesamen zijn verantwoordelijk voor bijna drie kwart van de pageviews; terwijl ze slechts 13% van de markt bezetten.</p>
<p>Internet op mobiele telefoons bestaat al een tijdje, maar eigenlijk gebruikte bijna niemand het. Heel kort door de bocht, het mobiele internet 3 jaar geleden: zakenmannen die e-mails binnenhalen op hun dure Blackberry of HTC.</p>
<p>Nu zijn er betaalbare smartphones waarop het internet bruikbaar geworden is, en mensen internetten er ook effectief op. Je neefje loopt rond met een Android telefoon en zijn zus heeft een iPhone.</p>
<p>Ook een factor: we hebben een goed netwerk in Belgi&#235;: er is nagenoeg overal EDGE en 3G coverage. De netwerken worden elk jaar beter. Providers pushen het mobiele internet.</p>
<p>Ik zei in het begin van dit artikel: &#8220;Het probleem met het mobiele web is dat er duizend en &#233;&#233;n verschillende devices en browsers zijn.&#8221;.</p>
<p>Dit probleem is zichzelf aan het oplossen.</p>
<p>Er zijn voor mij namelijk nog maar 2 soorten smartphones over:</p>
<ul>
<li>Toestellen in staat om het internet weer te geven zoals je dat kan op een desktop</li>
<li>Toestellen niet in staat om het internet weer te geven zoals je dat kan op een desktop</li>
</ul>
<p>En mobile development wordt:</p>
<ul>
<li>De eerste categorie toestellen krijgt de normale site</li>
<li>De tweede categorie toestellen krijgt de normale site in tekstvorm: enkel HTML, geen CSS, geen Javascript</li>
</ul>
<p>Deze scheiding maken noem ik de <b>forward thinking strategie</b> voor het mobiele web. In deze strategie ga ik er van uit dat devices evolueren naar wat de iPhone nu is, en dat we binnenkort allemaal een smartphone hebben. Ik ga er ook van uit dat diegene die geen smartphone hebben, ook niet ge&#239;nteresseerd zijn in mobiel internetten.</p>
<p>Weg dus met dertien versies van een mobiele website te bouwen: bouw &#233;&#233;n versie, volgens de webstandaarden, en serveer een tekst-only versie aan de toestellen die minder kunnen.</p>
<p>(Ik ben er eigenlijk zelfs van overtuigd dat een HTML only een betere gebruikservaring zorgt op, zeg maar, een Nokia N95, of een HTC Diamond)</p>
<p>Bart zei in 2008 in <a style="border: none;" href="http://www.netlash.com/blog/detail/de-illusie-van-het-mobiele-web">De Illusie van het Mobiele Web</a>:</p>
<blockquote>
<p>Net zoals in accessibility de praktijk om twee versies van een site te maken (&#233;&#233;n gewone, en &#233;&#233;n &#8220;toegankelijke&#8221;) achterhaald is geworden door betere standaarden en betere webbouwers - zo zal het idee om twee versies van een site te maken (&#233;&#233;n gewone, en &#233;&#233;n mobiele) nutteloos gemaakt worden door betere browsers, grotere schermen op mobieltjes, en beter onderlegde webbouwers.</p>
</blockquote>
<p>Dit klopt: de praktijk om twee versies van een website te maken is achterhaald. We volgen de webstandaarden, en de sites die we maken werken de facto op de mobiele toestellen.</p>
<p>Maar: mobiel kan nog zoveel meer zijn dan een normale website.</p>
<p>Met de evolutie in de mobiele wereld in het achterhoofd, is het ondertussen realistisch geworden om een mobiele website te maken die effectief meerwaarde biedt.</p>
<p>Een mobiele versie van je site zal makkelijker lezen:</p>
<p><a style="border: none;" href="http://www.netlash.com/userfiles/images/blogposts/vs.jpg"><img src="http://www.netlash.com/userfiles/images/blogposts/vs.jpg" alt="Vs" width="425" /></a></p>
<p>Je kan de focus leggen die mobiel relevanter zijn. Op de homepage van de mobiele Netlash website staat bijvoorbeeld een rechtstreekse link naar Google Maps, voor mensen die ons kantoor zoeken. En er staat een link waarmee je rechtstreeks kunt bellen, zonder het nummer in te moeten tikken.</p>
<p><a style="border: none;" href="http://www.netlash.com/userfiles/images/blogposts/focus.jpg"><img src="http://www.netlash.com/userfiles/images/blogposts/focus.jpg" alt="Focus" width="425" /></a></p>
<p>Ik geloof, net als Tijs, dat 2010 effectief het jaar van het mobiele web wordt.</p><p><a href="http://www.netlash.com/blog/detail/vooruit-denken-bij-het-ontwikkelen-van-een-mobiele-website" rel="canonical" title="Vooruit denken bij het ontwikkelen van een mobiele website">Vooruit denken bij het ontwikkelen van een mobiele website</a> geschreven door Johan in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/development" rel="tag" title="development">development</a>, <a href="http://www.netlash.com/tags/detail/iphone" rel="tag" title="iphone">iphone</a>, <a href="http://www.netlash.com/tags/detail/mobile" rel="tag" title="mobile">mobile</a>, <a href="http://www.netlash.com/tags/detail/strategie" rel="tag" title="strategie">strategie</a></p>
		]]>
	</description>
	<pubDate>Mon, 15 Mar 2010 16:59:00 +0100</pubDate>
	<author><![CDATA[Johan]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/vooruit-denken-bij-het-ontwikkelen-van-een-mobiele-website</guid>
	</item>
<item>
	<title><![CDATA[Convert CSS naar inline styles]]></title>
	<link>http://www.netlash.com/blog/detail/convert-css-naar-inline-styles</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/blogposts/emailold.jpg" alt="E-mail" width="138" height="205" />In onze webapplicaties - zeker diegene met <a href="http://www.abconcerts.be">een</a> <a href="http://www.vorstnationaal.be">community</a> - worden er heel wat mails verzonden, om de mails herkenbaar te maken zijn deze opgemaakt met behulp van HTML en CSS.</p>
<p>Enkele mailclients (zoals bijvoorbeeld <a href="http://mail.google.com" title="gMail">GMail</a>) strippen deze CSS uit de HTML, hierdoor krijg je dus minder leesbare mails, de oplossing hiervoor is om de CSS voor ieder element in het style-attrribute te plaatsen. Hier zijn wel een aantal nadelen aan verbonden.</p>
<ul>
<li>Onderhoudbaarheid, wat als iedere link een andere kleur moet krijgen?</li>
<li>Veel werk voor de designer, elk element moet voorzien worden van specifiek styling.</li>
<li>Wat als de inhoud niet vaststaat, maar door de gebruiker via het CMS ingegeven is?</li>
</ul>
<p>Wel, nu is er een handige PHP-class die de CSS-styling gaat omzetten naar inline-styling.</p>
<p>Je kan de class terugvinden op: <a href="http://classes.verkoyen.eu/css_to_inline_styles" title="CSSToInlineStyles">http://classes.verkoyen.eu/css_to_inline_styles</a>, daar staat ook de nodige <a href="http://classes.verkoyen.eu/css_to_inline_styles/docs" title="Documentatie CSSToInlineStyles">documentatie</a> en een voorbeeld van hoe je de class kan gebruiken.</p>
<p>Combineer dit met de <a href="http://www.netlash.com/blog/detail/html-naar-plain-text-omvormen" title="HTML naar Plain Text omvormen">functie</a> die Annelies eerder schreef en je bent klaar om jouw gebruikers de beste mail te sturen.</p><p><a href="http://www.netlash.com/blog/detail/convert-css-naar-inline-styles" rel="canonical" title="Convert CSS naar inline styles">Convert CSS naar inline styles</a> geschreven door Tijs in: <a href="http://www.netlash.com/blog/categorie/webdevelopment" title="webdevelopment">webdevelopment</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/css to inline styles" rel="tag" title="css to inline styles">css to inline styles</a>, <a href="http://www.netlash.com/tags/detail/email nieuwsbrief" rel="tag" title="email nieuwsbrief">email nieuwsbrief</a>, <a href="http://www.netlash.com/tags/detail/php" rel="tag" title="php">php</a></p>
		]]>
	</description>
	<pubDate>Thu, 11 Mar 2010 13:37:00 +0100</pubDate>
	<author><![CDATA[Tijs]]></author>
	<category><![CDATA[webdevelopment]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/convert-css-naar-inline-styles</guid>
	</item>
<item>
	<title><![CDATA[Het geïntegreerde webbureau]]></title>
	<link>http://www.netlash.com/blog/detail/het-geintegreerde-webbureau</link>
	<description>
		<![CDATA[
			<p><img height="104" width="138" src="http://www.netlash.com/userfiles/images/blogposts/tandwiel.jpg" alt="tandwiel" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" />Onze sector is een jonge sector. Het web zelf is amper twintig jaar oud; in Belgi&#235; hebben we een <a href="http://www.feweb.be/historiek-1" class="external">vakorganisatie die nog geen zeven jaar oud</a> is.</p>
<p>De meeste mensen en bedrijven die websites bouwen zijn er een beetje ingerold - vanuit een ander beroep of een andere expertise. (Ikzelf ben, in een ver verleden, afgestudeerd als <a href="http://www.netlash.com/blog/detail/anysurfer">boekhouder</a>...) Normaal eigenlijk, want in de jaren '90 bestonden er geen opleidingen tot webbouwer.</p>
<p>De twee belangrijkste instromen kwamen vanuit twee tegenovergestelde richtingen: langs de ene kant de designers, die ervaring hadden in vormgeven voor drukwerk of voor andere digitale media; langs de andere kant de developers, die ervaring hadden in het programmeren.</p>
<p>Die erfenis slepen veel webbureau's nog altijd mee. Ofwel hebben ze een zware technische insteek (en huren ze dan free-lance designers in), ofwel vertrekken ze vanuit de vormgeving (en gebruiken standaard technologie om dat te laten werken).</p>
<p>Ik ben er van overtuigd dat een <b>website bouwen een ge&#239;ntegreerd proces</b> is, waar verschillende expertises samen moeten werken naar een goed eindresultaat. (Over die <a href="http://www.netlash.com/blog/detail/webdesign-en-webdevelopment-profielen">webdesign profielen</a> heb ik het vroeger al gehad.)</p>
<p>Een goede website is een samenspel tussen <a href="http://www.netlash.com/over-ons/filosofie/technologie">technologie</a>, <a href="http://www.netlash.com/over-ons/filosofie/design">design</a>, <a href="http://www.netlash.com/over-ons/filosofie/usability">usability</a> en marketing. Die vier factoren zijn even belangrijk en moeten alle vier evenveel gewicht krijgen. En elk van die vier vraagt een eigen specialisatie. (Die vaak tegengesteld is - zoals het bon mot gaat:<i> designers zijn van Venus, developers zijn van Mars</i>.)</p>
<p>Het is juist uit de discussie tussen die vier, soms zelfs de ruzie, dat er iets moois komt.</p>
<p>Dit is het model waarbinnen we bij <a href="http://www.netlash.com">Netlash</a> werken:</p>
<p><img height="400" width="400" alt="geintegreerd webbureau" src="http://www.netlash.com/userfiles/images/blogposts/geintegreerd.jpg" /></p>
<p>Centraal in elk project staat onze klant. Meestal werken we daar samen met de marketing manager, of communicatieverantwoordelijke. (In KMO's, waar we ook heel veel voor werken, is dat vaak de zaakvoerder zelf.)</p>
<p>We vertrekken altijd van de bestaande marketingstrategie van onze klant. Het is onze klant (of zijn marketing manager) die het beste het bedrijf, de doelstellingen, de doelgroepen en de strategie van het bedrijf kent.</p>
<p>Daarnaast zijn er drie soorten Netlash-medewerkers betrokken bij het project, elk met hun eigen expertise: een webdeveloper, een webdesigner en een informatie-architect. (Zie: <a href="http://www.netlash.com/over-ons/team">Wie is wie bij Netlash</a>.)</p>
<p>De developer zorgt voor de juiste technische uitvoering; de designer voor een vormgeving die de doelstellingen van de site ondersteunt. Ondertussen zet de informatie-architect de krijtlijnen van het concept uit, &#233;n bewaakt hij tijdens het hele proces de bruikbaarheid (hij is als het ware de 'verdediger' van de eindgebruikers van de site).</p>
<p>Dit wordt geco&#246;rdineerd door een project manager: die verzorgt de communicatie tussen het team en de klant, en is verantwoordelijk voor de bewaking van scope, timing en budget.</p>
<p>Elk van die mensen is cross-disciplinair. Een moeilijk woord, om te zeggen dat ze ook over het muurtje durven kijken. Iedereen moet minstens vlekkeloos html/css kunnen hanteren - of ze nu developer, designer of IA zijn. Naast hun eigen expertise moeten ze ook feeling hebben voor de andere aspecten: ik verwacht van een programmeur dat hij mee nadenkt over de bruikbaarheid, en dat de informatie-architect een bepaald gevoel voor esthetiek heeft.</p>
<p>Het is juist door die verschillende experten bij elkaar te zetten en ze nauw met elkaar te laten communiceren (in een <a href="http://www.netlash.com/blog/detail/webdesign-omgeving">aangename omgeving</a>) dat er een evenwichtig en effectief eindresultaat komt.</p>
<p>Zo'n <b>ge&#239;ntegreerd webbureau zal volgens mij altijd voorsprong</b> hebben op losse samenwerkingsverbanden (op voorwaarde dat het klein genoeg blijft om zijn flexibiliteit, snelheid en innovatie te bewaren).</p>
<p>Wat is jullie mening?</p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/het-geintegreerde-webbureau" rel="canonical" title="Het geïntegreerde webbureau">Het geïntegreerde webbureau</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/integratie" rel="tag" title="integratie">integratie</a>, <a href="http://www.netlash.com/tags/detail/webbureau" rel="tag" title="webbureau">webbureau</a>, <a href="http://www.netlash.com/tags/detail/webdesign" rel="tag" title="webdesign">webdesign</a></p>
		]]>
	</description>
	<pubDate>Wed, 10 Mar 2010 14:30:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/het-geintegreerde-webbureau</guid>
	</item>
<item>
	<title><![CDATA[Symfony Live 2010]]></title>
	<link>http://www.netlash.com/blog/detail/symfony-live-2010</link>
	<description>
		<![CDATA[
			<p><img alt="Symfony Live 2010" src="http://www.netlash.com/userfiles/images/blogposts/symfony.png" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" width="168" height="158" />Op 16 en 17 februari ging in Parijs de eerste internationale Symfony conferentie, <a class="external" href="http://www.symfony-live.com">Symfony Live 2010</a>, door. <a class="external" href="http://www.symfony-project.org">Symfony</a> is een web PHP framework dat als doel heeft om complexe webapplicaties sneller te bouwen en het onderhoud van deze applicaties beter en gemakkelijker te maken.</p>
<p>Bij <a>Netlash</a> maken we geen gebruik van symfony, maar ik heb de laatste maanden wel een sterke persoonlijke interesse voor dit framework. En het is heel interessant om de evoluties en denkpatronen te volgen in andere communities.</p>
<p>De conferentie was goed georganiseerd en ging door in een mooie conferentiezaal in het <a class="external" href="http://www.ciup.fr">Cit&#233; Universitaire</a>. Het was een groot succes met 350 aanwezigen. Er waren heel wat interessante presentaties over <a href="http://www.doctrine-project.org">Doctrine</a>, het gebruik van <a href="http://framework.zend.com">Zend Framework</a> componenten en het gebruik van <a href="http://git-scm.com">Git</a> als Version Control System. Ik heb wel een beetje de technische voorbeelden en 'best practices' gemist over Symfony zelf. De presentaties die hierover gingen misten een beetje diepgang.</p>
<p>Het hoogtepunt van deze tweedaagse was <a href="http://symfony-reloaded.org">de preview release van Symfony 2</a>. Het meest opmerkelijke hierbij is het (nog meer) opzij schuiven van eigen ontwikkelde stukken code en het gebruik maken van onderdelen uit het Zend Framework (<a href="http://framework.zend.com/manual/en/zend.log.html">Zend_Log</a> en <a href="http://framework.zend.com/manual/en/zend.cache.html">Zend_Cache</a>). Hiermee volgt Symfony verder z'n visie "<i>Don't reinvent the wheel</i>". Deze presentatie van Fabien Potencier kan je bekijken op Slideshare:</p>
<div id="x19816" class="slideshare"><a href="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony2-100217175329-phpapp01&amp;stripped_title=symfony-20-revealed">Bekijk de presentatie</a></div>
<p>Al bij al een heel gezellige conferentie die heel duidelijk de mooie community rond Symfony in de verf zette. Alle presentaties en de reacties van de aanwezigen kan je nalezen op <a href="http://joind.in/event/view/90">Joind.in</a>.</p><p><a href="http://www.netlash.com/blog/detail/symfony-live-2010" rel="canonical" title="Symfony Live 2010">Symfony Live 2010</a> geschreven door Bert in: <a href="http://www.netlash.com/blog/categorie/opleiding" title="opleiding">opleiding</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/conferentie" rel="tag" title="conferentie">conferentie</a>, <a href="http://www.netlash.com/tags/detail/symfony" rel="tag" title="symfony">symfony</a></p>
		]]>
	</description>
	<pubDate>Mon, 01 Mar 2010 05:29:00 +0100</pubDate>
	<author><![CDATA[Bert]]></author>
	<category><![CDATA[opleiding]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/symfony-live-2010</guid>
	</item>
<item>
	<title><![CDATA[HTML naar plain text omvormen]]></title>
	<link>http://www.netlash.com/blog/detail/html-naar-plain-text-omvormen</link>
	<description>
		<![CDATA[
			<p><img alt="Stripper" src="http://www.netlash.com/userfiles/images/blogposts/stripper.jpg" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" height="201" width="138" /><i>Voor het <a href="http://www.netlash.com/wat-we-doen/producten/e-mail-marketing">versturen van e-mails</a> in een priv&#233;-project had ik een functie nodig die een HTML-mail kon omvormen naar een plain text mail. Meestal wordt dit gedaan door simpelweg de PHP functie <a class="external" href="http://be2.php.net/manual/en/function.strip-tags.php" title="strip_tags">strip_tags</a> op de HTML-mail los te laten. Dit geeft echter problemen als je bijvoorbeeld -style- tags in je code staan hebt. De <a class="external" href="http://be2.php.net/manual/en/function.strip-tags.php" title="strip_tags">strip_tags</a> functie zal de begin- en eindtags wel 'strippen' maar zal alles ertussen laten staan. En een plain text mail met p { font-size: 12px; } en dergelijke in is nu niet echt proper. Daarom heb ik dus de functie getPlainText gemaakt.</i></p>
<h3><a href="http://www.netlash.com/userfiles/files/getPlainText.txt" title="download getPlainText">De functie</a>:</h3>
<p><a href="http://www.netlash.com/userfiles/files/getPlainText.txt" title="download getPlainText"><img alt="getPlainText" src="http://www.netlash.com/userfiles/images/blogposts/getPlainText_small.png" height="467" width="480" /></a></p>
<h3>De uitleg:</h3>
<p><b>// replace break rules with a linefeed and make sure a paragraph also ends with a new line</b><br />Hier gaan we dus -br-&#160;tags vervangen door enters. En aangezien paragrafen ook moeten gescheiden worden van elkaar en meerdere paragrafen in de html op 1 regel kunnen staan zorgen we ervoor dat deze al in html vorm op verschillende lijnen staan.</p>
<p><b>// remove tabs</b><br />De tabs die door indentatie in de html-code staan mogen in de plain-text versie ook verwijderd worden.</p>
<p><b>// remove the head- and style-tags and all their contents</b><br />De reden waarom deze functie geschreven is. De <a class="external" href="http://be2.php.net/manual/en/function.strip-tags.php" title="strip_tags">strip_tags</a> functie van php zal enkel de start- en eind-tags van deze elementen verwijderen, waardoor alles dat tussen deze tags staat behouden blijft. Door een <a class="external" href="http://be2.php.net/manual/en/function.preg-replace.php" title="preg_replace">preg_replace</a> te doen van deze html-tags en hun inhoud is dit probleem opgelost.</p>
<p><b>// replace links with the inner html of the link with the url between ()</b><br />Indien je de parameter $includeAHrefs niet overschrijft met de waarde false zal deze regel de links in de html vervangen door de html die binnen de link staat met daarachter de url tussen haakjes. Dit zorgt ervoor dat links in je html-document niet verloren gaan, wat wel het geval is bij <a class="external" href="http://be2.php.net/manual/en/function.strip-tags.php" title="strip_tags">strip_tags</a>.</p>
<p><b>// replace images with their alternative content</b><br />Hetzelfde voor de afbeeldingen. Deze regels zal de afbeelding vervangen door de alt parameter van het img-element.</p>
<p><b>// strip tags</b><br />En nu pas laten we de strip tags functie los op de tekst.</p>
<p><b>// replace 'line feed' characters with the 'carriage return/line feed' character pair</b><br />We vervangen de line feeds of "\n" karakters door het carriage return line feed paar zodat volgende regel kan uitgevoerd worden.</p>
<p><b>// replace double, triple, ... line feeds to one new line</b><br />Deze regel zorgt ervoor dat de overbodige witregels in de tekst vervangen worden door 1 witregel.</p>
<p><b>// decode html entities</b><br />Deze regel zal html entiteiten zoals &#233; vervangen door hun plain text waarden (in dit geval dus &#233;) door middel van de <a class="external" href="http://docs.spoon-library.be/spoonfilter/htmlentitiesdecode" title="SpoonFilter::htmlentitiesDecode">Spoon functie htmlentitiesDecode</a>. Voor meer info over <a class="external" href="http://www.spoon-library.be/" title="Spoon library">Spoon</a> kan je terecht op <a class="external" href="http://www.spoon-library.be/" title="Spoon library">spoon-library.be</a>.<br />Als je niet met Spoon werkt kan je hier natuurlijk ook altijd de standaard php functie <a class="external" href="http://be2.php.net/manual/en/function.html-entity-decode.php" title="html_entity_decode">html_entity_decode</a> gebruiken.</p>
<h3>Een voorbeeld:</h3>
<p>Als voorbeeld wou ik de <a href="http://netlash.com" title="Netlash webdesign">Netlash</a> nieuwsbrief van 21 januari even door deze functie halen.</p>
<p>Bekijk achtereenvolgens eens de <a href="http://www.netlash.com/userfiles/files/netlash_nieuwsbrief.jpg" title="Netlash nieuwsbrief">originele nieuwsbrief</a>, de <a href="http://www.netlash.com/userfiles/files/result_with_strip_tags.txt" title="resultaat met strip_tags">plain text inhoud gemaakt met strip_tags</a> en de <a href="http://www.netlash.com/userfiles/files/result_with_getPlainText.txt" title="resultaat met getPlainText">plain text inhoud gemaakt met getPlainText</a>.</p>
<h3>Opmerkingen:</h3>
<p>Zodat jullie ze niet meer moeten geven, enkele opmerkingen:</p>
<ul>
<li>Niet alle html karakters worden goed vervangen.</li>
<li>Afhankelijk van de html code zullen er hier en daar toch nog meerdere witregels staan.</li>
<li>Het beste resultaat wordt natuurlijk nog altijd verkregen als je zelf de plain inhoud van je nieuwsbrief maakt.</li>
</ul>
<p>Nog opmerkingen zijn uiteraard welkom :-)</p>
<h3>Update (13/02/2010)</h3>
<p>De nieuwe versie kan je <a href="http://www.netlash.com/userfiles/files/getPlainText2.txt" title="getPlainText versie 2">hier</a> vinden.<br />Het resultaat op de <a href="http://www.netlash.com/userfiles/files/netlash_nieuwsbrief.jpg" title="Netlash nieuwsbrief">Netlash nieuwsbrief van 21 januari</a> vind je <a href="http://www.netlash.com/userfiles/files/result_with_getPlainText2.txt" title="resultaat met getPlainText versie 2">hier</a>.</p>
<p>Wat is er veranderd?</p>
<ul>
<li>hoofdingen worden nu aangeduidt door **</li>
<li>lijst items worden aangeduidt met -</li>
<li>na hoofdingen, paragrafen en lijst items worden er witregels geplaatst</li>
<li>script elementen worden nu ook gestript zodat de functie niet enkel voor e-mail nieuwsbrieven geschikt is</li>
</ul>
<p>Dit maakt het geheel nog beter leesbaar en zorgt voor een minimum aan opmaak.</p>
<p>&#160;</p>
<p>(Deze blogpost is geschreven door Netlash webdevelopster Annelies, en verscheen eerst <a href="http://annelyze.be/blog/detail/html-naar-plain-text-omvormen" class="external">op haar persoonlijke blog</a>.)</p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/html-naar-plain-text-omvormen" rel="canonical" title="HTML naar plain text omvormen">HTML naar plain text omvormen</a> geschreven door Annelies in: <a href="http://www.netlash.com/blog/categorie/webdevelopment" title="webdevelopment">webdevelopment</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/e-mail" rel="tag" title="e-mail">e-mail</a>, <a href="http://www.netlash.com/tags/detail/email nieuwsbrief" rel="tag" title="email nieuwsbrief">email nieuwsbrief</a>, <a href="http://www.netlash.com/tags/detail/plain text" rel="tag" title="plain text">plain text</a>, <a href="http://www.netlash.com/tags/detail/strip" rel="tag" title="strip">strip</a>, <a href="http://www.netlash.com/tags/detail/tags" rel="tag" title="tags">tags</a></p>
		]]>
	</description>
	<pubDate>Tue, 02 Feb 2010 22:07:00 +0100</pubDate>
	<author><![CDATA[Annelies]]></author>
	<category><![CDATA[webdevelopment]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/html-naar-plain-text-omvormen</guid>
	</item>
<item>
	<title><![CDATA[Webdesign proces bij Netlash]]></title>
	<link>http://www.netlash.com/blog/detail/webdesign-proces-bij-netlash</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/blogposts/klimmen.jpg" width="138" />We hebben hier bij Netlash wel al <a href="http://www.netlash.com/portfolio">een aantal webprojecten</a> afgewerkt. Door de jaren heen is er een bepaalde systematiek uitgekristaliseerd - een manier van werken, een stappenplan, waarvan we ondertussen weten dat dit de goede manier is om een website tot stand te laten komen.</p>
<p>In dit artikel wil ik deze methodiek met jullie delen, en jullie feedback daarop vragen (want <a class="external" href="http://nl.wikipedia.org/wiki/Alles_kan_beter">alles kan altijd beter</a>, niet?).</p>
<p>De stappen die we nemen zijn er met een goede reden. Zie het bouwen van een website als het beklimmen van een berg. Ja, je kan zonder zekeringen helemaal naar boven klimmen. Maar toch zal je beter op regelmatige intervallen een haak in de bergwand slaan om je <a href="http://nl.wikipedia.org/wiki/Klimmateriaal" class="external">musketon</a> vast te maken. Als je niet gevallen bent, bij het naar boven klimmen, heb je inderdaad een hele hoop extra en overbodig werk gehad met die musketons. Maar als je wel mistrapt en valt, zorgen de borgen ervoor dat je maar een kleine afstand opnieuw moet omhoogklimmen - en niet de dodelijke val over de volledige diepte meemaakt.</p>
<p><a class="noborder" href="http://www.netlash.com/userfiles/images/blogposts/proces.jpg"><img alt="webdesign proces" src="http://www.netlash.com/userfiles/images/blogposts/proces.jpg" width="450" /></a></p>
<p>Vandaar dit proces. Een aantal van de stappen lijken overbodig, maar ze zorgen wel voor een <a href="http://www.netlash.com/blog/detail/webdesign-en-zijn-bilities">constante kwaliteitsgarantie</a> over projecten heen.</p>
<p>&#160;</p>
<p><b>0. Voorbereiding</b></p>
<p>Na de eerste prospectiegesprekken wordt de prospect meestal onze klant. We starten met een beetje <b>administratie</b>: zorgen dat de afspraken rond facturatie goed gemaakt zijn, en een duidelijke planning. Op de stappen die hieronder volgen wordt een datum gekleefd, zodat zowel onze klant als wijzelf duidelijk weten wanneer wat van ons verwacht wordt.</p>
<p>Tegelijkertijd sturen we al een eerste vragenlijst door (voer voor een andere blogpost) rond inhoud en vorm.</p>
<p>&#160;</p>
<p><b>1. Analyse</b></p>
<p>De eerste echte stap is heel eenvoudig samen te vatten: 'goed nadenken'.</p>
<p>Mijn vader zei me altijd: "Beter twee keer meten en maar &#233;&#233;n keer zagen - da's effici&#235;nter". Wel, da's ook zo bij het bouwen van websites.</p>
<p>Dit is vooral praten. Praten met onze klant: hoe zit zijn bedrijf of organisatie in elkaar, wat zijn de doelgroepen, wat is de doelstelling van de site?</p>
<p>Het gaat over het verzamelen van informatie: de transfer van kennis die in het hoofd van onze klant zit, naar onze hoofden - om die dan te<a href="http://www.netlash.com/wat-we-doen/strategie/web-strategie"> bevruchten met onze kennis van wat werkt online en wat niet</a>.</p>
<p>We doen dit in eerste instantie met een echte <b>kick-off meeting</b>. Daarin overlopen we met onze klant nog eens de zaken uit de voorbereidingsfase - en vragen we hem de pieren uit zijn neus over zijn bedrijf of organisatie.</p>
<p><a class="noborder" href="http://www.flickr.com/photos/bartmobiel/4292809436/" title="0-mindmap by bartmobiel, on Flickr"><img src="http://farm3.static.flickr.com/2754/4292809436_d4181f1330.jpg" alt="0-mindmap" height="186" width="350" /></a></p>
<p>Typisch verzamelen we al die informatie in een <b>mindmap</b>; zo kunnen we onze gedachten op een gestructureerde manier ordenen.</p>
<p>Hier worden ook de functionele vereisten van de website verzameld: wat moet de site doen, op welke manier? Je kan dit gerust een functionele analyse noemen.</p>
<p>&#160;</p>
<p><b>2. Informatie-architectuur</b></p>
<p>Die verzamelde informatie - hoe geordend of chaotisch ook - gaan we structureren, hi&#235;rarcheren, labelen. Dit heet <a href="http://www.netlash.com/wat-we-doen/bouwen/informatie-architectuur-en-interaction-design">informatie-architectuur</a>.</p>
<p>We bouwen al een eerste ruwe versie van de site in html - wat wij een <b>structuurdocument</b> noemen. Dit is een lege versie van de site: zonder layout, zonder functionaliteit, vaak ook zonder afgewerkte teksten.</p>
<p>We zouden dit op papier (of in Powerpoint of in Visio of ...) kunnen doen (en vaak doen we dat ook eerst); maar een klikbare versie legt de <i>flow</i> doorheen de site bloot. Als je effectief van pagina naar pagina kan klikken via werkende links, <i>voel</i> je hoe de site in elkaar zit, en waar de 'kleine haperingskes' zitten.</p>
<p>Je voelt hoe het klikt.</p>
<p><a class="noborder" href="http://www.flickr.com/photos/bartmobiel/4287829599/" title="1-structuur by bartmobiel, on Flickr"><img src="http://farm5.static.flickr.com/4032/4287829599_e8b32b78a0.jpg" alt="1-structuur" height="383" width="425" /></a></p>
<p>Dit is een <b>iteratief</b> proces: op basis van de informatie die we verzamelden, maken we een eerste voorstel, en zetten dat online voor onze klant. We vragen feedback, sturen bij, leveren een nieuw voorstel op, vragen feedback... tot het goed zit.</p>
<p>Dit is de belangrijkste fase in het hele proces.&#160;</p>
<p>Vergelijk het met het bouwen van een huis: vooraleer je begint te metselen, teken je toch eerst een plan? Dit structuurdocument is het architectuurplan van de website.</p>
<p>Het voorbeeld hierboven is dat van de vernieuwde <a href="http://www.bseen.be" class="external">bSeen website</a> - je vind de <a href="http://preview.netlashproject.be/bseen/structuur/index.html">twee iteraties van het structuurdocument hier</a>.</p>
<p>&#160;</p>
<p><b>3. Design</b></p>
<p>Na goedkeuring van het structuurdocument starten we met de layout-fase.</p>
<p>We vertrekken hiervoor vanuit de wensen van de klant. In de voorbereidende fase vroegen we hem een like/dislike lijst: een lijst van andere websites die hij visueel goed vind (en waarom) of niet goed vind (en waarom).</p>
<p>Daarnaast gebruiken we ook het aangeleverde huisstijlmateriaal. We hebben al het volledige spectrum meegemaakt: van 'er is helemaal niets, doe maar' tot 'hier is onze 260 pagina's tellende huisstijlgids'.</p>
<p>Onze designers beginnen altijd met <b>schetsen</b>, op papier. Ze baseren zich daarbij op het bovenstaande structuurdocument:</p>
<p><a class="noborder" href="http://www.flickr.com/photos/bartmobiel/4288569782/" title="2-schets1 by bartmobiel, on Flickr"><img src="http://farm5.static.flickr.com/4055/4288569782_f39e253af5.jpg" alt="2-schets1" height="388" width="425" /></a></p>
<p>Die eerste ruwe schetsen worden verder verfijnd en uitgewerkt:</p>
<p><a class="noborder" href="http://www.flickr.com/photos/bartmobiel/4287829441/" title="3-schets2 by bartmobiel, on Flickr"><img src="http://farm3.static.flickr.com/2690/4287829441_e9196511e8.jpg" alt="3-schets2" height="500" width="365" /></a></p>
<p>Daarna beginnen we aan het eerste <b>ontwerp</b> in Photoshop. We starten daarvoor met een binnenpagina - wat wij het 'werkpaard' noemen. (Het 'werkpaard' is die pagina die zonder extra ondersteuning al het harde werk moet doen: overbrengen van betekenis.)</p>
<p>Deze fase (eerste echte ontwerp in Photoshop) dient om de stijl van de site vast te leggen. Het is niet de bedoeling om hier alle details al vast te leggen. Wel om onze klant een gevoel te geven van hoe de site er zal uitzien. Vertrekkend van dit eerste ontwerp zullen de webdesigners dan extrapoleren naar andere pagina's.</p>
<p><a class="noborder" href="http://www.flickr.com/photos/bartmobiel/4287829789/" title="4-ontwerp1 by bartmobiel, on Flickr"><img src="http://farm3.static.flickr.com/2687/4287829789_374d626d2b.jpg" alt="4-ontwerp1" height="337" width="425" /></a></p>
<p>Het gaat dus over de grote layout-lijnen. Vandaar dat we niet met de homepagina starten - de binnenpagina, de inhoudspagina zal veel meer van deze layout-lijnen blootleggen.</p>
<p>(Bovendien is <a href="http://www.netlash.com/blog/detail/de-homepagina-van-een-website">de homepagina al lang niet meer de belangrijkste pagina van een website</a>.)</p>
<p>Ook dit is een <b>iteratief</b> proces: we leveren een eerste voorstel, vragen feedback, sturen bij...</p>
<p><a class="noborder" href="http://www.flickr.com/photos/bartmobiel/4287829969/" title="5-ontwerp2 by bartmobiel, on Flickr"><img src="http://farm3.static.flickr.com/2443/4287829969_e5c12cbe5d.jpg" alt="5-ontwerp2" height="349" width="425" /></a></p>
<p>Als die algemene stijl goedgekeurd is, werken we ook de andere pagina's uit: de homepagina, een blogpagina, een contactformulier...</p>
<p>&#160;</p>
<p><b>4. Slice</b></p>
<p>Deze goedgekeurde Photoshop documenten worden uitgewerkt in <b>html/css templates</b>.</p>
<p><a class="noborder" href="http://www.flickr.com/photos/bartmobiel/4287831453/" title="6-ontwerphome by bartmobiel, on Flickr"><img src="http://farm3.static.flickr.com/2765/4287831453_40e87a3355.jpg" alt="6-ontwerphome" height="311" width="425" /></a></p>
<p>Ze worden opgemaakt volgens onze interne normen, en klaargezet om ge&#239;ntegreerd te worden in ons <a href="http://www.netlash.com/wat-we-doen/producten/fork-cms">CMS</a>.</p>
<p>&#160;</p>
<p><b>5. Development</b></p>
<p>Ondertussen zijn de webdevelopers al druk bezig om de <b>functionaliteit die op maat</b> moet geprogrammeerd worden uit te werken. Ze baseren zich daarbij op de functionele analyse uit stap 1 en het structuurdocument uit stap 2.</p>
<p>We hebben al heel veel veelgevraagde functionaliteiten uitgewerkt als standaard modules voor <a class="external" href="http://www.fork-cms.be">Fork CMS</a>; maar tegelijkertijd geloven we dat elke site maatwerk vraagt.</p>
<p><a class="noborder" href="http://static.netlash.be/userfiles/images/fork3.jpg"><img alt="Fork module" src="http://static.netlash.be/userfiles/images/fork3.jpg" width="450" /></a></p>
<p>Die maat-functionaliteit wordt dus uitgewerkt in nieuwe Fork-modules.</p>
<p>&#160;</p>
<p><b>6. Integratie</b></p>
<p>De structuur, het design, en het programmeerwerk worden <b>ge&#239;ntegreerd</b> in het <a href="http://www.netlash.com/wat-we-doen/producten/fork-cms">Content Management Systeem</a>, Fork dus.</p>
<p>Als we ons werk in de vorige stappen goed gedaan hebben, staat hier een werkende website die voor 90% goed zit.</p>
<p>&#160;</p>
<p><b>7. Testen</b></p>
<p>Het spreekt vanzelf dat we dit uitgebreid testen; we leveren ook een <b>testversie</b> op aan onze klant zodat ook hij kan testen.</p>
<p>Onze klant moet uiteraard niet testen of het werkt (dat is onze job) - wel of alles er in zit, of alles op de juiste plaats zit, of we alles goed begrepen hebben...</p>
<p>Maar zoals gezegd, door de stapsgewijze aanpak waarbij de klant op elk moment mee stuurt, zal dit een quasi afgewerkte site zijn.</p>
<p>&#160;</p>
<p><b>8. Content</b></p>
<p>Als alles aan beide kanten uitvoerig getest is, leveren we de site op.</p>
<p>Dat is het moment waarop onze klant <b>inhoud in het CMS</b> kan plaatsen. Ik 'eis' meestal van mijn klanten dat ze effectief zelf in het CMS werken - zo leren ze het kennen, en als er nog vragen of kleine wijzigingen opduiken dan kan dit nu, en niet als de site live is en de ganse wereld zit mee te kijken.</p>
<p><img src="http://farm3.static.flickr.com/2690/4287835839_516eb3718a.jpg" alt="7-site" height="335" width="425" /></p>
<p>Op dat moment kan de klant niet alleen de teksten aanpassen, maar ook de beelden.</p>
<p>De website wordt op de definitieve server geplaatst (en nog eens getest, om verrassingen te voorkomen), maar voorlopig onder een niet-definitieve URL.</p>
<p>&#160;</p>
<p><b>9. Live</b></p>
<p>Als alle inhoud geplaatst is, kan de website <b>live</b> gaan. We koppelen dan de definitieve URL aan de server.</p>
<p>Vanaf dat moment kan de klant die site volledig zelf beheren. Om het met een overdrijving te zeggen: <i>na afloop van het proces wil ik die klant niet meer zien</i>. Dit is uiteraard niet waar; maar voor dagelijkse aanpassingen moeten onze klanten volledig zelfstandig met het Content Management Systeem kunnen werken. (Als voor elke dt-fout een klant naar zijn webbureau terug moet, cre&#235;ert dit alleen maar frustratie. Het webbureau moet dit inplannen, de klant wil dit onmiddellijk; het webbureau moet dit factureren, de klant wil dat gratis... Vandaar is een flexibel en uitgebreid CMS levensnoodzakelijk.)</p>
<p>Uiteraard ondersteunen we op elk moment onze klant; en staan we klaar voor functionele wijzigingen of uitbreidingen van de site - dan start dit proces opnieuw.</p>
<p>Het eindresultaat van de bovenstaande staooeb voor <a class="external" href="http://www.bseen.be">de bSeen website kan je online bekijken</a>.</p>
<p>&#160;</p>
<p><b>10. Support</b></p>
<p>We volgen elk project op met een <b>support-periode</b>: een aantal weken na oplevering dat we die site met de loep mee volgen - zodat we snel kunnen ingrijpen mochten er bugs opduiken of als er kleine wijzigingen nodig zouden zijn.</p>
<p>Als onze klant dat wil (meestal enkel bij grotere projecten), bouwen we dit structureel in met een <b>onderhoudscontract</b>.</p>
<p>&#160;</p>
<p>Dit zijn dus de stappen die we volgen bij het uitbouwen van <a href="http://www.netlash.com/portfolio">onze websites</a>. Nogmaals in een grafiek gegoten:<a class="noborder" href="http://www.netlash.com/userfiles/images/blogposts/proces.jpg"><img alt="webdesign proces" src="http://www.netlash.com/userfiles/images/blogposts/proces.jpg" width="450" /></a></p>
<p>De verschillende stappen na elkaar in een slideshow tonen het onstaansproces van zo'n site:</p>
<p><iframe src="http://www.flickr.com/slideShow/index.gne?set_id=72157623118666767" frameborder="0" height="400" scrolling="no" width="400" align="center"></iframe></p>
<p>We hebben ondertussen geleerd dat de stappen in dit proces nodig zijn. Als we er &#233;&#233;n overslaan, betekent dit heel vaak problemen of frustratie verder op de lijn.</p>
<p>Dit betekent niet dat we een maand afgezonderd in een hokje gaan zitten met een koude pizza en een fles cola - onze klant stuurt op elk moment mee. We spelen als het ware ping-pong met hem.</p>
<p>Het gevolg is dat we net zo veeleisend zijn voor onze klanten als we zijn voor onszelf. Maar dat is de enige manier om tot een goed eindresultaat te komen.</p>
<p>&#160;</p>
<p><b>Zo, da's de korte samenvatting van ons webdesign proces. Hebben jullie feedback? Hoe verloopt het bij jullie? Hoe zouden jullie dit proces verbeteren?</b></p><p><a href="http://www.netlash.com/blog/detail/webdesign-proces-bij-netlash" rel="canonical" title="Webdesign proces bij Netlash">Webdesign proces bij Netlash</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/kwaliteit" rel="tag" title="kwaliteit">kwaliteit</a>, <a href="http://www.netlash.com/tags/detail/proces" rel="tag" title="proces">proces</a>, <a href="http://www.netlash.com/tags/detail/webdesign" rel="tag" title="webdesign">webdesign</a></p>
		]]>
	</description>
	<pubDate>Mon, 25 Jan 2010 07:40:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/webdesign-proces-bij-netlash</guid>
	</item>
<item>
	<title><![CDATA[MySQL EXPLAIN als hulp]]></title>
	<link>http://www.netlash.com/blog/detail/mysql-explain-als-hulp</link>
	<description>
		<![CDATA[
			<p>
<style type="text/css"><!--
	table.explain th { padding: 3px 3px; }
	table.explain td { padding: 3px 3px; }
	pre { font-size: 10px; }
--></style>
</p>
<p><img alt="mysql" src="http://www.netlash.com/userfiles/images/blogposts/mysql.png" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" width="138" />Queries optimaliseren, veel developers zien het als een straf. Het kan nochtans eenvoudig zijn, maar zoals bij alles moet je eerst begrijpen wat er gebeurt vooraleer je kan gaan ingrijpen.</p>
<p>Om te begrijpen hoe MySQL een query behandelt kan je het <a href="http://dev.mysql.com/doc/refman/5.1/en/using-explain.html">EXPLAIN</a>-statement  	gebruiken. Met behulp van dit statement kom je heel wat te weten.</p>
<p>Een voorbeeld:</p>
<pre class="singleLine"><code>EXPLAIN SELECT d.id, d.profile_id, ...<br />FROM designs AS d<br />INNER JOIN templates AS t ON d.template_id = t.id<br />INNER JOIN profiles AS p ON d.profile_id = p.id <br />WHERE d.active = 'Y' AND d.offline = 'N' AND d.template_id &gt; 0 AND (d.date_expire IS NULL OR d.date_expire &gt; NOW());</code></pre>
<p>Als resultaat krijg je iets zoals hieronder:</p>
<table class="datagrid explain" cellpadding="0" cellspacing="0">
<thead> 
<tr style="vertical-align: top;" class="rowHeader">
<th>id</th><th>select_<br />type</th><th>table</th><th>type</th><th>possible_<br />keys</th><th>key</th><th>key_<br />len</th><th>ref</th><th>rows</th><th>Extra</th>
</tr>
</thead> 
<tbody style="vertical-align: top">
<tr>
<td>1</td>
<td>simple</td>
<td>t</td>
<td>range</td>
<td>primary</td>
<td>primary</td>
<td>4</td>
<td>null</td>
<td>4</td>
<td>Using where;<br />Using index</td>
</tr>
<tr>
<td>1</td>
<td>simple</td>
<td>d</td>
<td>all</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>585</td>
<td>Using where</td>
</tr>
<tr>
<td>1</td>
<td>simple</td>
<td>p</td>
<td>eq_ref</td>
<td>primary,<br />idx_id_active</td>
<td>primary</td>
<td>4</td>
<td>db.d.<br />profile_id</td>
<td>1</td>
<td>Using index</td>
</tr>
</tbody>
</table>
<p>In deze tabel zijn er verschillende kolommen met elk hun eigen betekenis, hieronder bespreken we de relevante kolommen. Meer informatie over 	alle kolommen kan je terugvinden op <a href="http://dev.mysql.com/doc/refman/5.1/en/using-explain.html">dev.mysql.com</a>.</p>
<h4>select_type</h4>
<p>Het gebruikte SELECT-type. Mogelijke waardes zijn:</p>
<ul>
<li> <b>SIMPLE</b>
<p>Zoals het woord als zegt: een eenvoudige SELECT.</p>
</li>
<li> <b>PRIMARY</b>
<p>Omringende SELECT-query.</p>
</li>
<li> <b>UNION</b>
<p>Tweede of laatste SELECT in een query die gebruik maakt van UNION.</p>
</li>
<li> <b>DEPENDANT UNION</b>
<p>Tweede of laatste SELECT in een query die gebruikt maakt van UNION en afhankelijk is van de omringende query.</p>
</li>
<li> <b>UNION RESULT</b>
<p>Resultaat van de UNION.</p>
</li>
<li> <b>SUBQUERY</b>
<p>Eerste SELECT in de subquery.</p>
</li>
<li> <b>DEPENDANT SUBQUERY</b>
<p>Eerste SELECT in de subquery en afhankelijk van de omringende query.</p>
</li>
<li> <b>DERIVED</b>
<p>Afgeleide tabel (maw: er staat een subquery in de FROM-clause).</p>
</li>
<li> <b>UNCACHEABLE SUBQUERY</b>
<p>Subquery waarvan iedere rij moet worden geherevalueerd.</p>
</li>
<li> <b>UNCACHEABLE UNION</b>
<p>Tweede of laatste SELECT in een query die gebruikt maakt van een UNION in de subquery.</p>
</li>
</ul>
<h4>table</h4>
<p>De gebruikte tabel.</p>
<h4>type</h4>
<p>Het type van JOIN, er zijn verschillende waardes mogelijk.</p>
<p>De verschillende types worden hieronder aflopend gesorteerd. De volgorde van de MySQL manual wordt gerespecteerd, en deze omschrijft de volgorde als 'gesorteerd van het beste type naar het slechtste'. In de praktijk is deze volgorde niet van 'snel naar traag', gezien dit alles afhangt van wat je exact verwacht van je query.</p>
<ul>
<li> <b>system</b>
<p>Indien de tabel maar 1 rij bevat.</p>
</li>
<li> <b>const</b>
<p>Je vergelijkt met een constante en is daarom snel.</p>
<pre class="singleLine"><code>SELECT * FROM table <b>WHERE id = 1</b>;</code></pre>
</li>
<li> <b>eq_ref</b>
<p>Er is maar 1 rij uit deze tabel die past bij (de combinatie van) de vorige rijen. Hier gaat het dus om een PRIMARY KEY of UNIQUE index in de tabel die wordt gejoined.</p>
<pre class="singleLine"><code>SELECT t1.*, t2.* FROM table1 AS t1 INNER JOIN table2 AS t2 <b>ON t2.id = t1.fk</b>;</code></pre>
</li>
<li> <b>ref</b>
<p>Bij (de combinatie van) de vorige rijen kunnen meerdere rijen van deze kolom matchen omdat de kolom waarop de tabellen gejoind worden  			geen unieke waarden bevat.</p>
<pre class="singleLine"><code class="singleLine">SELECT * FROM table1 AS t1 INNER JOIN table2 AS t2 <b>ON t2.not_unique = t1.fk</b>;</code></pre>
</li>
<li> <b>fulltext</b>
<p>In tegenstelling tot bovenstaande query-types wordt hier niet gezocht op een exacte waarde in je dataset, maar wordt een match gedaan  			op de volledige inhoud van je rij om te bekijken of de waarde voorkomt en hoe vaak deze voorkomt.</p>
<p>Hierbij worden intern ook enkele  			speciale handelingen uitgevoerd: zo worden bijvoorbeeld zoekwoorden die in meer dan 50% van de rijen voorkomen of taal-specifieke  			stopwoorden (zoals some, then, &#8230;) niet meegerekend.</p>
<p class="mute"><small> Met '<a title="Match() against()" href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html#function_match">IN NATURAL LANGUAGE MODE</a>' zal het nodig zijn een FULLTEXT index aan te maken op de columns die je wenst te doorzoeken.<br />Bij '<a title="Match() against()" href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html#function_match">IN BOOLEAN MODE</a>' is dit niet nodig (opzoeken zal hierdoor wel trager gaan), en kunnen ook speciale operators meegegeven worden om heel specifiek te gaan zoeken. Deze zal uiteraard om deze reden ook nog trager zijn dan de NATURAL LANGUAGE MODE omdat dit een veel complexere operatie kan worden.</small></p>
<pre class="singleLine"><code>SELECT * FROM table <b>WHERE MATCH(column) AGAINST('search')</b>;</code></pre>
</li>
<li> <b>ref_or_null</b>
<p>Idem als 'ref', maar hier wordt ook gecontroleerd op null-waarden.</p>
<pre class="singleLine"><code>SELECT * FROM table1 AS t1 <b>LEFT OUTER JOIN table2 AS t2 ON t2.not_unique = t1.fk</b>;</code></pre>
</li>
<li> <b>index_merge</b>
<p>Dit type geldt voor queries waarbij het resultaat de uitkomst is van meerdere verschillende selecties (typisch bij OR). Intern worden deze verschillende selecties apart uitgevoerd en de resultaten hiervan worden gecombineerd weergegeven als omvattende resultset die voldoet aan de volledige expressie.</p>
<pre class="singleLine"><code>SELECT * FROM table <b>WHERE column1 = X OR column2 = Y</b>;</code></pre>
</li>
<li> <b>unique_subquery</b>
<p>De kolommen die gematcht worden zijn het resultaat van een subquery die unieke kolommen geeft.</p>
<pre class="singleLine"><code>SELECT * FROM table1 <b>WHERE column IN (SELECT id FROM table2)</b>;</code></pre>
</li>
<li> <b>index_subquery</b>
<p>Dit type is gelijk aan unique_subquery, behalve dat in plaats van een subquery met unieke waarden, deze werkt met niet-unieke kolommen.</p>
<pre class="singleLine"><code>SELECT * FROM table1 <b>WHERE column IN (SELECT not_unique FROM table2)</b>;</code></pre>
</li>
<li> <b>range</b>
<p>Enkel rijen binnen een bepaalde range van een index moeten worden onderzocht, de gebruikte index kan je terugvinden in de key-kolom.</p>
<pre class="singleLine"><code>SELECT * FROM table <b>WHERE id BETWEEN 10 AND 20</b>;<br />SELECT * FROM table <b>WHERE id IN (10, 11, 12)</b>;</code></pre>
</li>
<li> <b>index</b>
<p>Idem als ALL (zie onder), maar enkel de index moet onderzocht worden.</p>
<pre class="singleLine"><code class="singleLine">SELECT * FROM table <b>WHERE id = 1</b>;</code></pre>
</li>
<li> <b>ALL</b>
<p>De volledige tabel moet onderzocht worden. Indien dit voorvalt los je dit best op.</p>
</li>
</ul>
<h4>possible_keys</h4>
<p>Een oplijsting van de indexen die MySQL kan gebruiken. Dit wil niet zeggen dat er &#233;&#233;n zal gebruikt worden.</p>
<p>Indien deze kolom leeg is, dan zijn er geen bruikbare indexen gevonden. Het kan dan nuttig zijn om op basis van de WHERE-clause een 	toepasselijke index te maken.</p>
<h4>key</h4>
<p>Hier kan je zien welke key (index) gebruikt is.</p>
<h4>ref</h4>
<p>Hier kan je zien welke kolom vergeleken werd met de gebruikte index.</p>
<h4>rows</h4>
<p>Het (geschatte) aantal rijen dat MySQL zal onderzoeken.</p>
<p>Als je gebruik maakt van JOINS dan moet je de resultaten in deze kolom met elkaar vermeningvuldigen, zo bekom je het totale aantal rijen. 	Het spreekt vanzelf dat een lager totaal een snellere query oplevert.</p>
<h4>extra</h4>
<p>In deze kolom kan je informatie vinden over hoe MySQL de query oplost. Mogelijke waardes zijn:<br /> <span class="mute">(enkel relevante waardes zijn vermeld, meer op: <a href="http://dev.mysql.com/doc/refman/5.1/en/using-explain.html">http://dev.mysql.com/doc/refman/5.1/en/using-explain.html</a>)</span></p>
<ul>
<li> <b>Distinct</b>
<p>MySQL zoekt naar unieke waardes.</p>
</li>
<li> <b>Impossible WHERE noticed after reading const tables</b>
<p>Indien de WHERE-clause altijd false oplevert.</p>
</li>
<li> <b>No tables</b>
<p>Indien de query geen FROM-clause heeft.</p>
</li>
<li> <b>Using filesort</b>
<p>Om de rijen correct te sorteren moet MySQL de gevonden resultaten opnieuw overlopen.</p>
</li>
<li> <b>Using index</b>
<p>Er is een enkel een index gebruikt om de rijen te selecteren.</p>
</li>
<li> <b>Using temporary</b>
<p>Om de query op te lossen moet een tijdelijke tabel gemaakt worden. Dit valt meestal voor indien je <i>GROUP BY</i> of <i>ORDER BY</i> gebruikt.</p>
</li>
<li> <b>Using where</b>
<p>Om de query op te lossen is de WHERE-clause gebruikt. Indien dit niet voorkomt is er ofwel iets mis met je query of onderzoek je bewust alle rijen van de tabel.<br /><span class="mute"><small><b>Let wel</b>: dit kan een vertraging aanduiden als er veel data is.</small></span></p>
</li>
</ul>
<p>Zoals je kan afleiden uit bovenstaande lijst vermijd je best 'Using filesort' en 'Using temporary', dit zijn de twee gevallen die een query traag maken.</p>
<h3>Wat is een index?</h3>
<p>Om een query te optimaliseren moeten we natuurlijk begrijpen wat een index is.</p>
<p>Zie een index als een inhoudsopgave van een boek. Door een inhoudsopgave 	kan je snel naar een bepaald onderwerp in het boek gaan zonder alle pagina's te moeten lezen.</p>
<p>MySQL gebruikt de index in een aantal situaties:</p>
<ul>
<li>zoeken van rijen</li>
<li>elimineren van niet-relevante rijen, indien er meerdere mogelijke indexen zijn zal MySQL deze nemen met de minste rijen</li>
<li>om verschillende tabellen te JOINEN</li>
<li>minimum- en maximumwaardes ophalen</li>
<li>sorteren van resultaten</li>
</ul>
<p>Zonder indexen moet MySQL de volledige tabel gaan overlopen om resultaten te vinden, met een index hoeft MySQL enkel het relevante stuk te 	doorlopen.</p>
<p>Je kan nu denken dat je op iedere kolom en op elke mogelijke combinatie een index kan leggen. Dit is echter geen goed idee - en ook niet mogelijk - want een index wordt  	bij iedere INSERT, UPDATE, DELETE herberekend, waardoor deze statements dan weer trager worden.  	Hoe meer indexen hoe trager het geheel, hou dit dus ook in het achterhoofd bij het optimaliseren van een query.</p>
<p>Bij het maken van een index kan een type meegeven. Iedere type heeft zijn eigen eigenschappen.</p>
<ul>
<li> <b>PRIMARY KEY</b>
<p>De combinatie van velden is uniek doorheen de tabel, per tabel kan er maximaal 1 PRIMARY KEY zijn.</p>
</li>
<li> <b>UNIQUE</b>
<p>De combinatie van velden is uniek doorheen de tabel.</p>
</li>
<li> <b>INDEX</b>
<p>In tegenstelling tot een UNIQUE index hoeft de combinatie van velden niet uniek te zijn.</p>
</li>
<li> <b>FULLTEXT</b>
<p>Een speciaal type van index dat gebruikt word voor full-text-searches. <small>(enkel beschikbaar voor MyISAM-tabellen)</small></p>
</li>
</ul>
<p>Je kan een index aanmaken met volgende MySQL-statement:</p>
<pre class="singleLine"><code>ALTER TABLE table1 ADD [type] (column, column);</code></pre>
<h3>Hoe kies je nu een juiste index?</h3>
<p>Vooraleer je indexen begint aan te brengen moet je nadenken of het wel nut heeft. Is het een tabel met weinig data, dan kan het zijn dat de query  	sneller is als alle rijen worden overlopen. Is het een query die weinig gebruikt wordt? Dan kan je je beter concentreren op queries die veel  	worden uitgevoerd (bijvoorbeeld bij iedere klik).</p>
<p>Een klein rekenvoorbeeld: je hebt een query die 1 maal per dag word uitgevoerd en 10 seconden duurt, door middel van indexes kan je die  	terugbrengen naar 2 seconden, dan heb je 8seconden gewonnen.</p>
<p>Stel nu dat er een query is die 1000 keer per dag wordt uitgevoerd en die 1  	seconden duurt en je kan optimaliseren tot 200ms dan win je 1000 x 800ms en dus in totaal 8000 seconden.</p>
<p class="mute"><small><b>Opmerking:</b> Dit is een theoretisch voorbeeld.</small></p>
<p>Een goede index zorgt ervoor dat MySQL de WHERE-clause zo snel mogelijk kan oplossen. Als je bijvoorbeeld <code>e.active = 'Y' AND e.hidden = 'N'</code> in je query hebt staan dan is het slim om een index op active en hidden te leggen.</p>
<p>Je kan eigenlijk volgende leidraad gebruiken: eerst de kolommen in de WHERE-clause, dan de kolommen in de SELECT-clause.</p>
<p class="mute"><small><b>Opmerking:</b> Dit is een leidraad, geen vaststaand feit.</small></p>
<p>Als we een aantal indexen leggen en onze eerste query terug uitvoeren komen we op volgend resultaat:</p>
<table class="datagrid explain" cellpadding="0" cellspacing="0">
<thead> 
<tr style="vertical-align: top;" class="rowHeader">
<th>id</th><th>select_<br />type</th><th>table</th><th>type</th><th>possible_<br />keys</th><th>key</th><th>key_<br />len</th><th>ref</th><th>rows</th><th>Extra</th>
</tr>
</thead> 
<tbody style="vertical-align: top">
<tr>
<td>1</td>
<td>simple</td>
<td>t</td>
<td>range</td>
<td>primary</td>
<td>primary</td>
<td>4</td>
<td>null</td>
<td>4</td>
<td>Using where;<br />Using index</td>
</tr>
<tr>
<td>1</td>
<td>simple</td>
<td>d</td>
<td>ref</td>
<td>idx_designs_products</td>
<td>idx_designs_products</td>
<td>4</td>
<td>db.t.id</td>
<td>37</td>
<td>Using where</td>
</tr>
<tr>
<td>1</td>
<td>simple</td>
<td>p</td>
<td>eq_ref</td>
<td>primary,<br />idx_id_active</td>
<td>primary</td>
<td>4</td>
<td>db.d.<br />profile_id</td>
<td>1</td>
<td>Using index</td>
</tr>
</tbody>
</table>
<h3>Andere voorbeelden om queries te optimaliseren</h3>
<h4>STRAIGHT_JOIN</h4>
<p>Bij het uitvoeren van een query met JOINS over verschillende tabellen, maakt MySQL zelf een query plan. Dit bepaalt in welke volgorde de tabellen worden geprocessed en gejoined.</p>
<p>Dit zal more often than not de meest effeci&#235;nte manier van joinen zijn, echter niet altijd. Het kan natuurlijk altijd voorkomen dat juist die ene vaak gebruikte query doorheen een grote dataset door MySQL net niet goed genoeg ge&#239;nterpreteerd wordt, met een groot prestatieverlies als gevolg. Dit kan je oplossen met <a href="http://dev.mysql.com/doc/refman/5.0/en/join.html" title="join">STRAIGHT_JOIN</a>.</p>
<p>Door middel van SRAIGHT JOIN kan je zelf bepalen in welke volgorde je tabellen zullen worden gejoined, of eerder: MySQL zal je tabellen van links naar rechts joinen in plaats van zelf de volgorde te beslissen. Met dan zorgvuldig zelf de tabellen in de juiste volgorde neer te poten, kan je sommige queries effici&#235;nter maken.</p>
<pre><code>SELECT STRAIGHT_JOIN *<br />FROM table1 AS t1<br />INNER JOIN table2 AS t2 ON t1.col = t2.col;</code></pre>
<h4>Werken met DATETIME</h4>
<p>In veel CMS-en is er de mogelijkheid om een publicatie-datum van een artikel aan te geven. Dit is een potientieel risico voor trage queries.</p>
<p>Omdat een tijdstip iedere seconde anders is, kan de query maximaal 1 seconde gecached worden.</p>
<pre><code>SELECT e.*, m.*<br />FROM blog_entries AS e<br />INNER JOIN meta AS m ON e.meta_id = m.id<br />WHERE e.active = 'Y' AND e.hidden = 'N' AND e.date_publish &lt; NOW()<br />ORDER BY e.date_publish DESC;</code></pre>
<p>Het is overbodig om de gebruiker tot op de seconde te laten specifieren wanneer een een artikel moet getoond worden. Je kan er dus  	beter voor zorgen dat bij het opslaan de seconden op 00 staan. En je query herschrijven als volgt (uiteraard met het correcte tijdstip):</p>
<pre><code>SELECT e.*, m.*<br />FROM blog_entries AS e<br />INNER JOIN meta AS m ON e.meta_id = m.id<br />WHERE e.active = 'Y' AND e.hidden = 'N' AND e.date_publish &lt; "2009-11-03 13:37:00"<br />ORDER BY e.date_publish DESC;</code></pre>
<p>Hierdoor kan je query maximaal 1 minuut gecached worden. Je zou natuurlijke en stap verder kunnen gaan en enkel kwartieren kunnen toelaten.</p>
<h4>ORDER BY RAND()</h4>
<p>Als we onze server-admins mogen geloven dan sterft er iedere keer je ORDER BY RAND() gebruikt een klein schattig konijntje. 	ORDER BY RAND() is een heel intensieve operatie bij grote tabellen.</p>
<p>Je kan dit beter oplossen in je code, bijvoorbeeld met de PHP-functie <a href="http://php.net/shuffle">shuffle</a>.</p>
<p>Heb je echter een slechts een kleine result-set nodig die random moet gegenereerd worden uit een grote hoeveelheid data, dan biedt shuffle 	natuurlijk ook geen goed resultaat, omdat je dan die grote hoeveelheid data (even) in het geheugen zal moeten dulden, terwijl je slechts een 	kleine hoeveelheid data hiervan nodig hebt. Hoe kan je dit beter?</p>
<pre><code>// get the maximum ID<br />$max = 'SELECT MAX(id) FROM table;';<br />// do n queries, where n is the number of rows to retrieve<br />// this should be more effective then one ORDER BY RAND()-query<br />for ($i = 0; $ &lt; [totaal-aantal-benodigde-random-rijen]; $i++) {<br />	get random row<br />	$results[$i] = 'SELECT  * FROM table LIMIT '. rand(0, $max) .', 1;';<br />}</code></pre>
<p>Waarom is dit nu efficienter dan ORDER BY RAND()? Wel, voor iedere rij in de tabel moet bij ORDER BY RAND() een willekeurig getal worden gegenereerd, hierna moet er 	op al deze willekeurige getallen ook nog gesorteerd worden.</p>
<p class="mute"><small> <b>Disclaimer:</b> zie deze blogpost niet als de heilige graal om je website met tienduizende bezoekers te gaan  		optimaliseren. Voor zo'n situaties kan je beroep doen op <a href="http://www.openminds.be">DB-admins</a>, deze kunnen op basis van je applicatie  		en logs gaan kijken wat er specifiek moet geoptimaliseerd worden. </small></p>
<p class="mute"><small> <b>Bronnen:</b> <a href="http://dev.mysql.com/doc/refman/5.1/en/index.html">MySQL</a>,  			<a href="http://www.openminds.be">Openminds</a>,  			<a href="http://www.phphulp.nl/php/tutorials/3/545/1415/">PHPhulp</a>, 			<a href="http://smalltalk.frank.be/quote-of-the-day-order-by-rand?c=1">#netlash</a>, 			<a href="http://www.amazon.com/Learning-SQL-Alan-Beaulieu/dp/0596007272/ref=sr_1_1?ie=UTF8&amp;qid=1258154088&amp;sr=8-1">Learning MySQL</a>, 			<a href="http://www.amazon.com/Web-Database-Applications-PHP-MySQL/dp/0596005431/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1258154140&amp;sr=1-1">Web Database Application with PHP &amp; MySQL</a>. </small></p><p><a href="http://www.netlash.com/blog/detail/mysql-explain-als-hulp" rel="canonical" title="MySQL EXPLAIN als hulp">MySQL EXPLAIN als hulp</a> geschreven door Tijs, Matthias, Annelies, Davy, Dave in: <a href="http://www.netlash.com/blog/categorie/webdevelopment" title="webdevelopment">webdevelopment</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/explain" rel="tag" title="explain">explain</a>, <a href="http://www.netlash.com/tags/detail/mysql" rel="tag" title="mysql">mysql</a>, <a href="http://www.netlash.com/tags/detail/performance" rel="tag" title="performance">performance</a>, <a href="http://www.netlash.com/tags/detail/tips" rel="tag" title="tips">tips</a></p>
		]]>
	</description>
	<pubDate>Sat, 23 Jan 2010 13:37:00 +0100</pubDate>
	<author><![CDATA[Tijs, Matthias, Annelies, Davy, Dave]]></author>
	<category><![CDATA[webdevelopment]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/mysql-explain-als-hulp</guid>
	</item>
<item>
	<title><![CDATA[Anysurfer]]></title>
	<link>http://www.netlash.com/blog/detail/anysurfer</link>
	<description>
		<![CDATA[
			<p><img width="138" height="166" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/newsletter/anysurfer.png" />Mag ik jullie een geheimpje vertellen?</p>
<p>Ik heb een <i>bankverleden</i>.</p>
<p>Vooraleer ik de ondernemers-sprong waagde en webwerker werd, was ik in loondienst bij een Grote Belgische Bank.</p>
<p>Ik werkte een tijd in een kantoor in <a class="external" href="http://nl.wikipedia.org/wiki/Landegem">Landegem</a>, een klein dorpje ten zuiden van Gent. E&#233;n van de eigenschappen van dat dorpje is dat er zowel een beschutte werkplaats, een <a href="http://nl.wikipedia.org/wiki/Medisch-Pedagogisch_Instituut">MPI</a>, als een aantal tehuizen voor mensen met een handicap gevestigd zijn.</p>
<p><b>Toegankelijkheid en mijn bankverleden</b></p>
<p>In dat bankkantoor leerde ik dagelijks omgaan met mensen met een functiebeperking; laat me zeggen dat de uitdaging om het online banking pakket toegankelijk te krijgen eind jaren negentig aanzienlijk waren.</p>
<p>Het maakte me bewust van de vragen en noden van die specifieke bevolkingsgroep - maar vooral: het deed me inzien dat je bij alles wat je doet inclusief moet werken en denken, en niet noodzakelijk vanuit je eigen wereldbeeld moet vertrekken.</p>
<p><b>Anysurfer en Netlash</b></p>
<p>Vandaar dat het verhaal van <a href="http://www.anysurfer.be" class="external">Anysurfer</a> onmiddellijk bij me aansloeg. Voor veel mensen met een functiebeperking is het internet d&#233; manier om makkelijk deel te nemen aan de alledaagse dingen uit ons leven (dingen als online shoppen, banksoftware gebruiken of de uurroosters van De Lijn raadplegen). Websites maken met aandacht voor de richtlijnen van Anysurfer strookte met mijn visie rond duurzaam ondernemen.</p>
<p>Het kwam uiteraard goed uit dat een toegankelijke website vaak tegelijkertijd ook een <a href="http://www.netlash.com/wat-we-doen/bouwen/zoekmachine-optimalisatie-of-seo">SEO</a>-geoptimaliseerde en <a href="http://www.netlash.com/over-ons/filosofie/usability">gebruiksvriendelijke</a> website is.</p>
<p>Vandaar dat we besloten om zoveel mogelijk de regels van Anysurfer te volgen bij het bouwen van onze sites. Vandaar ook dat we ook met onze eigen Netlash website expliciet het <a class="external" href="http://label.anysurfer.be/">Anysurfer label</a> wilden halen.</p>
<p><b>Anysurfer en ABconcerts.be</b></p>
<p>We waren dan ook blij te horen dat onze partner en klant Ancienne Belgique ook nadenkt over <a href="http://www.abconcerts.be/nl/praktisch/bezoekers-met-een-handicap" class="external">toegankelijkheid voor bezoekers met een handicap</a>. Meer nog, ruim 300 personen met een handicap genieten op donderdag 21 januari 2010 van een exclusief en gratis concert van Channel Zero in de AB in Brussel.</p>
<p>De AB wil met dit concert beklemtonen dat ook bezoekers met een handicap meer dan welkom&#160;zijn op hun evenementen. Niet enkel voor dit concert dus, maar een heel jaar door. Daarom heeft het AB-team samen met Team Netlash de nodige inspanningen gedaan hebben om de website ook in een nog toegankelijker versie uit te werken.</p>
<p>Naast de AB Website werkt AB ook volop aan de toegankelijkheid van de ticketingspagina's (tickets.abconcerts.be) voor personen met een functiebeperking. Door de technische complexiteit van dit gedeelte van de site zullen de pagina's in de loop van het voorjaar (2010) gewijzigd worden, conform de richtlijnen van Anysurfer.</p>
<p>Je kan de vernieuwde toegankelijke versie nu al bekijken (zie de link bovenaan links op de site), samen met de <a href="http://www.abconcerts.be/nl/praktisch/bezoekers-met-een-handicap#Toegankelijkheidsite" class="external">toegankelijkheidsverklaring</a>.</p>
<p><b>Jullie feedback is uiteraard, zoals steeds, meer dan welkom.</b></p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/anysurfer" rel="canonical" title="Anysurfer">Anysurfer</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/ab" rel="tag" title="ab">ab</a>, <a href="http://www.netlash.com/tags/detail/accessibility" rel="tag" title="accessibility">accessibility</a>, <a href="http://www.netlash.com/tags/detail/anysurfer" rel="tag" title="anysurfer">anysurfer</a>, <a href="http://www.netlash.com/tags/detail/toegankelijk" rel="tag" title="toegankelijk">toegankelijk</a></p>
		]]>
	</description>
	<pubDate>Tue, 19 Jan 2010 15:20:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/anysurfer</guid>
	</item>
<item>
	<title><![CDATA[Online trendrapport 2010 : de voorspellingen]]></title>
	<link>http://www.netlash.com/blog/detail/online-trendrapport-2010-de-voorspellingen</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/blogposts/cadeautje.jpg" height="115" width="138" />De voorbije jaren (<a href="http://www.netlash.com/blog/detail/10-voorspellingen-voor-2008">2008</a>, <a href="http://www.netlash.com/blog/detail/voorspellingen-2009">2009</a>) probeerde ik een aantal voorspellingen te doen over de richting van online in het komende jaar.</p>
<p>Vorig jaar vroeg ik daarbovenop aan twintig experts wat hun <a href="http://www.netlash.com/blog/detail/voorspellingen-2009-de-experts">voorspellingen voor 2009</a> waren.&#160;Dit jaar gingen we nog een stap verder: we vroegen<a href="http://twitter.com/netlash/statuses/6228861225"> openlijk aan iedereen die zich geroepen voelde</a> om een bijdrage te leveren.</p>
<p>Een trendrapport dat gecrowdsourced wordt? Is zoiets mogelijk?</p>
<p>Ik wou het alleszins proberen.</p>
<p>60 verschillende stemmen, zo divers als mogelijk: van student tot internetmarketeer, van founder van een startup tot CEO van een gevestigd reclamebureau, van academicus tot minister. Met de nodige duwtjes hier en daar kreeg ik evenveel voorspellingen over online in 2010 binnen.</p>
<p>Het eindresultaat is iets minder voorspellend geworden, als wel een document over 'wat houdt de Vlaamse digirati op dit moment bezig'.</p>
<p>Voor wie de samenvatting wil:</p>
<p>De meesten zijn er van overtuigd dat in 2010 <b>mobiel internet</b> (16 vermeldingen) definitief mainstream wordt. Er zijn ook hoge verwachtingen over <b>augmented reality</b> (13 vermeldingen).</p>
<p>Terwijl velen zien dat <b>sociale netwerken</b> (9 vermeldingen) in het weefsel van onze maatschappij doordringen, en <b>bedrijven massaal met sociale media</b> aan de slag gaan (9 vermeldingen), zijn er toch heel wat bedenkingen over <b>veiligheid en privacy</b> (9 vermeldingen). Ondertussen moeten die sociale media geld beginnen opbrengen, en ligt de focus op <b>ROI en conversie</b> (7 vermeldingen). Sommigen zien alweer een <b>social media fatigue</b> (5 vermeldingen) optreden; anderen zien<b> email vervangen worden door sociale media</b> (5 vermeldingen).</p>
<p>De <b>tablets en e-books</b> (9 vermeldingen) worden een hype; zou dit met de aandacht voor '<b>groen</b>' (9 vermeldingen) te maken hebben?</p>
<p>Nog drie buzzwords: alles moet <b>real time</b> (9 vermeldingen) zijn, liefst nog<b> location based</b> (6 vermeldingen) en in de <b>cloud</b> (5 vermeldingen).</p>
<p>&#160;</p>
<p>Je kan het trendrapport hier downloaden in pdf-formaat: <a title="Online trendrapport 2010" href="http://www.netlash.com/downloads/online_trends_2010_netlash.pdf">Online Trendrapport 2010</a> (.pdf, 16.3 Mb).</p>
<p>Maar je kan het hier ook rustig doorbladeren:</p>
<p>
<object height="148" width="420" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
<param name="allowfullscreen" value="true" />
<param name="menu" value="false" />
<param name="src" value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;autoFlip=true&amp;autoFlipTime=6000&amp;documentId=091230115719-6724c861e6164a57a23fd5cf13161cab&amp;docName=onlinetrends2010netlash_hires&amp;username=netlash&amp;loadingInfoText=Online%20trends%202010%3A%2060%20experts&amp;et=1262175282086&amp;er=89" /><embed src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;autoFlip=true&amp;autoFlipTime=6000&amp;documentId=091230115719-6724c861e6164a57a23fd5cf13161cab&amp;docName=onlinetrends2010netlash_hires&amp;username=netlash&amp;loadingInfoText=Online%20trends%202010%3A%2060%20experts&amp;et=1262175282086&amp;er=89" width="420" height="148" type="application/x-shockwave-flash" allowFullScreen="true"></embed>
</object>
</p>
<p>Voldoende inspiratie?</p>
<p><b>Volgend jaar verwacht ik alleszins jullie voorspellingen in mijn mailbox!</b></p>
<div id="trendRapportPrint">
<h3>Liever een papieren versie?</h3>
<p>Het trendrapport is een lijvig document van maar liefst 91 pagina&#8217;s. Misschien lees je het liever in je luie zetel? Je kan een paperback versie bestellen via <a href="http://www.lulu.com/content/paperback/netlash-online-trendrapport-2010/8148592">lulu.com</a>.</p>
<p><a id="orderNow" href="http://www.lulu.com/content/paperback/netlash-online-trendrapport-2010/8148592"><span>Bestel nu</span></a></p>
</div><p><a href="http://www.netlash.com/blog/detail/online-trendrapport-2010-de-voorspellingen" rel="canonical" title="Online trendrapport 2010 : de voorspellingen">Online trendrapport 2010 : de voorspellingen</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/trend" title="trend">trend</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/online" rel="tag" title="online">online</a>, <a href="http://www.netlash.com/tags/detail/trend" rel="tag" title="trend">trend</a>, <a href="http://www.netlash.com/tags/detail/trendrapport" rel="tag" title="trendrapport">trendrapport</a>, <a href="http://www.netlash.com/tags/detail/trends" rel="tag" title="trends">trends</a>, <a href="http://www.netlash.com/tags/detail/trendwatching" rel="tag" title="trendwatching">trendwatching</a>, <a href="http://www.netlash.com/tags/detail/voorspellingen" rel="tag" title="voorspellingen">voorspellingen</a>, <a href="http://www.netlash.com/tags/detail/web" rel="tag" title="web">web</a></p>
		]]>
	</description>
	<pubDate>Wed, 30 Dec 2009 12:30:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[trend]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/online-trendrapport-2010-de-voorspellingen</guid>
	</item>
<item>
	<title><![CDATA[Oude media versus nieuwe media]]></title>
	<link>http://www.netlash.com/blog/detail/oude-media-versus-nieuwe-media</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/blogposts/netwerkeffect.png" />Door Concentra werd me gevraagd om een presentatie te geven over mijn visie op media en internet.</p>
<p>Ik pretendeer zeker niet te weten waar media naar toe gaan, en hoe dat moet gebeuren.&#160;</p>
<p>Toch probeerde ik om de grote trends weer te geven, en zo de discussie op gang te trekken. (Vergelijk het met de workshop '<a href="http://www.netlash.com/blog/detail/trends-in-e-business">Trends in e-business</a>' die ik in 2004 voor Partena gaf.)</p>
<p>Hieronder vind je mijn presentatie:</p>
<div id="x19815" class="slideshare"><a href="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=graydon-091215162337-phpapp01&amp;stripped_title=old-media-vs-new-media">Bekijk de presentatie</a></div>
<p>Er zitten 5 hoofdstukjes in:</p>
<ol>
<li>Content: Gaat het over kwaliteit of kwantiteit? En hoe krijgen beide begrippen een invulling online?</li>
<li>Distributie: Is dit nog steeds de controlerende factor online? En hoe is dit anders dan offline?</li>
<li>Informatie: Online hoef je je niet te beperken tot het format tekst+foto, maar kan je gebruik maken van de interactiviteit van internet.</li>
<li>Nieuws: De Nu-Nu-Nu generatie heeft andere verwachtingen van nieuws.</li>
<li>Community: Media kunnen waarde cre&#235;ren door een stem, een filter, een kader te bieden in de overvloed aan informatie.</li>
</ol>
<p>Geen wereldschokkende bevindingen uiteraard; en voor wie met internet dagelijks omgaat zelfs evidenties.</p>
<p>Edit: De Werktitel maakte een <a class="external" href="http://www.werktitel.be/2009/12/infografieken-zijn-de-toekomst-van-de-journalistiek/">samenvatting van de presentatie</a>.</p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/oude-media-versus-nieuwe-media" rel="canonical" title="Oude media versus nieuwe media">Oude media versus nieuwe media</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/marketing" title="marketing">marketing</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/media" rel="tag" title="media">media</a>, <a href="http://www.netlash.com/tags/detail/visie" rel="tag" title="visie">visie</a></p>
		]]>
	</description>
	<pubDate>Mon, 28 Dec 2009 15:05:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[marketing]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/oude-media-versus-nieuwe-media</guid>
	</item>
<item>
	<title><![CDATA[Social Media Forum]]></title>
	<link>http://www.netlash.com/blog/detail/social-media-forum</link>
	<description>
		<![CDATA[
			<p><img src="http://www.netlash.com/userfiles/images/blogposts/socialmediaforum.png" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" />Op 3 december gaat het Social Media Forum door: een dag lang concrete informatie en cases over Social Media, hoe er geld mee te verdienen, en hoe het in te zetten voor je bedrijf.</p>
<ol>
<li>Inge Wiame, Business Development Manager Benelux - Netlog<br />Presentation of the renewed Netlog platform</li>
<li>Tom Remans, Marketing Manager - Luon <br />Client-case Solo : social media as part of an integrated marketing approach</li>
<li>Nico Henderijckx, Online Marketing Manager - Sony VAIO of Europe <br />Client-case Sony VAIO: &#8220;VAIO of Europe - Social media approach</li>
<li>Charles Crouch, Lecturer Boston University  <br />Planning a social media campaign </li>
<li>Clo Willaerts, Marketing manager sanoma magazines <br />How to make money with Social Media</li>
<li>Genevieve Tissot, Managing director BlueKiwi <br />Client case social media platform</li>
<li>Kim Leunen, Account Manager S&#178;Media <br />Why you should join / Define your goals / How to Measurements &amp; tools / Case - tips &amp; tricks</li>
<li>Evan Van Lissum, Managing partner The Parking Lot <br />Social branding : New kids on the blog</li>
<li>Bart de Waele, Co-founder Talking Heads <br />Nike Running &amp; Social Media</li>
<li>Didier Ongena, Director Microsoft Advertising</li>
</ol>
<p>Meer info op <a href="http://www.socialmediaforum.be/">www.socialmediaforum.be</a>.</p>
<p>Ik zal er alleszins zijn - jullie ook?</p><p><a href="http://www.netlash.com/blog/detail/social-media-forum" rel="canonical" title="Social Media Forum">Social Media Forum</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/opleiding" title="opleiding">opleiding</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/event" rel="tag" title="event">event</a>, <a href="http://www.netlash.com/tags/detail/forum" rel="tag" title="forum">forum</a>, <a href="http://www.netlash.com/tags/detail/opleiding" rel="tag" title="opleiding">opleiding</a>, <a href="http://www.netlash.com/tags/detail/social media" rel="tag" title="social media">social media</a></p>
		]]>
	</description>
	<pubDate>Wed, 25 Nov 2009 10:16:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[opleiding]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/social-media-forum</guid>
	</item>
<item>
	<title><![CDATA[Het grafisch proces]]></title>
	<link>http://www.netlash.com/blog/detail/het-grafisch-proces</link>
	<description>
		<![CDATA[
			<p><img src="http://www.netlash.com/userfiles/images/design_rockstar_thumb.jpg" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" height="174" width="138" />De sleutel tot een goed grafisch ontwerp ligt voor een groot deel bij het proces. Zowel beginnende als ervaren ontwerpers kunnen voordeel halen uit het optimaliseren van dit proces.</p>
<h3>1. Begin met een goede briefing</h3>
<p>Begin door een duidelijke beschrijvende briefing aan de klant te vragen. Stel eventueel zelf een vragenlijst op die de klant kan invullen. Probeer zoveel mogelijk concrete zaken te verzamelen. Wanneer de klant een vaag buikgevoel beschrijft, kan je vragen of hij dit kan illustreren met voorbeelden van andere sites, logo&#8217;s en stijlen.</p>
<p>Wanneer je voelt dat je weet welke richting de klant uit wil, kan het handig zijn zelf een kleine verzameling elementen bij elkaar te zoeken. Deze verzameling kan je gebruiken om later terug de stijl op te roepen die de klant voor ogen heeft.</p>
<h3>2. Evalueer bestaande stijlelementen</h3>
<p>Zorg dat de klant je al zijn oud materiaal stuurt en evalueer of zijn logo en kleuren passen bij de eerder beschreven stijl. Vraag zeker ook na of de klant goed fotomateriaal heeft. Unieke professionele foto&#8217;s kunnen vaak het verschil maken bij een ontwerp.</p>
<p>Kijk alle elementen na en controleer of alles bruikbaar is. Open alle vector bestanden om na te gaan of ze daadwerkelijk vector zijn. Bekijk de resolutie van eventuele foto&#8217;s en kijk de kleurprofielen na.</p>
<h3>3. Visualiseer de inhoud en bepaal het doel</h3>
<p>Bekijk de structuur die de informatie architect met de klant heeft gemaakt en overloop wat het doel is van elke pagina en element. Bepaal wat moet opvallen en wat minder moet opvallen vanuit het oogpunt van de bezoeker.</p>
<p>Het is de taak van de designer om ervoor te zorgen dat hij de bezoeker doorheen de pagina gidst, en alles ziet wat hij hoort te zien. Wanneer te veel elementen om aandacht vechten zal de bezoeker zijn weg doorheen de pagina niet vinden.</p>
<h3>4. Maak minstens 4 voorstudies</h3>
<p>Eens je het doel en de klemtonen van alle elementen weet, maak je best enkele schetsen. Het schetsen is een cruciale stap bij het ontwerpen. Het stimuleert de creativiteit en spaart veel tijd uit. Een viertal schetsen uitwerken per pagina is het absolute minimum.</p>
<p><a class="noborder" href="http://www.netlash.com/userfiles/images/design_schetsen_groot.jpg" target="_blank"><img src="http://www.netlash.com/userfiles/images/design_schetsen.jpg" alt="Schetsen van 3 verschillende Netlash ontwerpers" height="100" width="425" /></a> <small>Ontwerpen van 3 verschillende Netlash ontwerpers.</small></p>
<p>Stop echter niet te veel tijd in een schets. Schets eerder alles neer wat je te geest komt en visualiseer wat er zal werken en wat niet. Werk de beste schetsen uit in fijnere voorstudies om zo je idee bij te schaven.</p>
<h3>5. Werk een eerste voorstel uit</h3>
<p>Open je favoriete webdesign programma om je ontwerp vorm te geven en ga aan de slag om je visie om te zetten in pixels. Laat je ontwerp evolueren en laat je zeker niet limiteren door je schetsen.</p>
<p><img src="http://www.netlash.com/userfiles/images/design_photoshop.jpg" height="112" width="425" /></p>
<p>Hou rekening met de beperkingen van browsers en <a href="http://www.netlash.com/blog/detail/schermresolutie-webdesign">schermresoluties</a> en maak je ontwerp altijd op ware grootte. Probeer de inhoud zo realistisch mogelijk te houden, indien mogelijk zelfs de definitieve copy. Wanneer je die laatste knop en pixel juist geplaatst hebt, is het tijd om het document te sluiten. Neem een korte pauze of werk even iets anders af.</p>
<h3>6. Knijp die ogen eens half dicht</h3>
<p>Open nu je document en kijk wat je eerste indruk is. Vallen de elementen die moeten opvallen (zie stap 3) op? Neem wat afstand van je scherm en knijp je ogen dicht tot alles wat troebel is.</p>
<p><img src="http://www.netlash.com/userfiles/images/design_blur.jpg" height="112" width="425" /></p>
<p>Zo kun je makkelijk evalueren of je ontwerp in balans is. Eventueel vraag je aan iemand om even je ontwerp te bekijken. Zorg wel dat je open staat voor hun kritiek! Het is soms niet prettig om negatieve kritiek te horen op een ontwerp waar je net enkele uren aan hebt gewerkt.</p>
<ul>
<li>Voldoet je ontwerp niet aan de verwachtigen en doelstellingen? Ga terug naar stap 1, passeer langs start en neem een Nalu.</li>
<li>Voldoet je ontwerp wel aan de verwachtingen en doelstellingen? Ga dan naar stap 7.</li>
</ul>
<h3>7. Geniet van je rockstar moment</h3>
<p>Proficiat! Je bent voor heel even een webdesign rockstar! Spring even op je bureau en doe een luchtgitaarsolo. Blijf echter niet te lang in je roes, je ontwerp moet nog gesliced en ge&#239;ntegreerd worden zodat de hele wereld ervan kan genieten.</p>
<p><img src="http://www.netlash.com/userfiles/images/design_rockstar.jpg" height="112" width="425" /></p><p><a href="http://www.netlash.com/blog/detail/het-grafisch-proces" rel="canonical" title="Het grafisch proces">Het grafisch proces</a> geschreven door Yoni in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/proces" rel="tag" title="proces">proces</a>, <a href="http://www.netlash.com/tags/detail/vormgeving" rel="tag" title="vormgeving">vormgeving</a>, <a href="http://www.netlash.com/tags/detail/webdesign" rel="tag" title="webdesign">webdesign</a></p>
		]]>
	</description>
	<pubDate>Tue, 24 Nov 2009 07:11:00 +0100</pubDate>
	<author><![CDATA[Yoni]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/het-grafisch-proces</guid>
	</item>
<item>
	<title><![CDATA[Dieter Rams]]></title>
	<link>http://www.netlash.com/blog/detail/dieter-rams</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/blogposts/rams.jpg" height="174" width="138" />In <a class="external" href="http://www.bright.nl/30-less-better">Bright</a> staat deze maand een uitgebreid artikel over Dieter Rams, naar aanleiding van een tentoonstelling over hem in het Londense <a class="external" href="http://designmuseum.org/exhibitions/2009/dieter-rams">Design Museum</a>.</p>
<p>Dieter Rams was veertig jaar hoofd van het designteam van elektronicaproducent Braun. Hij was verantwoordelijk voor een belangrijke stroming in het industri&#235;le design van vorige eeuw.</p>
<p>Meer nog, hij be&#239;nvloedde rechtstreeks &#233;&#233;n van de huidige iconografische designers, namelijk Jonathan Ive, hoofddesigner van Apple.</p>
<p>Hoe groot zijn invloed is kan je in onderstaande fotomontage zien (bovenaan werk van Rams, onderaan werk van Ive):</p>
<p class="clearfix"><img class="fullwidthAlignLeft" src="http://www.netlash.com/userfiles/images/blogposts/vergel2.jpg" height="289" width="575" /></p>
<p>Dieter Rams is &#233;&#233;n van de mensen die ons hier bij Netlash richting geven.</p>
<p>Beschouw bijvoorbeeld volgende quote van hem:</p>
<blockquote>
<p>&#8220;Good designers must always be avant-gardists, always one step ahead of the times. They should &#8211; and must &#8211; question everything generally thought to be obvious. They must have an intuition for people&#8217;s changing attitudes. For the reality in which they live, for their dreams, their desires, their worries, their needs, their living habits. They must also be able to assess realistically the opportunities and bounds of technology.&#8221;</p>
</blockquote>
<p>Dit komt uit een speech uit 1980 die Rams aan de Braun advisory board gaf. Hierin geeft hij aan dat de mens, de gebruiker centraal moet staan - tegelijkertijd rekening houdend met de mogelijkheden en beperkingen van de technologie.</p>
<p>Hij formuleerde ook de <a class="external" href="http://www.vitsoe.com/en/gb/about/dieterrams/gooddesign">10 principes</a> waaraan goed design volgens hem voldoet:</p>
<ol>
<li>Good design is innovative.</li>
<li>Good design makes a product useful.</li>
<li>Good design is aesthetic.</li>
<li>Good design makes a product understandable.</li>
<li>Good design is unobtrusive.</li>
<li>Good design is honest.</li>
<li>Good design is long-lasting.</li>
<li>Good design is thorough down to the last detail.</li>
<li>Good design is environmentally friendly.</li>
<li>Good design is as little design as possible.<br /></li>
</ol>
<p>Het zijn principes die we hier ook in onze websites proberen te stoppen. Ik vertaal het even naar onze sector:</p>
<ol>
<li>De concepten en ontwerpen van onze sites moeten voorlopen. We proberen <a href="http://www.netlash.com/wat-we-doen/strategie/trend-update">trendsetters</a> te zijn, in plaats van trendvolgers.</li>
<li><a href="http://www.netlash.com/tags/detail/usability">Bruikbaarheid</a> is een obsessie.</li>
<li>Ook schoonheid maakt een integraal onderdeel uit van ons werk - er moet een <a href="http://www.netlash.com/blog/detail/gebruiksvriendelijke-website-3">goed evenwicht</a> zijn tussen technologie, design en usability.</li>
<li>Een website legt de onderliggende eigenschappen van het bedrijf en het product bloot - en is <a href="http://www.netlash.com/over-ons/filosofie/design">geen 'opsmukken' of 'mooi maken'</a>.</li>
<li>Design van een website <a href="http://www.netlash.com/blog/detail/het-visuele-wow-effect-in-webdesign">mag niet in de weg zitten</a> en moet vooral de inhoud ondersteunen.</li>
<li>Een goede site legt de inhoud bloot - en probeert geen valse verwachtingen te cre&#235;ren.</li>
<li>Een goede site is duurzaam; hij wordt gebouwd met flexibele content in gedachten. Het CMS ondersteunt een veranderende omgeving en een veranderende site.</li>
<li>Consequentie is essenti&#235;el bij een gebruiksvriendelijke website. Knoppen zijn knoppen, acties hebben dezelfde kleur, links zijn onderlijnd.</li>
<li>Milieuvriendelijkheid start met <a href="http://www.netlash.com/blog/detail/groene-hosting">groene hosting</a>.</li>
<li>Design ondersteunt de inhoud, is liefst zelfs '<a href="http://www.netlash.com/blog/detail/het-visuele-wow-effect-in-webdesign">nul-design</a>'. Less is more.</li>
</ol>
<p>Als afsluiter nog een video-interview met Dieter Rams:</p>
<p>
<object height="300" width="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5207876&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5207876&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" width="400" height="300" allowScriptAccess="always" type="application/x-shockwave-flash" allowFullScreen="true"></embed>
</object>
</p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/dieter-rams" rel="canonical" title="Dieter Rams">Dieter Rams</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/design" rel="tag" title="design">design</a>, <a href="http://www.netlash.com/tags/detail/usability" rel="tag" title="usability">usability</a>, <a href="http://www.netlash.com/tags/detail/visie" rel="tag" title="visie">visie</a></p>
		]]>
	</description>
	<pubDate>Wed, 18 Nov 2009 07:39:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/dieter-rams</guid>
	</item>
<item>
	<title><![CDATA[Queries uitsparen met behulp van IN()]]></title>
	<link>http://www.netlash.com/blog/detail/queries-uitsparen-met-behulp-van-in</link>
	<description>
		<![CDATA[
			<p><img width="138" height="232" src="http://www.netlash.com/userfiles/images/blogposts/supernerd.jpg" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" />Bij een <a href="http://www.netlash.com/wat-we-doen/producten/community">website met een community</a> zoals&#160;<a href="http://www.abconcerts.be">AB Concerts</a>, <a href="http://beta.vorstnationaal.be">Vorst Nationaal</a>, <a href="http://www.capitolegent.be">Capitole Gent</a>&#160;en&#160;<a href="http://tagger.fm">Tagger.fm</a>&#160;loopt het aantal queries heel snel op.</p>
<p>Naast het intensievere werk voor de MySQL-server kan dit ook een vertraging op de site opleveren. De data moet namelijk opgehaald worden, verwerkt worden en getoond worden aan de bezoeker.</p>
<p>Bij wijze van voorbeeld: Stel je voor dat je een array hebt met daarin de ID's van de vrienden van de huidige ingelogde gebruiker. Wat de meeste developers nu doen is een loopje starten en in deze loop de waardes ophalen per friend-ID.</p>
<pre><code><span style="color: #000000;"> <span style="color: #0000bb;"></span><span style="color: #ff8000;">// loop friends<br /></span><span style="color: #007700;">foreach(</span><span style="color: #0000bb;">$friendIds as $id</span><span style="color: #007700;">)<br />{<br /></span><span style="color: #0000bb;"> &#160;</span><span style="color: #ff8000;">// get friend data<br /></span><span style="color: #0000bb;"> &#160;$friendData </span><span style="color: #007700;">=</span><span style="color: #0000bb;"> $this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">db</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">getRecord</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'SELECT p.nick, p.avatar, ...<br />                                      FROM profiles AS p<br />                                      WHERE p.id = '</span><span style="color: #007700;">.</span><span style="color: #0000bb;"> $id </span><span style="color: #007700;">.</span><span style="color: #dd0000;">';'</span><span style="color: #007700;">);<br /><br /></span><span style="color: #0000bb;"> &#160;</span><span style="color: #ff8000;">// code to generate output<br /></span><span style="color: #0000bb;"> &#160;</span><span style="color: #007700;">...<br />}<br /></span><span style="color: #0000bb;">?&gt;<br /></span> </span> </code></pre>
<p>In het bovenstaande voorbeeld hebben we dus een groot aantal queries (lees n+1), namelijk:</p>
<ul>
<li>1 om de ID's van de vrienden op te halen</li>
<li>1 per vriend om zijn specifieke data op te halen</li>
</ul>
<p>Met behulp van de <a href="http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html#function_in">MySQL-functie IN()</a>&#160; kunnen we dit terug brengen naar 2 queries.</p>
<pre><code><span style="color: #000000;"> <span style="color: #0000bb;"></span><span style="color: #ff8000;">//&#160;get&#160;all&#160;profiledata&#160;at&#160;once<br /></span><span style="color: #0000bb;">$profileData&#160;</span><span style="color: #007700;">=&#160;</span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">db</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">retrieve</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'SELECT&#160;p.nick,&#160;p.avatar,&#160;...<br /> &#160;   &#160;   &#160;   &#160;   &#160;   &#160;   &#160;   &#160;   &#160;  FROM&#160;profiles&#160;AS&#160;p<br /> &#160;   &#160;   &#160;   &#160;   &#160;   &#160;   &#160;   &#160;   &#160;  WHERE&#160;p.id&#160;IN&#160;('</span><span style="color: #007700;">.&#160;</span><span style="color: #0000bb;">implode</span><span style="color: #007700;">(</span><span style="color: #dd0000;">','</span><span style="color: #007700;">,&#160;</span><span style="color: #0000bb;">$friendIds</span><span style="color: #007700;">)&#160;.</span><span style="color: #dd0000;">');'</span><span style="color: #007700;">);</span><span style="color: #ff8000;"><br /><br />//&#160;loop&#160;profiles<br /></span><span style="color: #007700;">foreach(</span><span style="color: #0000bb;">$profileData&#160;</span><span style="color: #007700;">as&#160;</span><span style="color: #0000bb;">$friend</span><span style="color: #007700;">)<br />{<br /></span><span style="color: #0000bb;"> &#160;</span><span style="color: #ff8000;">//&#160;code&#160;to&#160;generate&#160;output<br /></span><span style="color: #0000bb;"> &#160;</span><span style="color: #007700;">...<br />}<br /></span><span style="color: #0000bb;">?&gt;<br /></span> </span> </code></pre>
<p>Zoals je nu kan zien hebben we 2 queries:</p>
<ul>
<li>1 om de ID's van de vrienden op te halen</li>
<li>1 om de data voor al deze vrienden in &#233;&#233;n keer op te halen</li>
</ul>
<p class="mute"><small><b>Opmerking</b>: Ik wil er wel de nadruk op leggen dat dit een fictief voorbeeld is. De code is dus ook niet terug te vinden in de vernoemde websites. In dit voorbeeld zou het nog nuttiger zijn om niet alleen de ID's op te halen maar meteen de data, maar dit terzijde.</small></p><p><a href="http://www.netlash.com/blog/detail/queries-uitsparen-met-behulp-van-in" rel="canonical" title="Queries uitsparen met behulp van IN()">Queries uitsparen met behulp van IN()</a> geschreven door Tijs in: <a href="http://www.netlash.com/blog/categorie/webdevelopment" title="webdevelopment">webdevelopment</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/mysql" rel="tag" title="mysql">mysql</a>, <a href="http://www.netlash.com/tags/detail/optimalisatie" rel="tag" title="optimalisatie">optimalisatie</a>, <a href="http://www.netlash.com/tags/detail/php" rel="tag" title="php">php</a>, <a href="http://www.netlash.com/tags/detail/tips" rel="tag" title="tips">tips</a></p>
		]]>
	</description>
	<pubDate>Mon, 16 Nov 2009 11:37:00 +0100</pubDate>
	<author><![CDATA[Tijs]]></author>
	<category><![CDATA[webdevelopment]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/queries-uitsparen-met-behulp-van-in</guid>
	</item>
<item>
	<title><![CDATA[Gebruiksvriendelijke website]]></title>
	<link>http://www.netlash.com/blog/detail/gebruiksvriendelijke-website-3</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" src="http://www.netlash.com/userfiles/images/blogposts/ab_30.png" height="205" width="138" />Op 10 november jongstleden werden de Belgische<a class="external" href="http://usability-awards.be/"> usability awards</a> uitgereikt. Uit meer dan 200 inzendingen werden door een vakjury 10 gebruiksvriendelijke sites geselecteerd.</p>
<p>Daaruit kozen zij de meest gebruiksvriendelijke non-profit en de meest gebruiksvriendelijke commerci&#235;le website. Het publiek mocht ook stemmen.</p>
<p>Nadat de website van Ancienne Belgique al de <a href="http://www.netlash.com/blog/detail/site-van-het-jaar">Site van het Jaar</a> won, &#233;n beloond werd als beste <a href="http://www.netlash.com/blog/detail/cms-awards">Web 2.0 site bij de CMS Awards</a>, verkoos de jury van de Usability Awards de AB website tot <a class="external" href="http://usability-awards.be/winners/">meest gebruiksvriendelijke commerci&#235;le website van Belgi&#235;</a>.</p>
<p>Mijn artikel van vorige week over de <a href="http://www.netlash.com/blog/detail/roi-van-een-website">ROI van een website</a> en deze award zijn geen toeval.</p>
<p><a href="http://www.netlash.com/tags/detail/usability">Usability</a> is een obsessie bij Netlash. We zijn er van overtuigd dat de bruikbaarheid van een website rechtstreekse impact heeft op de businessdoelstellingen van een bedrijf of organisatie.</p>
<p><img src="http://www.netlash.com/userfiles/images/blogposts/evenwicht.png" alt="evenwicht" width="250" height="181" />&#160;</p>
<p>Elke site moet een gezond evenwicht vinden tussen design, technologie en usability. We geloven dat op het kruispunt tussen die drie de 'business' van Netlash zit, en we zijn er zeker van dat daar ook de 'business' van onze klanten zit.</p>
<p>Een goed evenwicht tussen de drie factoren zorgt voor een goede website.</p>
<p>En dat betekent dat g&#233;&#233;n van de twee andere (technologie of design) belangrijker mag zijn dan bruikbaarheid.</p>
<p>Een bruikbare site leidt daarna ook onvermijdelijk naar een <a href="http://www.netlash.com/blog/detail/roi-van-een-website">rendabele website</a>, met een hoge ROI.</p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/gebruiksvriendelijke-website-3" rel="canonical" title="Gebruiksvriendelijke website">Gebruiksvriendelijke website</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/usability" title="usability">usability</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/ab" rel="tag" title="ab">ab</a>, <a href="http://www.netlash.com/tags/detail/awards" rel="tag" title="awards">awards</a>, <a href="http://www.netlash.com/tags/detail/gebruiksvriendelijk" rel="tag" title="gebruiksvriendelijk">gebruiksvriendelijk</a>, <a href="http://www.netlash.com/tags/detail/usability" rel="tag" title="usability">usability</a></p>
		]]>
	</description>
	<pubDate>Thu, 12 Nov 2009 10:33:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[usability]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/gebruiksvriendelijke-website-3</guid>
	</item>
<item>
	<title><![CDATA[ROI van een website]]></title>
	<link>http://www.netlash.com/blog/detail/roi-van-een-website</link>
	<description>
		<![CDATA[
			<p><img src="http://www.netlash.com/userfiles/images/blogposts/ab_30.png" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" width="138" height="205" />Iets meer dan een jaar geleden lanceerden we de<a href="http://www.netlash.com/portfolio/detail/ancienne-belgique"> nieuwe website voor Ancienne Belgique</a>. Het <a href="http://www.netlash.com/blog/detail/nieuwe-website-voor-ancienne-belgique">website concept en de visie</a> waarrond we werkten samen met AB hebben we indertijd ook gedocumenteerd.</p>
<p>Nu is het tijd om terug te blikken, en af te rekenen: werkt de site, haalt die de doelstellingen, en vooral: draagt die bij tot de bottom line van AB?</p>
<p><a href="http://www.abconcerts.be/nl/over-ab/ab-team" class="external">David Zegers</a>, Directeur Communicatie en Ontwikkeling van Ancienne Belgique, presenteerde onlangs op <a href="http://www.muziekdigitaal.be/" class="external">Muziek Digitaal</a> de afrekening.</p>
<p>Zijn presentatie vind je hieronder:</p>
<div id="x19814" class="slideshare"><a href="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=davidzegers-091029100648-phpapp02&amp;stripped_title=david-zegers-ab2">Bekijk de presentatie</a></div>
<p>Ik zal er een aantal cijfers uitlichten:</p>
<ul>
<li>er kwamen 24.010 geregistreerde profielen op &#233;&#233;n jaar tijd</li>
<li>gemiddeld 1581 profielen loggen in per week</li>
<li>gemiddeld 5.955 unieke bezoekers/dag (vroeger: 4.185)</li>
<li>die bezoekers blijven langer on site en genereren meer paginaviews</li>
</ul>
<p>De binnenkomende trafiek via verwijzende sites is met 58% gestegen; <a href="http://www.netlash.com/wat-we-doen/bouwen/zoekmachine-optimalisatie-of-seo">trafiek via zoekmachines</a> steeg met&#160;67% (van 281.137 naar 445.076 bezoekers).</p>
<p>Opvallend: in 2008 was Facebook de 16e verwijzende site; in 2009 staat Facebook op een duidelijke 1e plaats (met 3x meer bezoekers dan de tweede verwijzer, stubru.be).</p>
<p><img src="http://www.netlash.com/userfiles/images/blogposts/abreferrers.png" alt="referrers van AB" /></p>
<p>De algemene conclusie van David na 1 jaar nieuwe website: een verhoogde kwantiteit en kwaliteit:</p>
<ul>
<li>AB bereikt meer publiek dan vorig jaar omwille van verhoogde online aanwezigheid (via community sites en zoekrobots)</li>
<li>er is meer interactie met en tussen het publiek</li>
<li>AB biedt meer inhoud dan vorig jaar<br /></li>
</ul>
<p>Dit&#160;verhoogde verkoopspotentieel zorgde voor een duidelijk hogere verkoop: in oktober 2009 waren er al meer tickets verkocht dan in totaal 2008 (207.000 tickets in 2008, 212.000 tickets tot en met oktober 2009).</p>
<p>Even kort door de bocht: <b>dit is een (ge&#235;xtrapoleerde) meerverkoop van 22%</b>.</p>
<p>Voor AB was de vernieuwing van de website dan ook een zinvolle en succesvolle operatie.</p>
<p>Het succes van de website is in mijn ogen overduidelijk het gevolg van een enthousiast AB-team dat de tools die we in de website inbouwden op een doordachte en consequente manier gebruikte.</p>
<p>We zijn blij dat we AB konden helpen met deze duidelijke Return on Investment van hun website.</p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/roi-van-een-website" rel="canonical" title="ROI van een website">ROI van een website</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/community" title="community">community</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/ab" rel="tag" title="ab">ab</a>, <a href="http://www.netlash.com/tags/detail/cijfers" rel="tag" title="cijfers">cijfers</a>, <a href="http://www.netlash.com/tags/detail/community" rel="tag" title="community">community</a>, <a href="http://www.netlash.com/tags/detail/conclusie" rel="tag" title="conclusie">conclusie</a></p>
		]]>
	</description>
	<pubDate>Tue, 03 Nov 2009 16:56:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[community]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/roi-van-een-website</guid>
	</item>
<item>
	<title><![CDATA[Javascript slideshow]]></title>
	<link>http://www.netlash.com/blog/detail/javascript-slideshow</link>
	<description>
		<![CDATA[
			<p><img width="68" height="92" style="width: 68px;" src="http://static.netlash.be/userfiles/images/team/bart.jpg" alt="team Netlash" class="left slideshow" /></p>
<p>Elke webbouwer kreeg ongetwijfeld al eens de vraag of drang om een slideshow te voorzien. Daar dit in de meeste gevallen een relatief kleine, echter alomtegenwoordige feature is, kan al snel even <a href="http://www.google.be/search?q=javascript+slideshow" title="Javascript slideshow">gegoogled</a> worden naar een kant en klaar stukje Javascript. In de bijna 10 miljoen resultaten zal je echter nooit dat script vinden dat exact doet wat je verwacht, op de manier waarop je het wenst.</p>
<p>Omdat we bij Netlash graag volledige controle hebben over onze software, schreven we dan ook zelf een kleine JQuery plugin die heel eenvoudig aan onze meeste noden voldoet. Omdat we het web ook elke dag een beetje beter proberen te maken, delen we deze uiteraard.</p>
<ul>
<li><a href="http://static.netlash.be/userfiles/files/jquery.slideshow.js" title="download Javascipt slideshow" class="button">Download het script</a></li>
<li><a href="#" onclick="demo(); return false;" title="demo Javascipt slideshow" class="button">Bekijk een demo</a></li>
</ul>
<h3 class="demo" style="display: none">Demo</h3>
<ul class="demo" style="display: none">
<li>
<p><a href="#" class="button" id="slideshow-next">Volgende</a><a href="#" class="button" id="slideshow-previous">Vorige</a>Slideshow met vorige/volgende, met links per image</p>
<img src="http://static.netlash.be/modulefiles/portfolio/438x205/red-bull-elektropedia.jpg" title="demo slideshow" id="demo1" /></li>
<li>
<p>Versnelde slideshow in random volgorde</p>
<img src="http://static.netlash.be/modulefiles/portfolio/438x205/red-bull-elektropedia.jpg" title="demo slideshow" id="demo2" /> </li>
</ul>
<h3>Hoe installeer je het script?</h3>
<ol>
<li>Download JQuery op <a title="JQuery javascript library" href="http://jquery.com">jquery.com</a> en include deze in je document:<br /> <code>&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"&gt;&lt;/script&gt;</code></li>
<li>Download deze plugin en include deze in je document, na het includen van JQuery:<br /> <code>&lt;script type="text/javascript" src="http://www.netlash.com/path/to/downloaded/jquery.slideshow.js"&gt;&lt;/script&gt;</code> </li>
</ol>
<h3>Hoe gebruikt je het script?</h3>
<ol>
<li>Plaats een image op de plaats waar je de slideshow wenst te tonen:<br /><code>&lt;img src="http://www.netlash.com/path/to/1st/image.jpg" class="slideshow" /&gt;</code><br /><span class="mute">de class die ik hier op plaatste dient om deze makkelijk te kunnen selecteren via JQuery</span></li>
<li>Geef in het rel-attribuut van je image alle paden van de files mee, comma-seperated:<br /><code>&lt;img class="slideshow" rel="/path/to/1st/image.jpg,/path/to/2nd/image.jpg,/path/to/last/image.jpg" src="http://www.netlash.com/path/to/1st/image.jpg" /&gt;</code></li>
<li>Inititi&#235;er de slideshow:<br /> <code>&lt;script type="text/javascript"&gt; $('.slideshow').slideshow();&lt;/script&gt;</code> </li>
</ol>
<h3>Meer?</h3>
<p>Omdat we graag voorzien zijn op "ietsje meer", kan via enkele extra parameters je slideshow wat aangepast/uitgebreid worden.</p>
<p>Beschikbare parameters zijn:</p>
<ol>
<li><strong>images</strong>, als array: geef de paths van je afbeeldingen op als parameter in plaats van als rel-attribuut in de HTML.</li>
<li><strong>links</strong>, als array: de mogelijkheid om aan elke afbeelding en link te koppelen waarnaar bij een klik wordt genavigeerd.</li>
<li><strong>fadeTime</strong>: de tijd (in milliseconden) tussen het in/uit-faden van de afbeeldingen.</li>
<li><strong>fadeSpeed</strong>: de tijd (in milliseconden) dat de fade-animatie duurt.</li>
<li><strong>hookPrevious</strong>: de JQuery selector die hier wordt doorgegeven wordt gebruikt voor manuele navigatie doorheen de slideshow in omgekeerde volgorde (vorige).</li>
<li><strong>hookNext</strong>: de JQuery selector die hier wordt doorgegeven wordt gebruikt voor manuele navigatie doorheen de slideshow in normale volgorde (volgende).</li>
<li><strong>hookSpecific</strong>: de JQuery selector die hier wordt doorgegeven wordt gebruikt voor manuele navigatie doorheen de slideshow voor een specifieke afbeelding..</li>
<li><strong>random</strong>: geef aan of de afbeeldingen in de slideshow in willekeurige volgorde dienen verschijnen</li>
<li><strong>preload</strong>: hoeveel images moeten gepreload worden voor de huidige getoonde afbeelding</li>
</ol>
<h3>Voordelen?</h3>
<ol>
<li>Indien de bezoeker geen Javascript enabled heeft zal nog steeds de standaard-afbeelding zichtbaar zijn.</li>
<li>De slideshow kan makkelijk gepositioneerd worden zoals gewenst.</li>
<li>Een eenvoudige slideshow kan snel opgezet worden.</li>
<li>De code is eenvoudig en makkelijk uitbreidbaar.</li>
<li>Makkelijk meerdere slideshows op 1 pagina, elk afzonderlijk of samen configureerbaar.</li>
</ol>
<p>
<script type="text/javascript" src="http://static.netlash.be/userfiles/files/jquery.slideshow.js"></script>
<script type="text/javascript"><!--
	$('.slideshow').slideshow({

		images : new Array('/userfiles/images/team/bart.jpg',

						'/userfiles/images/team/dirk.jpg',

						'/userfiles/images/team/bert.jpg',

						'/userfiles/images/team/davy.jpg',

						'/userfiles/images/team/tijs.jpg',

						'/userfiles/images/team/johan.jpg',

						'/userfiles/images/team/bram.jpg',

						'/userfiles/images/team/annelies.jpg',

						'/userfiles/images/team/yoni.jpg',

						'/userfiles/images/team/matthias.jpg',

						'/userfiles/images/team/joanna.jpg',

						'/userfiles/images/karolien.jpg',

						'/userfiles/images/team/stephen.jpg',

						'/userfiles/images/team/thomas.jpg'),

		random : true,

		preload : 1,

		fadeSpeed: 1500

	});



	function demo()

	{

		if ($('.demo').css('display') != 'none') return;



		$('.demo').show();



		$('#demo1').slideshow({

			images : new Array('/modulefiles/portfolio/438x205/red-bull-elektropedia.jpg',

						'/modulefiles/portfolio/438x205/envelop.jpg',

						'/modulefiles/portfolio/438x205/oximo.jpg',

						'/modulefiles/portfolio/438x205/flair.jpg',

						'/modulefiles/portfolio/438x205/de-buren.jpg',

						'/modulefiles/portfolio/438x205/mischa.jpg',

						'/modulefiles/portfolio/438x205/civitas-gent.jpg'),

			links : new Array('/portfolio/detail/red-bull-elektropedia',

						'/portfolio/detail/envelop',

						'/portfolio/detail/oximo',

						'/portfolio/detail/flair',

						'/portfolio/detail/de-buren',

						'/portfolio/detail/mischa',

						'/portfolio/detail/civitas-gent'),

			hookPrevious : $('#slideshow-previous'),

			hookNext : $('#slideshow-next'),

			preload : 2

		});



		$('#demo2').slideshow({

			images : new Array('/modulefiles/portfolio/438x205/red-bull-elektropedia.jpg',

						'/modulefiles/portfolio/438x205/envelop.jpg',

						'/modulefiles/portfolio/438x205/oximo.jpg',

						'/modulefiles/portfolio/438x205/flair.jpg',

						'/modulefiles/portfolio/438x205/de-buren.jpg',

						'/modulefiles/portfolio/438x205/mischa.jpg',

						'/modulefiles/portfolio/438x205/civitas-gent.jpg'),

			fadeTime : 3000,

			fadeSpeed : 'fast',

			random : true,

			preload : 1

		});

	}
// --></script>
</p><p><a href="http://www.netlash.com/blog/detail/javascript-slideshow" rel="canonical" title="Javascript slideshow">Javascript slideshow</a> geschreven door Matthias in: <a href="http://www.netlash.com/blog/categorie/webdevelopment" title="webdevelopment">webdevelopment</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/javascript" rel="tag" title="javascript">javascript</a>, <a href="http://www.netlash.com/tags/detail/jquery" rel="tag" title="jquery">jquery</a>, <a href="http://www.netlash.com/tags/detail/slideshow" rel="tag" title="slideshow">slideshow</a></p>
		]]>
	</description>
	<pubDate>Mon, 02 Nov 2009 12:00:00 +0100</pubDate>
	<author><![CDATA[Matthias]]></author>
	<category><![CDATA[webdevelopment]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/javascript-slideshow</guid>
	</item>
<item>
	<title><![CDATA[MySQL Slow Log Parser]]></title>
	<link>http://www.netlash.com/blog/detail/mysql-slow-log-parser</link>
	<description>
		<![CDATA[
			<p><img width="120" height="61" src="http://www.netlash.com/userfiles/images/blogposts/mysql.png" class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" />Als je al eens in aanraking komt met grote projecten dan kan de <a href="http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html">Slow Query Log</a> een hele openbaring zijn. In deze log komen alle queries die langer duren dan een ingesteld aantal seconden en een minimum aantal rijen moet verwerken.</p>
<blockquote>
<p>The slow query log consists of all SQL statements that took more than long_query_time seconds to execute and required at least min_examined_row_limit rows to be examined.</p>
</blockquote>
<p>Maar omdat alle trage queries hierin terechtkomen is het niet altijd makkelijk om uit te maken welke nu juist de queries zijn die je best aanpakt.</p>
<p>Via de mensen van <a href="http://www.openminds.be">Openminds</a> had ik vernomen dat er een script was die deze log gaat parsen en je kan vertellen welke queries juist aandacht vragen.</p>
<p>Het script analyseert de log door te gaan kijken welke queries er meerdere keren voorkomen. Daarbij vervangen ze de variabele data zodat je een goed beeld krijgt.</p>
<p>Hoe installeer je het script:</p>
<ul>
<li><a href="http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser">Download</a> het script</li>
<li>Open een terminal en verplaats het script naar /usr/bin met onderstaand commando:<br /><code>sudo mv path/to/download /usr/bin/mysql_slow_log_parser</code> </li>
<li>Maak het script uitvoerbaar met onderstaand commando:<br /><code>sudo chmod +x /usr/bin/mysql_slow_log_parser</code> </li>
<li>Gebruik het script:<br /><code>mysql_slow_log_parser path/to/slow_query.log</code> </li>
</ul>
<p><small><b>Kleine disclaimer</b>: Wil je je database en queries tot in de puntjes optimaliseren? Neem dan een <a href="http://www.openminds.be">specialist</a> onder de arm, zij kunnen je bijstaan met raad en daad. Een database-specialist weet beter dan welke tool ook hoe je database of queries kan optimaliseren<br /></small></p><p><a href="http://www.netlash.com/blog/detail/mysql-slow-log-parser" rel="canonical" title="MySQL Slow Log Parser">MySQL Slow Log Parser</a> geschreven door Tijs in: <a href="http://www.netlash.com/blog/categorie/webdevelopment" title="webdevelopment">webdevelopment</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/mysql" rel="tag" title="mysql">mysql</a>, <a href="http://www.netlash.com/tags/detail/optimalisatie" rel="tag" title="optimalisatie">optimalisatie</a>, <a href="http://www.netlash.com/tags/detail/slow query log" rel="tag" title="slow query log">slow query log</a>, <a href="http://www.netlash.com/tags/detail/tips" rel="tag" title="tips">tips</a>, <a href="http://www.netlash.com/tags/detail/tools" rel="tag" title="tools">tools</a></p>
		]]>
	</description>
	<pubDate>Fri, 30 Oct 2009 07:55:00 +0100</pubDate>
	<author><![CDATA[Tijs]]></author>
	<category><![CDATA[webdevelopment]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/mysql-slow-log-parser</guid>
	</item>
<item>
	<title><![CDATA[Het visuele wow-effect in webdesign]]></title>
	<link>http://www.netlash.com/blog/detail/het-visuele-wow-effect-in-webdesign</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" alt="Dynamiek!" height="207" width="138" src="http://www.netlash.com/userfiles/images/blogposts/919122_musician_on_the_stage_1.jpg" />Er is een fundamenteel onderscheid tussen design voor drukwerk, en design voor het web. De meeste webbouwers weten dit; en diep in hun hart weten de meeste print-designers dit ook.</p>
<p>Uiteraard zijn er veel overeenkomsten, en zijn beide gebaseerd op dezelfde beginselen (typografie, gebruik van ritme, spati&#235;ring, witruimte...).<br />Maar: het fundamentele verschil zit hem in de drager - papier is an sich statisch, en web is an sich dynamisch.</p>
<p>Dit verschil zorgt er voor dat je in mijn ogen een duidelijk andere aanpak moet hebben voor beide media.</p>
<p>Aangezien papier op zichzelf niet dynamisch is, moet je de dynamiek in de layout van de inhoud stoppen. De layout van een affiche, poster, flyer moet in volle hevigheid van het papier spatten.<br />Bij web is dat niet zo. Daar zit de dynamiek in het medium al ingebouwd: je kan klikken, je hebt mouse-over effecten, er zijn eventueel bewegende stukken (video, animatie, jQuery-effecten) ...<br />Als je dan ook in het design van je webpagina heel veel dynamiek zal steken, zal dit clashen met de intrinsieke interactiviteit van het web. Die layout zal 'in competitie' gaan met de webdynamiek - en dat eindigt in een wedstrijdje 'om ter luidst'.</p>
<p>Het web wordt door gebruikers voornamelijk en liefst gebruikt als informatie-, transactie- en interactiemedium (lean-forward t.o.v. lean-back). Een website of webapplicatie heeft dan ook als taak om zijn informatie (onder welke vorm ook) zoveel mogelijk te ondersteunen en naar voor te laten komen. Opnieuw een reden om de layout niet te 'luid' te laten zijn: grafiek voor het web moet vooral functionele grafiek zijn, en gemaakt zijn om de inhoud zo goed mogelijk weer te geven en te ondersteunen.</p>
<p>Websites en webapplicaties zijn ook 'multiple use' - als je wilt inspelen op de informatie-,&#160; transactie- en interactiezucht van de eindgebruikers, maak je sites die meermaals kunnen gebruikt worden, en waar mensen ook geneigd zijn om die meermaals te gebruiken ('<a href="http://www.netlash.com/blog/detail/verslavende-websites">verslavende websites</a>').<br />Een site met een groot 'visueel wow-effect' zal de eerste keer misschien aanspreken - maar bij vaker gebruik zal dit saai worden, en zelfs in de weg komen te staan van het effectieve gebruik (consumeren van informatie, transacties uitvoeren, interactie aangaan).</p>
<p>Door de nadruk te veel te gaan leggen op dat visuele wow-effect, cre&#235;er je eigenlijk een tijdelijke website, met een beperkte levensduur. En websites moeten in mijn ogen toch minstens 3 jaar kunnen meegaan...</p>
<p>Daarom ben ik er van overtuigd dat bij het maken van sites je vooral moet denken aan een 'nul-design', een design dat ondersteunend en in de achtergrond werkt - en wel om volgende redenen:</p>
<ul>
<li>dynamiek moet in de interactiviteit van het web zitten, en niet vechten met de dynamiek van het ontwerp</li>
<li>goeie websites zijn informatie- of transactiewebsites, waar het design deze informatie of transactie ondersteunt, en niet de overhand heeft</li>
<li>bij meermalig gebruik wordt een visueel overweldigende site saai en zelfs storend</li>
<li>er zijn weinig tijdloze sites met een 'visueel wow-effect'; deze voelen vrij snel gedateerd aan.</li>
</ul>
<p>Wat met campagnesites, die vooral bedoeld zijn om &#233;&#233;nmalig het wow-effect op te wekken? Dat is <a href="http://www.netlash.com/wat-we-doen/wat-we-niet-doen">het soort sites dat wij ni&#233;t bouwen</a> - vooral omdat we niet geloven dat deze duurzaam bijdragen tot de businessdoelstellingen van bedrijven op het web.</p>
<p>Wat denken jullie?</p>
<p>&#160;</p>
<p>&#160;</p><p><a href="http://www.netlash.com/blog/detail/het-visuele-wow-effect-in-webdesign" rel="canonical" title="Het visuele wow-effect in webdesign">Het visuele wow-effect in webdesign</a> geschreven door Bart in: <a href="http://www.netlash.com/blog/categorie/webdesign" title="webdesign">webdesign</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/conversie" rel="tag" title="conversie">conversie</a>, <a href="http://www.netlash.com/tags/detail/webdesign" rel="tag" title="webdesign">webdesign</a></p>
		]]>
	</description>
	<pubDate>Thu, 29 Oct 2009 10:42:00 +0100</pubDate>
	<author><![CDATA[Bart]]></author>
	<category><![CDATA[webdesign]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/het-visuele-wow-effect-in-webdesign</guid>
	</item>
<item>
	<title><![CDATA[SVN Export gewijzigde files]]></title>
	<link>http://www.netlash.com/blog/detail/svn-export-gewijzigde-files</link>
	<description>
		<![CDATA[
			<p><img class="left" align="right" vspace ="12" hspace="12" style="padding-right: 12px" alt="Apple Script" src="http://www.netlash.com/userfiles/images/blogposts/applescript.png" height="139" width="138" /></p>
<p>Zoals ieder goed webbureau maken we bij Netlash gebruik van een version-control systeem. In ons geval is dit <a title="Subversion" href="http://subversion.tigris.org/">SVN</a>.</p>
<blockquote>
<p>Subversion (SVN) is een versiebeheersysteem en in 2000 opgezet door CollabNet Inc. Subversion is de opvolger van CVS, een alternatief versiebeheersysteem. Subversion is uitgebracht onder de Apache License, waardoor het open broncode programmatuur (opensourcesoftware) is.</p>
</blockquote>
<p>Als je dit combineert met grote projecten dan krijg je een solide basis om wijzigingen vlot bij te houden en te releasen. Het live zetten van grote wijzigingen kan soms een pak tijd in beslag nemen als je bijvoorbeeld geen SSH-acces hebt en dus alle files manueel moet uploaden. Een oplossing is om alles te gaan overschrijven. Dit heeft als nadeel dat dit even kan duren.</p>
<p>Daarom is het handiger om enkel de gewijzigde files te gaan uploaden. Maar dan moet je zelf een lijst gaan bijhouden van de gewijzigde files, of een lijst compileren aan de hand van je SVN-logs. Om dit proces te versnellen heb ik een Apple-script geschreven dat enkel de gewijzigde files gaat exporteren (met behoud van de folder-structuur).</p>
<p>Omdat we deze oplossing natuurlijk niet enkel voor onszelf willen houden kan je hier het script downloaden.</p>
<p><a class="button" title="SVN Export changed files" href="http://www.netlash.com/userfiles/files/svn_export_changed_files.zip">Download het script</a></p>
<p>&#160;</p>
<h3>Hoe installeer je het script?</h3>
<ol>
<li>Download het script.</li>
<li> Verplaats het script naar de Userscripts-map (/Users/<gebruikersnaam><gebruikersnaam>/Library/Scripts).</gebruikersnaam></gebruikersnaam></li>
<li> Activeer het Script-menu indien nodig door /System/Library/CoreServices/Menu Extras/Script Menu.menu te openen.</li>
</ol>
<h3>Hoe gebruik je het script</h3>
<ol>
<li>Update die lokale repository.</li>
<li> Start het script door in die Script-menu "SVN Export changed files" te kiezen.</li>
<li> Selecteer de folder die je SVN-repository bevat.</li>
<li>Geef de start-revision op. <span class="mute">(de revision die op dat moment live staat)</span></li>
<li> Geef de eind-revision op. <span class="mute">(in de meeste geval de laatste revision)</span></li>
<li> Selecteer een map waar de gewijzigde files moeten komen.</li>
<li> Upload de files.</li>
</ol>
<p class="mute"><b>Opmerking</b>: het script bevat geen error afhandeling en is een alpha. Feedback is dus steeds welkom.</p><p><a href="http://www.netlash.com/blog/detail/svn-export-gewijzigde-files" rel="canonical" title="SVN Export gewijzigde files">SVN Export gewijzigde files</a> geschreven door Tijs in: <a href="http://www.netlash.com/blog/categorie/webdevelopment" title="webdevelopment">webdevelopment</a></p>
<p>Tags: <a href="http://www.netlash.com/tags/detail/applescript" rel="tag" title="applescript">applescript</a>, <a href="http://www.netlash.com/tags/detail/export" rel="tag" title="export">export</a>, <a href="http://www.netlash.com/tags/detail/gewijzigde files" rel="tag" title="gewijzigde files">gewijzigde files</a>, <a href="http://www.netlash.com/tags/detail/svn" rel="tag" title="svn">svn</a>, <a href="http://www.netlash.com/tags/detail/tools" rel="tag" title="tools">tools</a></p>
		]]>
	</description>
	<pubDate>Mon, 19 Oct 2009 04:55:00 +0200</pubDate>
	<author><![CDATA[Tijs]]></author>
	<category><![CDATA[webdevelopment]]></category>
	<guid isPermaLink="1">http://www.netlash.com/blog/detail/svn-export-gewijzigde-files</guid>
	</item>
</channel>
</rss>
