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

<channel>
	<title>Netsetters weblog &#187; visualisation</title>
	<atom:link href="http://www.netsetters.nl/category/visualisation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.netsetters.nl</link>
	<description>Programming, User Experience and IA</description>
	<lastBuildDate>Sat, 07 Aug 2010 12:56:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Safari tips voor IPhone en IPad (iOS)</title>
		<link>http://www.netsetters.nl/2010/06/safari-tips-voor-iphone-en-ipad-ios/</link>
		<comments>http://www.netsetters.nl/2010/06/safari-tips-voor-iphone-en-ipad-ios/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 20:55:07 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Apple Inc.]]></category>
		<category><![CDATA[Data Formats]]></category>
		<category><![CDATA[FAQs Help and Tutorials]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Markup Languages]]></category>
		<category><![CDATA[mobiele applicaties]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Safari Mobile]]></category>
		<category><![CDATA[Web application]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=363</guid>
		<description><![CDATA[Ondertussen zijn wij ook mee gaan doen met de IPad gekte. Maar voordat je apps gaat ontwikkelen zijn er al heel wat mogelijkheden in de browser van deze aparaten. Safari biedt voor web-applicatie ontwikkelaars speciale tags. Hierdoor kunnen we applicaties ontwikkelen en deze via de website gelijk aanbieden, zonder gebruik te maken van de appstore.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F06%2Fsafari-tips-voor-iphone-en-ipad-ios%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F06%2Fsafari-tips-voor-iphone-en-ipad-ios%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 210px;">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/File:Apple_iPad_Event03.jpg"><img title="iPad with on display keyboard" src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Apple_iPad_Event03.jpg/300px-Apple_iPad_Event03.jpg" alt="iPad with on display keyboard" width="200" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://commons.wikipedia.org/wiki/File:Apple_iPad_Event03.jpg">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>Ondertussen zijn wij ook mee gaan doen met de IPad gekte. Maar voordat je apps gaat ontwikkelen zijn er al heel wat mogelijkheden in de browser van deze aparaten. Safari biedt voor web-applicatie ontwikkelaars speciale tags. Hierdoor kunnen we applicaties ontwikkelen en deze via de website gelijk aanbieden, zonder gebruik te maken van de appstore.</p>
<p><span id="more-363"></span></p>
<h2>Ken het plusje</h2>
<p>Op de IPad in de Safari-browser zit een plus icoontje, hiermee kan je een webpagina snelkoppeling op je &#8216;desktop&#8217; zetten.  Naast dat het erg handig is dat je snel een webpagina op kan roepen, geeft het je ok de mogelijkheid om een applicatie bijna &#8216;native&#8217; te laten draaien op je IPad.</p>
<h2>Maak zelf je desktop icoon</h2>
<p>Door middel van <strong>apple-touch-icon</strong> link kan je een icoon aangeven die gebruikt wordt als snelkoppeling. Het icoon moet een <strong>PNG</strong> zijn van <strong>45px </strong>bij <strong>45px</strong>. Deze kan je daarna linken in de head van je pagina.</p>
<pre class="brush: xml;">
&lt;link rel=&quot;apple-touch-icon&quot; href=&quot;/apple-touch-icon.png&quot; /&gt;
</pre>
<p>Apple gooit er automatisch een glas-effect overheen, wil je dit niet hebben gebruik dan <strong>apple-touch-icon-precomposed</strong></p>
<pre class="brush: xml;">
&lt;link rel=&quot;apple-touch-icon-precomposed&quot; href=&quot;/apple-touch-icon.png&quot; /&gt;
</pre>
<h2>Web-applicatie Full Screen op je IPhone en IPad</h2>
<p>Door de volgende meta informatie te plaatsen in je &lt;head&gt; van je website kan je de applicatie fullscreen zonder zichtbaar browserscherm laten draaien nadat deze is toegevoegd aan de &#8216;desktop&#8217; met het plusje.</p>
<pre class="brush: xml;">&lt;meta name=&quot;apple-mobile-web-app-capable&quot; content=&quot;yes&quot;&gt;</pre>
<p>Door de waarde van <strong>apple-mobile-web-app-capable</strong> op &#8220;yes&#8221; te zetten zal de applicatie op fullscreen draaien. Hierdoor zal het op een volwaardige applicatie lijken. Je kan in je javascript ook kijken of een pagina in fullscreenmode draaid (en daar je inhoud of css op aanpassen) door gebruik te maken van de <strong>window.navigator.standalone</strong> boolean waarde.</p>
<pre class="brush: jscript;">
if(window.navigator.standalone) {
	alert(&quot;ik draai fullscreen als applicatie&quot;);
} else {
	alert(&quot;ik draai in een browser&quot;);
}
</pre>
<h2>Negeer de automatische telefoonnummer links</h2>
<p>Als je al eens een web-applicatie  of website voor de IPhone of IPad ebt gemaakt zal je zien dat alle op telefoonnummer lijkende nummerreeksen als bel-link worden aangemaakt. Hierdoor kan je direct eenn telefoonnummer bellen als  deze in een website staat. Dit kan erg handig zijn, maar soms wil je niet dat dit gedrag voorkomt. Daarvoor is ook een meta-tag.</p>
<pre class="brush: xml;">
&lt;meta name=&quot;format-detection&quot; content=&quot;telephone=no&quot;&gt;
</pre>
<p>Door de <strong>format-detecion</strong> waarde op &#8220;no&#8221; te zetten voorkom je dat de telefoonnummers (of daarop gelijkende nummer-reeksen) automatisch worden gelinkt. Mocht je dan onverhoopt toch een telefoonnummer willen linken kan dat altijd nog door middel van een normale link.</p>
<pre class="brush: xml;">
&lt;a href=&quot;tel:0111-422622&quot;&gt;0111-422622&lt;/a&gt;
</pre>
<h2>Kies zelf je toetsenbord</h2>
<p>Op de iphone en IPad heb je verschillende toetsenborden. Om snel de goede toetsenborden tevoorschijn te toveren kna je ook gebruikmaken</p>
<pre class="brush: xml;">
Tekst: &lt;input type=&quot;text&quot; /&gt; &lt;!-- standaard toetsenbord --&gt;
Telefoon: &lt;input type=&quot;tel&quot; /&gt; &lt;!-- telefoon toetsenbord --&gt;
Homepage: &lt;input type=&quot;url&quot; /&gt; &lt;!-- web-adres toetsenbord --&gt;
E-mail: &lt;input type=&quot;email&quot; /&gt; &lt;!-- e-mail toetsenbord --&gt;
Leeftijd: &lt;input type=&quot;text&quot; pattern=&quot;[0-9]*&quot; /&gt; &lt;!-- numeriek toetsenbord --&gt;
</pre>
<p>Ook kan je de automatische tekstcorrectie uitzetten voor input velden:</p>
<pre class="brush: xml;">
&lt;input type=&quot;text&quot; autocorrect=&quot;off&quot; /&gt;
</pre>
<h2>Draaien met het scherm</h2>
<p>Het kan zijn dat je web-applicatie zich moet aanpassen als het apparaat wordt gedraaid, en daardoor het formaat van je scherm anders wordt. Hierdoor moet je soms veranderingen in je css of javascript doorvoeren. Daarom bestaan er in Safari Mobile verschillende methoden om hiermee om ta gaan. Allereerst is er het event, onorientationchange, hiermee kan je een bepaalde functie aanroepen als de oriëntatie van de pagina wordt veranderd.</p>
<pre class="brush: xml;">
&lt;body onorientationchange=&quot;myOrientationChangeFunction()&quot;&gt;
</pre>
<p>In javascript kan de oriëntatie van het  scherm worden opgevraagd door middel van de window.orientation:</p>
<ul>
<li>window.orientation is 0 wanneer het apparaat verticaal wordt gehouden</li>
<li>window.orientation is 90 wanneer het apparaat 90 graden naar links (tegen de klok in) is gedraaid (horizontaal).</li>
<li>window.orientation is -90 wanneer het apparaat 90 graden naar rechts (met de klok mee) is gedraaid (horizontaal).</li>
</ul>
<p>Ook kan je css file worden aangepast op je scherm oriëntatie:</p>
<pre class="brush: xml;">
&lt;link rel=&quot;stylesheet&quot; media=&quot;all and (orientation:portrait)&quot; href=&quot;portrait.css&quot;&gt;
&lt;link rel=&quot;stylesheet&quot; media=&quot;all and (orientation:landscape)&quot; href=&quot;landscape.css&quot;&gt;
</pre>
<h2>(automatisch) zoomen; de viewport</h2>
<p>Je IPhone of IPad zal een website proberen te schalen zodat deze het beste zichtbaar is. Deze berekening van de viewport kan soms irritant zijn. Daarom kan je de initiële schaal vastzetten. Dit kan bijvoorbeeld op de breedte van ht scherm</p>
<pre class="brush: xml;">
&lt;meta name = &quot;viewport&quot; content = &quot;width = device-width&quot;&gt;
</pre>
<p>Of zet de breedte op 100% , dan maak je geen gebruik van de automatische zoom</p>
<pre class="brush: xml;">
&lt;meta name = &quot;viewport&quot; content = &quot;initial-scale = 1.0&quot;&gt;
</pre>
<p>Daarnaast kan je er ook nog voor zorgen dat de gebruiker niet kan in- of uit-zoomen en een vaste initiële zoom van 230%</p>
<pre class="brush: xml;">
&lt;meta name = &quot;viewport&quot; content = &quot;initial-scale = 2.3, user-scalable = no&quot;&gt;
</pre>
<h2>Nog meer mogelijkheden op IPhone en IPad</h2>
<p>Naast deze meest gebruikte technieken bestaan er nog meer eigenschappen specifiek voor de mobile versie van Safari op iOS. Bovenstaande technieken zullen ook de discussie aanwakkeren of  het wel nodig is om een applicatie via de Appstore toe te voegen. Soms is het namelijk veel handiger om de web-applicatie direct via de website aan te bieden als link.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://zef.me/3323/safari-5-html5-faster-js-reader">Safari 5: HTML5, Faster JS, Reader</a> (zef.me)</li>
<li class="zemanta-article-ul-li"><a href="http://news.cnet.com/8301-13579_3-20006810-37.html?part=rss&amp;subj=news&amp;tag=2547-1_3-0-20">Apple posts HTML 5 demo page</a> (news.cnet.com)</li>
<li class="zemanta-article-ul-li"><a href="http://mashable.com/2010/06/04/apple-html5-showcase/">Apple Shows Us What HTML5 Can Do</a> (mashable.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.lockergnome.com/it/2010/06/04/html5-to-apple-youre-doing-it-wrong/">HTML5 To Apple, You&#8217;re Doing It Wrong</a> (lockergnome.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=02e395cb-0add-4233-912d-935a86ea741c" alt="Enhanced by Zemanta" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=363&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2010/06/safari-tips-voor-iphone-en-ipad-ios/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS Pseudo classes</title>
		<link>http://www.netsetters.nl/2010/06/css-pseudo-classes/</link>
		<comments>http://www.netsetters.nl/2010/06/css-pseudo-classes/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 20:37:31 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[trends]]></category>
		<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Cascading Style Sheets]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Data Formats]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Style Sheets]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=356</guid>
		<description><![CDATA[Image via Wikipedia Dit keer een kort stukje over een klein maar waardevolle mogelijkheden in CSS: Pseudo Classes. Pseudo classen worden gebruikt om een bepaald  effect aan een selector mee te geven. Het bekendste pseudo-class is wel de :hover die al aardig ingeburgerd is in het css gebruik. Met :hover kan je bijvoorbeeld  een link [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F06%2Fcss-pseudo-classes%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F06%2Fcss-pseudo-classes%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 210px;">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/File:CSS.svg"><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/86/CSS.svg/275px-CSS.svg.png" alt="" width="200" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://commons.wikipedia.org/wiki/File:CSS.svg">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>Dit keer een kort stukje over een klein maar waardevolle mogelijkheden in CSS: Pseudo Classes. Pseudo classen worden gebruikt om een bepaald  effect aan een selector mee te geven. Het bekendste pseudo-class is wel de :hover die al aardig ingeburgerd is in het css gebruik. Met :hover kan je bijvoorbeeld  een link een andere css class geven als je er met de muis overheen beweegt. Recent zijn er enkele classen bijgekomen, zo ook de :before en :after elementen<br />
<span id="more-356"></span></p>
<h2>Compatibility  van de nieuwe pseudo classen</h2>
<p>Zoals zo vaak behandel ik alleen nieuwe technieken die aardig worden ondersteund door modernere browsers. Zo kunnen deze nieuwe pseudo classen worden gebruikt in de huidige versies van alle browsers. In Internet Explorer 7 waren deze nog niet aanwezig, maar in 8 zit de functionaliteit er volledig in. Ook Chrome, Safari, Firefox en Opera doen ondersteuenen al een tijdje deze classen.</p>
<h2>Gebruik van pseudo classes</h2>
<p>Pseudo classes kunnen gebruikt worden op bijna alle CSS classes door gebruik te maken van een dubbele punt (&#8220;:&#8221;) en de naam van de pseudo class. Net als de bekende  :hover. Bijvoorbeeld:</p>
<pre class="brush: css;">
a:hover {color:red;}
</pre>
<h2>Pak het eerste kind met :first-child</h2>
<p>Soms moet je binnen een pagina elk eerste element anders stijlen dan de rest. Daarvoor bestaat er first-child. Hiermee pak je van de genoemde classe het eerste element. Zo kan je bijvoorbeeld elke eerste paragraaf binnen een document een afwijkende stijl geven</p>
<pre class="brush: css;">
p:first-child {
	font-style: oblique;
}
</pre>
<p>Zo kunnen ook eerste elementen in een lijst of rij in tabel een afwijkende stijl worden gegeven. In dat geval veranderd er wel iets, omdat het hoofdelement meerdere malen voor kan komen. In dit geval geven we aan dat er (eventueel) meerdere tabellen zijn in de css met de volgende code:</p>
<pre class="brush: css;">
table &gt; tr:first-child {
    font-weight:bold;
}
</pre>
<p>Andersom kunnen ook alle  tr in alleen de eerste table een stijl meegegeven worden</p>
<pre class="brush: css;">
table:first-child tr {
    font-weight:bold;
}
</pre>
<h2>:before en :after css elementen</h2>
<p>Ook een handige en nog niet veel gebruikte CSS elementen zijn de :before en :after pseudo elementen. Hiermee kan er voor of na het betreffende element een stuk inhoud worden toegevoegd.  Wil je bijvoorbeeld voor elke quote een tekstje &#8220;quote:&#8221; dan kan dat door middel van css.</p>
<pre class="brush: css;">
q:before {
	content: &quot;Quote:&quot;;
}
</pre>
<p>Dan kunnen we ook nog aanhalingstekens om het geheel heen plaatsen (let op dat deze wel &#8220;ge-escaped&#8221; moeten worden, de backslash geeft aan dat de quote lettterlijk genomen moet worden en niet het inde van de tekst is.)</p>
<pre class="brush: css;">
q:before {
	content: &quot;Quote: \&quot; &quot;;
}

q:after {
	content: &quot;\&quot; &quot;
}
</pre>
<p>Het is ook mogelijk om afbeeldingen mee te geven aan het begin of einde van een element. Bijvoorbeeld een plaatje voor elke paragraaf. Of alleen de eerste paragraaf in combinatie met first-child.</p>
<pre class="brush: css;">
/* Plaatje voor elke paragraaf */
p:before {
	content: url(/images/mijn_image.gif);
}

/* alleen voor de eerste paragraaf */
p:first-child:before {
	content: url(/images/mijn_image.gif);
}
</pre>
<h2>De :lang pseudo class</h2>
<p>Voor ontwikkelaars die zich moeten richten op websites in verschillende talen geeft CSS tegenwoordig wat meer hulpmiddelen in de vorm van bijvoorbeeld de :lang pseudo classe. Hiermee kan er een regel worden gezet voor een bepaalde taal. Laten we voor Nederlanders de tekst maar oranje maken <img src='http://www.netsetters.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush: css;">
p:lang(nl) {
	color:#FF6633;
}
</pre>
<p>Natuurlijk zijn er ook betere toepassingen, zoals in Noorwegen gebruiken ze het bekende &#8220;golfje&#8221;  als teken voor quotes. Nu kunnen we in combinatie met de :before en :after classe van hierboven makkelijk alle quotes voorzien van andere tekens.</p>
<pre class="brush: css;">
/* eerst de 'normale situatie zetten */
q:before {
	content: &quot;\&quot; &quot;;
}

q:after {
	content: &quot; \&quot; &quot;;
}

/* alleen voor de Noorse lezers */
q:before {
	content: &quot; ~&quot;;
}

q:after {
	content: &quot;~ &quot;;
}
</pre>
<p>Dit kan ook korter met de quotes declaratie</p>
<pre class="brush: css;">
q:lang(no) {
	quotes: &quot;~&quot; &quot;~&quot;;
}
</pre>
<h2>:first-line en :first-letter classe</h2>
<p>Als laatste wil ik de :first-line en :first-letter elementen bespreken. Hiermee kan je de eerste regel of eerste letter van een element een stijl geven. Als je de eerste regel van paragraven dik gedrukt wilt hebben en de eerste letter een stuk groter (zoals de oude monnik boekwerken), dan is dit kinderlijk eenvoudig met deze pseudo-elementen.</p>
<pre class="brush: css;">
p:first-line {
	font-weight: bold;
}

p:first-letter {
	font-size: 50px;
}
</pre>
<p>Let wel op dat de eerste regel de eerste <strong>visuele</strong> is. CSS herkent geen punten maar wacht tot een regelomhaal. Dat is dus de eerste <code><br />
</code> of automatische regelomhaal omdat de container te klein is.</p>
<h2>Doe meer met CSS</h2>
<p>Zoals je kan zien is er met  CSS steeds meer mogelijk. Een logisch vervolg van het belangrijker worden van de client-side en front-end programmeren. HTML5, CSS3 en javascript gaan hand  in hand samen deze ontwikkeling door. Een ontwikkeling waardoor wij straks steeds meer applicaties web-based kunnen maken, maar dat web-based applicaties ook steeds meer gebruik kunnen gaan maken van de client.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://tc.eserver.org/36636.html">The Mysterious Pseudo Class in CSS</a> (tc.eserver.org)</li>
<li class="zemanta-article-ul-li"><a href="http://www.lukew.com/ff/entry.asp?1106">An Event Apart: Object Oriented CSS</a> (lukew.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.smashingmagazine.com/2010/06/10/50-new-useful-css-techniques-tools-and-tutorials/">50 New Useful CSS Techniques, Tools and Tutorials</a> (smashingmagazine.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.downloadsquad.com/2010/06/10/when-can-i-use-is-a-great-resource-for-browser-compatibility/">When can I use &#8230; is a great resource for browser compatibility advice</a> (downloadsquad.com)</li>
</ul>
<table>
<tbody></tbody>
</table>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=4159c16c-6f18-4518-87ee-0bb9b06e62cc" alt="Enhanced by Zemanta" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=356&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2010/06/css-pseudo-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 contenteditable: Pas tekstblokken direct aan.</title>
		<link>http://www.netsetters.nl/2010/05/html5-contenteditable-pas-tekstblokken-direct-aan/</link>
		<comments>http://www.netsetters.nl/2010/05/html5-contenteditable-pas-tekstblokken-direct-aan/#comments</comments>
		<pubDate>Wed, 26 May 2010 07:58:32 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[data]]></category>
		<category><![CDATA[trends]]></category>
		<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Font family]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[HTML element]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Mozilla Firefox]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=340</guid>
		<description><![CDATA[Ooit de drang gehad om een tekstblok binnen een website even snel aan te passen. In de reeks HTML5 blog-items nu dan plaats voor  contenteditable. Met contenteditable kan je tekst binnen bijvoorbeeld een div direct aanpasbaar laten zijn, zonder input-veld of textarea.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F05%2Fhtml5-contenteditable-pas-tekstblokken-direct-aan%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F05%2Fhtml5-contenteditable-pas-tekstblokken-direct-aan%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 250px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/54772696@N00/3761420237"><img title="Dabbling with HTML5" src="http://farm3.static.flickr.com/2491/3761420237_fcb8948eb1_m.jpg" alt="Dabbling with HTML5" width="240" height="133" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/54772696@N00/3761420237">Marc Amos</a> via Flickr</dd>
</dl>
</div>
</div>
<p>Ooit de drang gehad om een tekstblok binnen een website even snel aan te passen? In de reeks <a title="html5" href="http://www.netsetters.nl/tag/html5/" target="_self">HTML5</a> blog-items nu dan plaats voor  contenteditable. Met contenteditable kan je tekst binnen bijvoorbeeld een div direct aanpasbaar laten zijn, zonder input-veld of textarea.<span id="more-340"></span></p>
<h2>Contenteditable toepassingen</h2>
<p>Van veel html5 toepassingen wist ik meteen een manier hoe deze in te zetten. Opslag met <a title="html5 local storage" href="http://www.netsetters.nl/2010/05/html5-offline-opslag-met-local-storage" target="_blank">Local Storage</a>, <a title="getcurrentlocation html5" href="http://www.netsetters.nl/2010/05/html5-localisation-vraag-de-locatie-op-in-de-browser-met-getcurrentlocation/" target="_blank">get current location</a>, <a title="Canvas html5 element" href="http://www.netsetters.nl/2010/05/html5-het-canvas-element/" target="_blank">Canvas</a> en <a title="font-face html5 css3" href="http://www.netsetters.nl/2010/05/css3-gebruik-van-lettertypen-op-het-web-met-font-face/" target="_blank">font-face </a>zijn direct toepasbaar en een meerwaarde voor applicaties waar ik aan werk. Voor contenteditable heb ik eerst enkele malen moeten nadenken. Allereerst zou het natuurlijk perfect werken voor CMS systemen, amar daar verlang je al snel een rich text editor voor het toevoegen van stijlen, en grafische elementen. Voor formulieren zou het ook kunnen , maar is dat er nou voor gemaakt. Toch zit de bruikbaarheid van dit element hem het meest in de combinatie met andere elementen zoals local storage.</p>
<h2>Compatibility van contenteditable</h2>
<p>Contenteditable is te gebruiken in de huidige versies van alle browsers en lijkt het meest compatible html5 element te zijn. Ook in Internet Explorer 7 werkt het naar behoren. Opera, Chrome, Safari en Firefox ondersteunen allemaal het contenteditable element. Zie de vergelijking op <a title="browser html5 compatible" href="http://caniuse.com/#agents=All&amp;eras=All&amp;cats=HTML5&amp;statuses=rec,pr,cr,wd,ietf" target="_blank">caniuse.com</a></p>
<h2>Welke elementen kunnen worden aangepast met contenteditbale</h2>
<p>contenteditable is een nieuw attribuut van html5 en is bruikbaar in de meeste tekst-containers. Zo kunnen ze gebruikit worden in:</p>
<ul>
<li>div</li>
<li>section</li>
<li>a</li>
<li>h1 tot h6</li>
<li>ul, li etc</li>
<li>span</li>
</ul>
<p>Natuurlijk is het ook te gebruiken in bijvoorbeeld body of table, maar op die manier is er dus weinig controle over het aanpasbare element.</p>
<h2>Gebruik van contenteditable</h2>
<p>Hieronder een code voorbeeld van het gebruik van het contenteditbale attribuut.</p>
<pre class="brush: xml;">

   &lt;section id=&quot;wrapper&quot;&gt;
      &lt;header&gt;
         &lt;h1&gt;ContentEditable&lt;/h1&gt;
      &lt;/header&gt;
      &lt;article&gt;
         &lt;section&gt;
            &lt;p&gt;De elementen met &lt;code&gt;contenteditable&lt;/code&gt; kunnen aangepast worden door de client in de browser.&lt;/p&gt;
         &lt;/section&gt;
         &lt;section contenteditable=&quot;true&quot;&gt;
             &lt;h2&gt;Deze kop is aanpasbaar&lt;/h2&gt;
             &lt;p&gt;De tekst in deze paragraaf is aanpasbaar&lt;/p&gt;
             &lt;ol&gt;
             &lt;li&gt;en deze lijst&lt;/li&gt;
             &lt;li&gt;is ook&lt;/li&gt;
             &lt;li&gt;aanpasbaar&lt;/li&gt;
             &lt;/ol&gt;
         &lt;/section&gt;
      &lt;/article&gt;
   &lt;/section&gt;
</pre>
<h2>Neemt stijl over van element</h2>
<p>Door bovenstaand voorbeeld te gebruiken kan je zien dat de tekst aan te passen is van elle elementen binnen de aanpasbare element. Je kan bepaalde elementen binnen het aanpasbare element uitzetten door bijvoorbeeld:</p>
<pre class="brush: xml;">
&lt;h1 contenteditable=&quot;false&quot;&gt;Kop is niet aan te passen&lt;/h1&gt;
</pre>
<p>In het aanpasbare element wordt de stijl van het omringende element over genomen. Zo blijft de list in bovenstaand voorbeeld een list, ook als er een enter wordt gegeven. Ook de paragraaf blijft de paragraaf en de kop blijft de kop. Er kan dus alleen binnen het element zelf aangepast worden. Er worden geen nieuwe elementen aangemaakt.</p>
<h2>Een demo van content editable</h2>
<p>Op de website van <a title="html5 contenteditble demo" href="http://html5demos.com/contenteditable" target="_blank">html5demos</a> staat een demo soortgelijk aan bovenstaande code. Door middel van javascript en css kan het content-veld worden aangepast zodra er op gefocust wordt, zodat het duidelijker is dat deze aan ta passen is.  Ook kan de inhoud van het editable deel  met een id worden opgehaald of gereset.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.slideshare.net/robnyman/javascript-html5-brave-new-world">JavaScript &amp; HTML5 &#8211; Brave New World</a> (slideshare.net)</li>
<li class="zemanta-article-ul-li"><a href="http://37signals.com/svn/posts/2338-html-5-for-web-designers-by-jeremy-keith">HTML 5 for Web Designers, by Jeremy Keith</a> (37signals.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.slideshare.net/derekbender/the-future-of-the-web-html5">The Future of the Web: HTML5</a> (slideshare.net)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/1076a8ac-5d0f-47d2-acc5-88ca2b8c57a5/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=1076a8ac-5d0f-47d2-acc5-88ca2b8c57a5" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=340&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2010/05/html5-contenteditable-pas-tekstblokken-direct-aan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3; gebruik van lettertypen op het web met @font-face</title>
		<link>http://www.netsetters.nl/2010/05/css3-gebruik-van-lettertypen-op-het-web-met-font-face/</link>
		<comments>http://www.netsetters.nl/2010/05/css3-gebruik-van-lettertypen-op-het-web-met-font-face/#comments</comments>
		<pubDate>Sat, 22 May 2010 21:23:19 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[trends]]></category>
		<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Cascading Style Sheets]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Font]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[OpenType]]></category>
		<category><![CDATA[Sans-serif]]></category>
		<category><![CDATA[Typeface]]></category>
		<category><![CDATA[Web typography]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=331</guid>
		<description><![CDATA[Het gebruik van lettertypen op het web is meestal vrij saai. Ik heb enorm vaak een (web) designer het standaard lijstje met de web-safe fonts  door moeten sturen. Dit beperkt het design en de vrijheid van de designer enorm. Een alternatief is om de tekst als plaatje te serveren, maar dit gaat ten koste van indexering en accesability. Maar er is nu een makkelijke en enorm bruikbare methode om fonts te 'embedden' in je webpagina: @font-face]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F05%2Fcss3-gebruik-van-lettertypen-op-het-web-met-font-face%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F05%2Fcss3-gebruik-van-lettertypen-op-het-web-met-font-face%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 250px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/27741269@N00/3592534418"><img title="Opera 10 Beta @font-face test" src="http://farm4.static.flickr.com/3565/3592534418_4f8e63aa02_m.jpg" alt="Opera 10 Beta @font-face test" width="240" height="124" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/27741269@N00/3592534418">Rodrigo Galindez</a> via Flickr</dd>
</dl>
</div>
</div>
<p>Het gebruik van lettertypen op het web is meestal vrij saai. Ik heb enorm vaak een (web) designer het standaard lijstje met de <a class="zem_slink" title="Web typography" rel="wikipedia" href="http://en.wikipedia.org/wiki/Web_typography">web-safe fonts</a> door moeten sturen. Dit beperkt het design en de vrijheid van de designer enorm. Een alternatief is om de tekst als plaatje te serveren, maar dit gaat ten koste van indexering en accesability. Maar er is nu een makkelijke en enorm bruikbare methode om fonts te &#8216;embedden&#8217; in je webpagina: @font-face<span id="more-331"></span></p>
<h2>Het font staat op de server</h2>
<p>Allereerst moet het lettertype aanwezig zijn op de web-server. Dit omdat de kans groot is dat de gebruiker het lettertype niet heeft geïnstalleerd. Let wel op de licentie van een font. Het feit dat deze via de website wordt gedistribueerd betekend eigenlijk dat je aan het delen bent.  De fonts die geïnstalleerd staan op je computer komen vaak samen met je OS, die heeft de licenties geregeld. Het is dus niet vanzelfsprekend dat deze fonts dan ook legaal gedeeld mogen worden. Een website waar enorm veel gratis en commercieel te gebruiken fonts staan in TreuType en in <a class="zem_slink" title="OpenType" rel="wikipedia" href="http://en.wikipedia.org/wiki/OpenType">OpenType</a> is <a title="font squirrel, free commercial fonts" href="http://www.fontsquirrel.com" target="_blank">Font Squirrel</a>. Nadat je het font hebt gedownload zet je deze op je webserver zodat je ze kan embedden met <a class="zem_slink" title="Cascading Style Sheets" rel="wikipedia" href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets">CSS</a>.</p>
<h2>Gebruik van @font-face</h2>
<p>Door onderstaande code embed ik het lettertype Lobster 1.1. een font die open beschikbaar is en te vinden is op Font Squirrel. Het toegankelijk maken van het font doe ik in CSS.</p>
<pre class="brush: css;">
@font-face {
	font-family: 'Lobster1.1';
	src: url('/fonts/lobster_1.1_.otf') format('opentype');
}
</pre>
<p>Bovenstaande code pakt het bestand lobster_1.1_.otf uit de map fonts en noemt het Lobster 1.1. Hierna is het gebruik van het font hetzelfde als anders. Geef alle H1 koppen maar eens dit lettertype, maar zorg er voor dat browsers die incompatible zijn wel de tekst kunnen laten zien met een alternatief font.</p>
<pre class="brush: css;">
h1 {
    font-weight: normal;
    font-style: normal;
    line-height:normal;
    font-family: 'Lobster1.1', sans-serif;
    font-size:83px;
    color: #333333;
    }
</pre>
<h2>Meerdere malen @font-face gebruiken</h2>
<p>Je kunt dit zelfde meerdere malen doen. Je kan dus na eenmalig het font te embedden in alle CSS code er na hetzelfde font gebruiken. Ook kan het embedden van meerdere font gewoon gebeuren door meerder malen @font-face te gebruiken.</p>
<pre class="brush: css;">
@font-face {
	font-family: 'Lobster1.1';
	src: url('../fonts/lobster_1.1_.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Quicksand Book';
	src: url('../fonts/Quicksand_Book.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

h1 {
    font-weight: normal;
    font-style: normal;
    line-height:normal;
    font-family: 'Lobster1.1', sans-serif;
    font-size:83px;
    color: #FFFFFF;
    margin:5px 0px;
    }

h2 {
    font-weight: normal;
    font-style: normal;
    line-height:normal;
    font-family: 'Lobster1.1', sans-serif;
    font-size:30px;
    color: #999999;
    margin:15px 0px 5px 0px;
    }

p   {
    font-weight: normal;
    font-style: normal;
    line-height:normal;
    font-family: 'Quicksand Book', sans-serif;
    font-size:13px;
    color: #000000;
    line-height:1.3em;
}
</pre>
<h2>Welke browsers zijn compatible met CSS3 font-face</h2>
<p>@font-face werkt goed in de huidige versies van Chrome, Opera, Safari en Firefox. Internet explorer ondersteunt alleen het EOT type font. Al met al dus geen exotische keus om een font te embedden. Vertel dat goede nieuws eens op een grafische afdeling en je zult vele glunderende gezichtjes zien.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://googlecode.blogspot.com/2010/05/introducing-google-font-api-google-font.html">Introducing the Google Font API &amp; Google Font Directory</a> (googlecode.blogspot.com)</li>
<li class="zemanta-article-ul-li"><a href="http://ajaxian.com/archives/2010-web-fonts-are-here-and-ready-to-use">2010: Web Fonts Are Here and Ready to Use</a> (ajaxian.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.wisdump.com/css/google-enters-the-font-face-business/">Google enters the @font-face business</a> (wisdump.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.macstories.net/ipad/typekit-ipad-and-web-fonts/">Typekit, iPad and Web Fonts</a> (macstories.net)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/eae22544-c065-48fa-9026-851b7a5c9488/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=eae22544-c065-48fa-9026-851b7a5c9488" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=331&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2010/05/css3-gebruik-van-lettertypen-op-het-web-met-font-face/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5: localisation. Vraag de locatie op in de browser met getCurrentLocation</title>
		<link>http://www.netsetters.nl/2010/05/html5-localisation-vraag-de-locatie-op-in-de-browser-met-getcurrentlocation/</link>
		<comments>http://www.netsetters.nl/2010/05/html5-localisation-vraag-de-locatie-op-in-de-browser-met-getcurrentlocation/#comments</comments>
		<pubDate>Fri, 21 May 2010 09:30:13 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[data]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[trends]]></category>
		<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Google Latitude]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[mobiele applicaties]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[webapplicaties]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=320</guid>
		<description><![CDATA[Na het artikel over HTML5 Canvas en twee mogelijkheden voor lokale opslag (Local storage en Database Storage) ben ik lekker op dreef.  Daarom vandaag een stukje over geolocation. Met geolocation kunnen wij de locatie van iemand in de browser opvragen. Dit is uitermate geschikt voor mobiele toepassingen en het leveren van een gepersonaliseerde ervaring.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F05%2Fhtml5-localisation-vraag-de-locatie-op-in-de-browser-met-getcurrentlocation%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F05%2Fhtml5-localisation-vraag-de-locatie-op-in-de-browser-met-getcurrentlocation%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 170px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/35034363370@N01/4069862985"><img title="Geolocation" src="http://farm3.static.flickr.com/2634/4069862985_6afea51ae4_m.jpg" alt="Geolocation" width="160" height="240" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/35034363370@N01/4069862985">hawaii</a> via Flickr</dd>
</dl>
</div>
</div>
<p>Na het artikel over <a title="canvas element html5" href="http://www.netsetters.nl/2010/05/html5-het-canvas-element/" target="_self">HTML5 Canvas </a>en twee mogelijkheden voor lokale opslag (<a title="html5 local storage" href="http://www.netsetters.nl/2010/05/html5-offline-opslag-met-local-storage/" target="_self">Local storage</a> en <a title="html5 database storage" href="http://www.netsetters.nl/2010/05/html-5-databasestorage/" target="_self">Database Storage</a>) ben ik lekker op dreef.  Daarom vandaag een stukje over geolocation. Met geolocation kunnen wij de locatie van iemand in de browser opvragen. Dit is uitermate geschikt voor mobiele toepassingen en het leveren van een gepersonaliseerde ervaring.<span id="more-320"></span></p>
<h2>Realtime en locatiediensten steeds belangrijker</h2>
<p>Realtime informatie en gepersonaliseerde locatie-diensten zijn sterk in opkomst. Zo zijn er initiatieven als <a title="Foursquare, een realtime locatiedienst" href="http://www.netsetters.nl/2010/01/foursquare-krijgt-je-de-deur-uit/" target="_self">Foursquare</a> en <a class="zem_slink" title="Google Latitude" rel="homepage" href="http://www.google.com/latitude/">Google Latitude</a> die enorm aan populariteit winnen. Op dit moment moet een aparte mobiele applicatie geschreven worden die de locatie van de gebruiker kan doorgeven aan de server, maar door middel van geolocation in HTML5 kunnen we ook in de browser de locatie opvragen van een persoon. Dit geeft weer een enorm aantal toepassingen voor webapplicaties, vooral voor mobiele apparaten.</p>
<h2>Niet alleen via GPS</h2>
<p>De locatie van een client hoeft niet perse door middel van GPS te worden opgevraagd. Het is dus niet nodig om een apparaat te hebben met ingebouwd GPS maar het werkt ook op de normale desktop computer. Andere bronnen op locatie te bepalen zijn bijvoorbeeld het ip nummer, driehoeksmeting van GSM masten, Wifi, bluetooth etc. Het is dus niet altijd 100% zeker dat de geretourneerde waarde ook de werkelijke positie bevat, maar het geeft in ieder geval de meest betrouwbare positie van de client op dat moment weer.</p>
<h2>Compatible browsers</h2>
<p>Op dit moment is het nog onzeker of Microsoft het gaat  redden om de ondersteuning in Internet Explorer 9 te krijgen, maar het werkt al op Firefox (&gt;3.5), Chrome (&gt;5.0; komt later 2010 uit), Opera (&gt;10.*), Ok op het <a class="zem_slink" title="IPhone OS" rel="homepage" href="http://developer.apple.com/iphone/">Iphone OS</a> 3+ kan er gebruik gemaakt worden van geolocation. Het moeilijke is dat het naast een aanpassing in de browser ook een aanpassing in het onderliggende besturingssysteem vraagt, omdat deze de hardware aanstuurt om de positie van de client te berekenen. Firefox is de enige browser die geheel</p>
<h2>Positie opvragen in javascript met getCurrentPosition</h2>
<p>De locatie opvragen binnen javascript is uiterst simpel en gebeurd met getCurrentPosition. Deze functie heeft 3 argumenten namelijk:</p>
<ul>
<li>succescallback (wat te doen bij succes)</li>
<li>errorcallback (wat te doen bij een fout)</li>
<li>casheoptions (hoe lang blijft de positie in de cache bewaard)</li>
</ul>
<p>De succescallback is een functie waarin  de long-lat coördinaten gebruikt kunnen worden, hieronder een voorbeeld.</p>
<pre class="brush: jscript;">
// locatie opvragen en doorgeven aan de functie 'verwerkLocatie', als er geen locatie opgevraagd kan worden wordt de functie 'locatieError' uitgevoerd.
navigator.geolocation.getCurrentPosition(verwerkLocatie, locatieError);

function verwerkLocatie(position) {
      alert(&quot;mijn locatie is:&quot;+position.coords.latitude+&quot; &quot;+position.coords.longitude);
}

function locatieError() {
      alert(&quot;Locatie kon niet worden vastgesteld door middel van HTML5&quot;);
}
</pre>
<h2>Locatie iopvragen vanuit de cache</h2>
<p>Het kan voorkomen dat de locatie nu niet beschikbaar is, maar dat deze wel x aantal minuten geleden is vastgesteld. Mobiele telefoons doen dit om de batterijduur te verlengen. Hierdoor is het mogelijk om een positiebepaling vanuit de opgeslagen cache op te vragen.  Hieronder een voorbeeld waarin er een positie wordt opgevraagd vanuit de cache die niet ouder is dan 10 minuten.</p>
<pre class="brush: jscript;">
navigator.geolocation.getCurrentPosition(successCallback,
                                             errorCallback,
                                             {maximumAge:600000});
</pre>
<h2>Locatie gebaseerde webapplicatie bouwen</h2>
<p>Nu kan de locatie gebruikt worden om bijvoorbeeld weer te geven op een map (vind verkooppunten van product x in mijn omgeving), of kan de locatie gebruikt worden om de taal van de website te selecteren. er zijn natuurlijk veel verschillende toepassingen om de locatie te gebruiken. Uitproberen? kijk eens op de demo op <a title="html5 geolocation demo" href="http://html5demos.com/geo" target="_blank">html5demos.com</a></p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://yehudakatz.com/2010/04/30/the-web-doesnt-suck-browsers-are-innovating/">The Web Doesn&#8217;t Suck. Browsers Are Innovating.</a> (yehudakatz.com)</li>
<li class="zemanta-article-ul-li"><a href="http://r.zemanta.com/?u=http%3A//www.infoworld.com/t/internet/google-official-reaffirms-html5-readiness-444%3Fsource%3Drss_infoworld_news&amp;a=17389746&amp;rid=64702e34-01f2-48a5-8a2f-3260e89661bf&amp;e=6286a55500ca852522e5a76610fa9f5f">Google official reaffirms HTML5 readiness</a> (infoworld.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/64702e34-01f2-48a5-8a2f-3260e89661bf/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=64702e34-01f2-48a5-8a2f-3260e89661bf" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=320&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2010/05/html5-localisation-vraag-de-locatie-op-in-de-browser-met-getcurrentlocation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Het bouwen van een mobiele website.</title>
		<link>http://www.netsetters.nl/2010/03/het-bouwen-van-een-mobiele-website/</link>
		<comments>http://www.netsetters.nl/2010/03/het-bouwen-van-een-mobiele-website/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 17:09:27 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[data]]></category>
		<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Event handler]]></category>
		<category><![CDATA[Handhelds]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[mobiele site]]></category>
		<category><![CDATA[Smartphones]]></category>
		<category><![CDATA[Tweakers.net]]></category>
		<category><![CDATA[User agent]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[WURFL]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=249</guid>
		<description><![CDATA[Net toen het me helemaal niet interessant leek om mobiele sites te bouwen kreeg ik een opdracht binnen hiervoor. Een klant wil dat hun site geoptimaliseerd is voor mobiel gebruik. Dat betekend lichter, rekening houden met beperkte ruimte, JavaScript verwijderen en plaatjes beter uitserveren.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F03%2Fhet-bouwen-van-een-mobiele-website%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2010%2F03%2Fhet-bouwen-van-een-mobiele-website%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 124px;">
<dt class="wp-caption-dt"><a href="http://en.wikipedia.org/wiki/Image:Wurfl_logo_main_114px.png"><img title="WURFL" src="http://upload.wikimedia.org/wikipedia/en/5/5d/Wurfl_logo_main_114px.png" alt="WURFL" width="114" height="146" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://en.wikipedia.org/wiki/Image:Wurfl_logo_main_114px.png">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>Net toen het me helemaal niet interessant leek om mobiele sites te bouwen kreeg ik een opdracht binnen hiervoor. Een klant wil dat hun site geoptimaliseerd is voor mobiel gebruik. Dat betekend lichter, rekening houden met beperkte ruimte, <a class="zem_slink" title="JavaScript" rel="wikipedia" href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a> verwijderen en plaatjes beter uitserveren.<span id="more-249"></span></p>
<h3>Detectie van het platform en zijn mogelijkheden</h3>
<p>Om het wiel niet een tweede keer uit te vinden gebruiken wij <a href="http://wurfl.sourceforge.net/" target="_blank">WURFL</a>.  Dit is een grote verzameling van <a class="zem_slink" title="XML" rel="wikipedia" href="http://en.wikipedia.org/wiki/XML">XML</a> bestanden waarin alle mogelijkheden per telefoon zijn beschreven. Door de detectie van de <a class="zem_slink" title="User agent" rel="wikipedia" href="http://en.wikipedia.org/wiki/User_agent">user-agent</a> en dus de telefoon kan ik met behulp van WURFL alle gegevens er bij vinden zoals resolutie, JavaScipt ondersteuning, etc.</p>
<h3>Indelen van categorieën telefoons</h3>
<p>Met<a title="tweakers.net" href="http://www.tweakers.net" target="_blank"> tweakers.net</a> als voorbeeld hebben we apparaten onderverdeeld in verschillende classen. We hebben ook dezelfde classen gebruikt als Tweakers welke staan beschreven op de &#8216;<a title="tweakers device detect" href="http://tweakers.net/devicedetect" target="_blank">device detect</a>&#8216; pagina&#8217;. De onderscheid tussen de versie <strong>A</strong> tot en met <strong>F</strong> ligt hem vooral in resolutie en JavaScript support.</p>
<p><strong>Omgaan met resolutie</strong></p>
<p>Net nu we eindelijk er toch vanuit kunnen gaan dat een standaard beeldscherm minimaal 1024 breed is (de 800 x 600 resolutie-schermen zijn verwaarloosbaar) moete we dus weer rekening gaan houden met lagere resoluties. Het fijne is dat de modernere telefoons wel kunnen zoomen.In ons project gaan we er vanuit dat de meeste telefoons niet hoeven te zoomen. Maar niet alleen de resolutie-verschillen maken het erg, maar ook de verschillende verhoudingen.</p>
<p style="text-align: left;"><a href="http://www.netsetters.nl/wp-content/uploads/2010/03/1618image001.png"><img class="aligncenter size-medium wp-image-250" title="1618image001" src="http://www.netsetters.nl/wp-content/uploads/2010/03/1618image001-203x300.png" alt="" width="203" height="300" /></a></p>
<p style="text-align: left;">Om het ons niet te moeilijk te maken testen we met de meest voorkomende resoluties:</p>
<ul>
<li>128 x 160 pixels</li>
<li>176 x 220 pixels</li>
<li>240 x 320 pixels</li>
<li>320 x 480 pixels</li>
</ul>
<p>De meeste smartphones (waarbij IPhone een grote speler is) hebben de laatst genoemde resolutie, iets  wat ons heeft laten kiezen voor een breedte van 310px.</p>
<h3>Het I-phone zoom probleem</h3>
<p>De eerste mobiele versie was al vrij snel een feit, maar op de IPhone hadden we een gek probleem. De Iphone lijkt alles te schalen. Eerst dacht ik een fout te maken meteen en veel te breed element er in, maar naar een paar test werdt al vrij snel duidelijk dat Iphone (mijn zijn resolutie van 320px) maar al te graag 1024 wilt laten zien. Standaard toont hij dus altijd alles kleiner. Om dit op te lossen kan de volgende meta-tag worden gebruikt:</p>
<blockquote><p>&lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width; initial-scale=1.0; maximum-scale=1.0;&#8221;&gt;</p></blockquote>
<p>Een enorm simpele oplossing dus. Hiermee vertel je de browser van de Iphone dat de initiele schaal 1 is (dus 100%) en dat de maximale schaal ook 1 is. Zo kan er wel niet meer ingezomd worden. Door de maximale schaal te vergroten kan er wel worden gezoomd (wat weer fijner is voor de mensen die het niet goed kunnen lezen).</p>
<h2>Roteren naar &#8220;landscape&#8221; en terug</h2>
<p>De volgende stap is om de website bij een landscape positie de bredere ruimte te laten gebruiken. Hiervoor kunnen we javascript gebruiken. Op het moemnt dat de orientatie veranderd moet er een actie komen die het geheel kleiner of juist groter maakt. Dit is te realiseren met de <a class="zem_slink" title="Event handler" rel="wikipedia" href="http://en.wikipedia.org/wiki/Event_handler">event-handler</a> &#8220;onorientationchange&#8221;:</p>
<blockquote><p>&lt;body onorientationchange=&#8221;updateOrientation();&#8221;&gt;</p></blockquote>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.lukew.com/ff/entry.asp?1028">MIX10: Designing and Developing for the Rich Mobile Web</a> (lukew.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.nofluffjuststuff.com/blog/matthias__wessendorf_/2010/03/mobile_development_with_apache_myfaces_trinidad">Mobile Development with Apache MyFaces Trinidad</a> (nofluffjuststuff.com)</li>
<li class="zemanta-article-ul-li"><a title="designing for the mobile web" href="http://articles.sitepoint.com/article/designing-for-mobile-web" target="_blank">Designing for the mobile web</a> (sitepoint.com)</li>
<li class="zemanta-article-ul-li"><a href="http://iphone.appstorm.net/roundups/developer/the-ipad-web-design-development-toolbox/">The iPad Web Design &amp; Development Toolbox</a> (iphone.appstorm.net)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/34461736-f184-43d9-ad31-1af555557161/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=34461736-f184-43d9-ad31-1af555557161" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=249&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2010/03/het-bouwen-van-een-mobiele-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Besturingssysteem in de cloud</title>
		<link>http://www.netsetters.nl/2009/11/besturingssysteem-in-de-cloud/</link>
		<comments>http://www.netsetters.nl/2009/11/besturingssysteem-in-de-cloud/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 21:52:43 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[trends]]></category>
		<category><![CDATA[visualisation]]></category>
		<category><![CDATA[besturingssystemen]]></category>
		<category><![CDATA[chrome os]]></category>
		<category><![CDATA[cloud software]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Chrome OS]]></category>
		<category><![CDATA[jolicloud]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Moblin]]></category>
		<category><![CDATA[Netbook remix]]></category>
		<category><![CDATA[Operating system]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=127</guid>
		<description><![CDATA[Steeds meer applicaties draaien in de 'cloud', oftewel het internet. Deze applicaties worden niet meer geïnstalleerd op een computer  maar draaien op het internet binnen de browser. De eerste voorbeelden hiervan zijn de webmail applicaties. Ooit begonnen als een manier om tussendoor de email te controleren, maar door Gmail ontwikkeld tot een volwaardige email client.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2009%2F11%2Fbesturingssysteem-in-de-cloud%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2009%2F11%2Fbesturingssysteem-in-de-cloud%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 250px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/64542070@N00/3702293483"><img title="Gazelle: ¿El Google Chrome OS de Microsoft?" src="http://farm3.static.flickr.com/2637/3702293483_8a81eb35cd_m.jpg" alt="Gazelle: ¿El Google Chrome OS de Microsoft?" width="240" height="239" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/64542070@N00/3702293483">Carlos Gutiérrez G.</a> via Flickr</dd>
</dl>
</div>
</div>
<p>Steeds meer applicaties draaien in de &#8216;<em>cloud</em>&#8216;, oftewel het internet. Deze applicaties worden niet meer geïnstalleerd op een computer  maar draaien op het internet binnen de browser. De eerste voorbeelden hiervan zijn de webmail applicaties. Ooit begonnen als een manier om tussendoor de email te controleren, maar door Gmail ontwikkeld tot een volwaardige <a class="zem_slink freebase/guid/9202a8c04000641f800000000005711f" title="E-mail client" rel="wikipedia" href="http://en.wikipedia.org/wiki/E-mail_client">email client</a>.</p>
<h2>Snellere browsers</h2>
<p>De afgelopen jaren is er veel gebeurd met de browsers die wij gebruiken.Door de snellere internetverbindingen kon er meer naar de browser gestuurd worden. Die grotere hoeveelheid aan informatie moet ook verwerkt worden. Dit heeft geleid tot betere,snellere en krachtigere browsers.  Uiteindelijk heeft dit de weg vrij gemaakt voor geavanceerdere webapplicaties. Deze hebben weer een snellere internet-verbinding nodig en zo is de cirkel weer rond. Deze cyclus verloopt steeds sneller wat een enorme stimulans is voor ontwikkelaars van online webapplicaties.</p>
<h2>Verandering van ons besturingssysteem</h2>
<p>De verschuiving van applicaties naar de <em>cloud</em> heeft grote consequenties voor de besturingssystemen die wij gebruiken. Het doel van een besturingssysteem is snel toegang geven tot applicaties,maar webapplicaties hebben de tussenlaag van de browser. Hierdoor zijn er enkele besturingssystemen in de maak die het huidige idee van een besturingssysteem loslaten en zich richten op de <em>cloud</em>.</p>
<h3>Google <a class="zem_slink" title="Google Chrome OS" rel="wikipedia" href="http://en.wikipedia.org/wiki/Google_Chrome_OS">Chrome OS</a></h3>
<p>Een van de bekendste van deze &#8216;nieuwe generatie&#8217; besturingssystemen is Google Chrome OS. Dit systeem is uit gegaan van de bekende browser. Uitgebouwd met snelkoppelingen voor veel gebruikte webapplicaties. Hierin spelen de bekende webapplicaties van Google natuurlijk een grote rol, maar ook de nieuwe online office software van <a class="zem_slink freebase/guid/9202a8c04000641f8000000000026344" title="Microsoft" rel="homepage" href="http://www.microsoft.com">Microsoft</a> werd getoond binnen Chrome OS</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/0QRO3gKj3qw" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/0QRO3gKj3qw"></embed></object></p>
<h3><a title="gOS home" href="http://www.thinkgos.com" target="_blank">gOS</a></h3>
<p>Door sommigen in het verleden gebombardeerd als GoogleOS omdat <a title="gOS Homepage" href="http://www.thinkgos.com" target="_blank">gOS</a> gebruik maakt van de vele Google web-applicaties. gOS is eigenlijk <a class="zem_slink" title="Ubuntu" rel="homepage" href="http://www.ubuntu.com/">Ubuntu</a> met een eigen skin en de Google <a class="zem_slink freebase/guid/9202a8c04000641f8000000005dfa663" title="Cloud Computing" rel="wikinvest" href="http://www.wikinvest.com/concept/Cloud_Computing">Cloud services</a> er aan toegevoegd.  De &#8220;widgets&#8221; maken het geheel weer wat speelser en de verdere optimalisatie voor gebruikers van Netbooks  zijn welkom. De makers van gOS zijn nu ook bezig met een volledige <em>cloud</em> versie van hun OS, maar daar is nog niet genoeg over bekend.</p>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 510px"><a href="www.thinkgos.com"><img title="gOS met widgets" src="http://farm4.static.flickr.com/3214/2738481632_1441091689.jpg" alt="gOS met widgets" width="500" height="293" /></a><p class="wp-caption-text">gOS met widgets</p></div>
<h3><a title="moblin homepage" href="http://www.moblin.org" target="_blank">Moblin</a></h3>
<p>Door het bureaublad concept geheel los te laten en aansluiting te bieden op de populaire webapplicaties van het moment is <a title="moblin homepage" href="http://www.moblin.org" target="_blank">Moblin</a> een indrukwekkend besturingssysteem dat zeer intuïtief werkt. Moblin gaat uit van de taken die een gebruiker uitvoert. Muziek luisteren, websites bezoeken,mailen,sociale websites en contacten onderhouden,video&#8217;s kijken, etc. Alle functionaliteiten zijn verweven in verschillende panelen gemakkelijk bereikbaar. Tot nu toe ben ik zeer tevreden met Moblin maar het ene grota nadeel, ik krijg het niet draaiende op mijn EEEpc 900, omdat de processor niet ondersteund wordt. Jammer want ik had graag met dit systeem gewerkt.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/ZAG2VyKaxCk" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/ZAG2VyKaxCk"></embed></object></p>
<h3><a title="jolicloud home" href="http://www.jolicloud.com/" target="_blank">Jolicoud</a></h3>
<p>Omdat ik Moblin niet kon gebruiken op mijn eeepc 900 was ik op zoek naar een goed alternatief. Bij het zoeken stuitte ik op Jolicloud (zelfde makers als <a class="zem_slink" title="Netvibes" rel="homepage" href="http://www.netvibes.com/">Netvibes</a>). Bij het lezen van hun visie werd ik al enthousiast:</p>
<blockquote><p>At Jolicloud we believe a movement has started. A movement that will change the computer industry forever: a world where computers are inexpensive, where operating systems are free and software is online. This is the world we dreamed of when we first discovered computers and the Internet.</p></blockquote>
<p>Omdat het testen alleen bestemt was voor enkele mensen schreef ik me in voor een uitnodiging. 1 dag later kon ik Jolicloud installeren en proberen. Helaas viel me dit erg tegen. Het is eigenlijk gewoon de Netbook Remix versie van Ubuntu, plus Mozilla&#8217;s <a title="Mozilla Prism" href="http://prism.mozilla.com/" target="_blank">Prism</a> en een set aan webapplicaties die binnen Prism draait. De meegeleverde USB bootdisk maker voor win/os x/linux was mooi, de installatie is wat we gewend zijn van Ubuntu; erg simpel, maar dan de tegenvaller. In de screenshots leek het heel wat maar het is niks meer dan een webpagina die ook draait binnen Prism bovenop Ubuntu.  Het is een goede visie, een leuk begin maar verkeerde uitvoering.  Misschien dat het idee in de komende tijd verder wordt doorontwikkeld zodat het geen tegenvaller meer zal zijn. Het zou fijn zijn om ook binnen de Jolicloud omgeving de web-apps te kunnen draaien zodat er niet steeds teruggegaan moet worden naar het conventionele Netbook Remix scherm.</p>
<p><img class="aligncenter" title="jolicloud interface" src="http://www.jolicloud.com/images/screenshots/take-tour.png" alt="" width="592" height="346" /></p>
<h2>Andere initiatieven</h2>
<p>Er zijn vele andere initiatieven die ik niet allemaal op kan noemen. Microsoft is bezig zijn Live platform te combineren met een cloud OS <a title="windows azure" href="http://news.cnet.com/microsoft-launches-windows-azure/" target="_blank">Windows Azure</a>. Daarnaast zijn er naast de &#8216;hybride&#8217; <em>cloud</em> oplossingen die ik beschrijf enkele volledig gevirtualiseerde besturingssystemen online, zoals <a href="http://eyeos.org/" target="_blank">eyeOS</a>. Toch denk ik dat een volledige overstap naar de cloud een stap te ver zal zijn&#8230; voor nu.</p>
<h2>OS als betonblok</h2>
<p>Door deze ontwikkelingen is het &#8216;originele&#8217; OS een massief blok aan het been geworden van veel computergebruikers. Deze OS&#8217;en hebben zware dure computers nodig om goed te draaien om daarna alleen een tussenlaag te worden om webapplicatie te draaien. Voor ruim 80% van de computergebruikers is de computer te zwaar en een stroomvreter; en de software te duur. Deze ontwikkeling gaat de computerindustrie veranderen ten gunste van de consument. Het duurt niet lang voordat Het besturingssysteem voor een groot deel in de <em>cloud</em> zal gaan werken.  De vraag is alleen: hoe lang laat de consument zichzelf nog bespelen?</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://ecombizcenter.blogspot.com/2009/11/chrome-os-demo-today.html">Chrome OS demo today</a> (ecombizcenter.blogspot.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.techpluto.com/compare-web-browsers/">Web browser Round-up : From &#8216;Most Popular&#8217; to &#8216;Most Innovative&#8217;</a> (techpluto.com)</li>
<li class="zemanta-article-ul-li"><a href="http://siliconangle.net/ver2/2009/11/20/what-is-an-operating-system-the-real-guide-to-chrome-os-for-dummies/">What Is an Operating System? The REAL Guide to Chrome OS for Dummies.</a> (siliconangle.net)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/c8b3b0a8-dd65-434a-afd9-01b5b110f64f/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=c8b3b0a8-dd65-434a-afd9-01b5b110f64f" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related more-info pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=127&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2009/11/besturingssysteem-in-de-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web elements: search-box</title>
		<link>http://www.netsetters.nl/2009/11/web-elements-search-box/</link>
		<comments>http://www.netsetters.nl/2009/11/web-elements-search-box/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:34:05 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Altavista]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Homepage]]></category>
		<category><![CDATA[Landing page]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Web directory]]></category>
		<category><![CDATA[Web search engine]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=84</guid>
		<description><![CDATA[Search is getting the dominant way to navigate trough the web.  As the first web generation started out with some web-directory (the good old Yahoo, Altavista times), nowadays the start of every web-visit is search.  websites changed a lot because of this. menu's, sitemaps and breadcrumbs (the whole web experience) changed because the homepage of every website is not the usual landing page. A search-box is almost essential on every website.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2009%2F11%2Fweb-elements-search-box%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2009%2F11%2Fweb-elements-search-box%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 190px;">
<dt class="wp-caption-dt"><a href="http://en.wikipedia.org/wiki/Image:Ccu_wiki_heatmap.jpg"><img title="An eye-tracking Heatmap showing where a subjec..." src="http://upload.wikimedia.org/wikipedia/en/2/25/Ccu_wiki_heatmap.jpg" alt="An eye-tracking Heatmap showing where a subjec..." width="180" height="105" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://en.wikipedia.org/wiki/Image:Ccu_wiki_heatmap.jpg">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>Search is getting the dominant way to navigate trough the web.  The first web generation started out with a <a class="zem_slink freebase/guid/9202a8c04000641f800000000010ff30" title="Web directory" rel="wikipedia" href="http://en.wikipedia.org/wiki/Web_directory">web-directory</a> <em>(the good old <a class="zem_slink freebase/guid/9202a8c04000641f800000000014de46" title="Yahoo!" rel="homepage" href="http://www.yahoo.com">Yahoo</a>, <a class="zem_slink freebase/guid/9202a8c04000641f80000000001ffbc7" title="AltaVista" rel="homepage" href="http://www.altavista.com/">Altavista</a> times)</em>, nowadays the start of every web-visit is <strong>search</strong>.  Websites changed a lot because of this. menu&#8217;s, sitemaps and breadcrumbs (the whole web experience) changed because the homepage of every website is not the usual <a class="zem_slink freebase/guid/9202a8c04000641f800000000081685f" title="Landing page" rel="wikipedia" href="http://en.wikipedia.org/wiki/Landing_page">landing page</a>. A <a class="zem_slink freebase/guid/9202a8c04000641f8000000005bd2afa" title="Web search engine" rel="wikipedia" href="http://en.wikipedia.org/wiki/Web_search_engine">search-box</a> is almost essential on every website.</p>
<h2>Positioning of the search box</h2>
<p>More websites are using a search-box the give users fast access to their information. Not only because websites are getting bigger, also because search is an automatic process. The &#8220;<a class="zem_slink freebase/guid/9202a8c04000641f800000000042acea" title="Google" rel="homepage" href="http://google.com">Google</a>-Generation&#8221; does not care about menu&#8217;s they directly use the search-box to find the information they need, even if a website has just 5 pages.  To make the  search box accessible it needs to be on &#8216;the right spot&#8217;.<br />
eye-tracking heatmaps tell us that most visitors are scanning a page in a &#8216;F&#8217; figure. Two horizontal lines (mostly the horizontal menu and the first header) and a vertical line (a vertical menu). search-boxes are mostly places in the right-upper corner within this &#8216;F&#8217;.</p>
<h2>Design of the search-box</h2>
<p>Most search-boxes are just a text input field with a button to start search. Sometimes they got a &#8216;advanced&#8217; search possibility. After examining loads of boxes I came to some general conclusions:</p>
<ul>
<li>There seems to be a trend to filter a search-result after searching instead of offering an advanced search option.</li>
<li>Most searches give results with the search-term emphasized and placed in their context.</li>
<li>Wildcards like % and * are not used anymore.</li>
<li>Websites with a lots of content place a search-box in the center, and do not offer a classic menu anymore.</li>
</ul>
<h2>Examples of search boxes</h2>
<p style="text-align: center;"><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/yahoo_searchbox.jpg"><img class="size-full wp-image-112 aligncenter" title="yahoo_searchbox" src="http://www.netsetters.nl/wp-content/uploads/2009/11/yahoo_searchbox.jpg" alt="yahoo_searchbox" width="512" height="78" /></a></p>
<p style="text-align: center;"><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/wordpress_search.jpg"><img class="size-full wp-image-111 aligncenter" title="wordpress_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/wordpress_search.jpg" alt="wordpress_search" width="296" height="32" /></a></p>
<p style="text-align: center;"><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/msn_search.jpg"><img class="size-full wp-image-107 aligncenter" title="msn_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/msn_search.jpg" alt="msn_search" width="478" height="68" /></a></p>
<p style="text-align: center;"><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/myspace_search.jpg"><img class="size-full wp-image-108 aligncenter" title="myspace_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/myspace_search.jpg" alt="myspace_search" width="473" height="53" /></a></p>
<p style="text-align: center;"><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/twitter_search.jpg"><img class="size-full wp-image-109 aligncenter" title="twitter_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/twitter_search.jpg" alt="twitter_search" width="497" height="98" /></a></p>
<p style="text-align: center;"><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/ebay_search.jpg"><img class="alignnone size-full wp-image-104" title="ebay_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/ebay_search.jpg" alt="ebay_search" width="517" height="28" /><br />
</a><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/flickr_search.jpg"><br />
<img class="alignnone size-full wp-image-105" title="flickr_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/flickr_search.jpg" alt="flickr_search" width="301" height="72" /></a><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/digitalbuzz_search.jpg"><br />
<img class="size-full wp-image-103 aligncenter" title="digitalbuzz_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/digitalbuzz_search.jpg" alt="digitalbuzz_search" width="326" height="60" /></a></p>
<p style="text-align: center;"><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/cnn_search.jpg"><img class="size-full wp-image-102 aligncenter" title="cnn_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/cnn_search.jpg" alt="cnn_search" width="349" height="72" /></a></p>
<p style="text-align: center;"><a href="http://www.netsetters.nl/wp-content/uploads/2009/11/wikipedia_search.jpg"><img class="size-full wp-image-110 aligncenter" title="wikipedia_search" src="http://www.netsetters.nl/wp-content/uploads/2009/11/wikipedia_search.jpg" alt="wikipedia_search" width="149" height="78" /></a></p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.ronmedlin.com/traffic-generation/seo-google-marketing/seo-optimization-basics-and-concepts/">SEO Optimization Basics And Concepts</a> (ronmedlin.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.sfgate.com/cgi-bin/article.cgi?f=/g/a/2009/11/04/urnidgns852573C4006938804925766500207CBA.DTL&amp;feed=rss.technology">Microsoft, Yahoo partnership could reach beyond the US</a> (sfgate.com)</li>
<li class="zemanta-article-ul-li"><a href="http://nichetitans.com/google-optimization-tips-for-photography-websites/">Google Optimization Tips for Photography Websites</a> (nichetitans.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.technologyreview.com/blog/editors/23975/">Blog &#8211; Caffeine Injection Gives Google Search a Boost</a> (technologyreview.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.marketingpilgrim.com/2009/10/yatoo-y-going-real-time.html">YaToo: Y! Going Real Time</a> (marketingpilgrim.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/2c45ccdf-fe17-472a-8f6f-7696f0e597a5/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=2c45ccdf-fe17-472a-8f6f-7696f0e597a5" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related more-info pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=84&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2009/11/web-elements-search-box/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Start with wireframes.</title>
		<link>http://www.netsetters.nl/2009/10/start-with-wireframes/</link>
		<comments>http://www.netsetters.nl/2009/10/start-with-wireframes/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 20:28:56 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Adobe Fireworks]]></category>
		<category><![CDATA[Jason Robb]]></category>
		<category><![CDATA[Microsoft Visio]]></category>
		<category><![CDATA[OmniGraffle]]></category>
		<category><![CDATA[Prototyping]]></category>
		<category><![CDATA[Stencil]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=72</guid>
		<description><![CDATA[Want to start a project, start with a wireframe! Wireframes are an essential part of the project process.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2009%2F10%2Fstart-with-wireframes%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2009%2F10%2Fstart-with-wireframes%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://en.wikipedia.org/wiki/Image:Omnigrafflescreen.jpg"><img title="OmniGraffle" src="http://upload.wikimedia.org/wikipedia/en/thumb/3/33/Omnigrafflescreen.jpg/300px-Omnigrafflescreen.jpg" alt="OmniGraffle" width="300" height="195" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://en.wikipedia.org/wiki/Image:Omnigrafflescreen.jpg">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>Want to start a project, start with a <a class="zem_slink freebase/guid/9202a8c04000641f80000000005b2a19" title="Website wireframe" rel="wikipedia" href="http://en.wikipedia.org/wiki/Website_wireframe">wireframe</a>! <span style="background-color: #ffffff; ">Wireframes are an essential part of the project process. Wireframing has some benefits like: Faster web development, a good project guideline and Better user testing. I can advise everyone to start creating wireframes.</span></p>
<h2>Why using wireframes?</h2>
<p>By creating wireframes first, you outline the basic layouts for pages (what goes where)   and functionality (what has pagination, what happens when you click “this”, etc.) . You can easily move elements around and ensure that you’re creating a very usable product, while keeping everyone on the project informed. Some reasons for using wireframes are:</p>
<ul>
<li><span style="background-color: #ffffff;">Users are emotional. Wireframes and prototypes are generally gray or monochromatic in color. This lends itself well to initial user testing. They/You can focus more on actual functionality than users’ reactions to colors, pictures, text, etc. User testing can be hard because people have biased and emotional responses to certain things, this helps alleviate those situations. Wireframes also help you test earlier on in the process. You can see what’s working and what needs some revising before the design is set in stone.</span></li>
<li><span style="background-color: #ffffff;">Designers can make it too pretty. This will give your designers a place to start, even if you both decide to move things around, it’s at least a non-blank canvas. Graphic designers typically don’t want to design forms, am I correct? This lets them do what they do best without wondering what needs to happen on the page.</span></li>
<li><span style="background-color: #ffffff;">Programmers can program. Knowing what functionality needs to exist upfront will make your programmers happy and make teamwork easier for them. This allows them to breakdown what/where/when action happens and how to account for it, as well as how best to delegate the work among themselves.</span></li>
</ul>
<h2>Wireframing on paper</h2>
<p>I started out wireframing with pencils on paper, but it did not quite work out for me. I even have difficulties drawing a straight line. So I stopped with this technique as soon as I found Omnigraffle. Last month I stumbled upon the website of <a title="jason robb blog" href="http://jasonrobb.com/" target="_blank">Jason Robb</a>, that gave me again new inspiration to start on paper, so I bought some markers and started again.  Wireframes on &#8220;real&#8221; paper just look better, the counter side is that it&#8217;s really hard to edit.</p>
<h2>Wireframe software</h2>
<p>Ready to start with wireframes? There are some great tools out there that you can use creating them.</p>
<ul>
<li><span style="background-color: #ffffff;"><a class="zem_slink freebase/guid/9202a8c04000641f80000000003436f5" title="OmniGraffle" rel="homepage" href="http://www.omnigroup.com/applications/omnigraffle/">OmniGraffle</a> Pro, Personally I&#8217;m using this one. First because it is easy, second because there are tons of  stencils for it, en third.. I own a Mac, so I can&#8217;t use Visio. Want to find a <a class="zem_slink freebase/guid/9202a8c04000641f80000000001a5d92" title="Stencil" rel="wikipedia" href="http://en.wikipedia.org/wiki/Stencil">stencil</a>, go to <a title="graffletopia" href="http://www.graffletopia.com" target="_blank">Graffletopia</a>. And really, Omnigraffle Pro is worth the money.<br />
</span></li>
<li><span style="background-color: #ffffff;"><a class="zem_slink freebase/guid/9202a8c04000641f80000000003099bf" title="Adobe Fireworks" rel="homepage" href="http://www.adobe.com/products/fireworks/">Adobe Fireworks</a>. The new Fireworks has loads of rapid <a class="zem_slink freebase/guid/9202a8c04000641f80000000004294d3" title="Software prototyping" rel="wikipedia" href="http://en.wikipedia.org/wiki/Software_prototyping">prototyping</a> and Wireframe possibilities. Sometimes I like to use it but the bloated possibilities often let you create too detailed wireframes.</span></li>
<li><span style="background-color: #ffffff;"><a class="zem_slink freebase/guid/9202a8c04000641f8000000000297b41" title="Microsoft Visio" rel="homepage" href="http://office.microsoft.com/en-us/FX010857981033.aspx">Microsoft Visio</a>.  For a long time Visio has been the standard for diagrams on the PC and a lot of people have continued to carry on with it for wireframing. You won’t get the same presentation modes that OmniGraffle offers, but you will find more stencils and templates available on the web. </span></li>
</ul>
<h2>Start today!</h2>
<p>I started one year ago with wireframes, and I&#8217;m glad I did.  I can&#8217;t imagine a project without a wireframe. Never used a wireframe? start today and you&#8217;ll see how easy it is. You do not have to be an artist to draw one; keep it simple stupid!</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.readwriteweb.com/enterprise/2009/07/visio-killer-gliffy-gets-a-makeover.php">Visio Killer Gliffy Gets A Makeover</a> (readwriteweb.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.90percentofeverything.com/2009/09/16/help-were-drowing-in-wireframing-apps/">Help, we&#8217;re drowning in wireframing apps!</a> (90percentofeverything.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.adaptivepath.com/blog/2009/09/16/rapid-prototyping-tools-revisited/">Rapid Prototyping Tools Revisited</a> (adaptivepath.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.slideshare.net/atsushi/siteit-information-architecture-prototyping-tool">Site-it!: Information Architecture Prototyping Tool</a> (slideshare.net)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/191fbb96-dd3c-4749-a197-b303b916fae8/"><img class="zemanta-pixie-img" style="border: medium none ; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=191fbb96-dd3c-4749-a197-b303b916fae8" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related more-info pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=72&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2009/10/start-with-wireframes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How JavaScript frameworks contribute to a consistent experience</title>
		<link>http://www.netsetters.nl/2009/10/how-javascript-frameworks-contribute-to-a-consistent-experience/</link>
		<comments>http://www.netsetters.nl/2009/10/how-javascript-frameworks-contribute-to-a-consistent-experience/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 20:19:55 +0000</pubDate>
		<dc:creator>Maurice Lourens</dc:creator>
				<category><![CDATA[logic]]></category>
		<category><![CDATA[visualisation]]></category>
		<category><![CDATA[Ext]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[User interface]]></category>
		<category><![CDATA[Web application]]></category>

		<guid isPermaLink="false">http://www.netsetters.nl/?p=55</guid>
		<description><![CDATA[Why using a JavaScript framework for your rich web-application? Consistency, speed and... did I mention consistency?]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.netsetters.nl%2F2009%2F10%2Fhow-javascript-frameworks-contribute-to-a-consistent-experience%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.netsetters.nl%2F2009%2F10%2Fhow-javascript-frameworks-contribute-to-a-consistent-experience%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 250px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/19451080@N00/2817382276"><img title="JQuery new site" src="http://farm4.static.flickr.com/3289/2817382276_4a4fd49075_m.jpg" alt="JQuery new site" width="240" height="185" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/19451080@N00/2817382276">Phillie Casablanca</a> via Flickr</dd>
</dl>
</div>
</div>
<p><strong><a class="zem_slink freebase/guid/9202a8c04000641f8000000000015527" title="JavaScript" rel="wikipedia" href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a> Libraries started out as easy frameworks for web developers.  Why write code that’s already been written and, in most cases, better than home-made JavaScript? It also provides a consistent way of programming throughout a project and a fast way to build applications.</strong></p>
<p><a class="zem_slink freebase/guid/9202a8c04000641f8000000004643bb5" title="JQuery" rel="homepage" href="http://jquery.com/">JQuery</a> UI and <a class="zem_slink freebase/guid/9202a8c04000641f800000000566b41f" title="Ext (JavaScript library)" rel="homepage" href="http://extjs.com/">Ext</a> JS, Prototype,  YahooUI all grew to complete JavaScript platforms with familiar design elements that help programmers build an interface that people are used to.  JQuery even has an own themeroller where programmers can generate a whole css theme for their interface.</p>
<h3><strong>Building bridges</strong></h3>
<p>The new generation of JavaScript libraries are building a small (but hopeful) bridge between designers and developers. Designers can understand the concept, en have consistent elements to work with. Developers can integrate these elements easily within their projects.</p>
<h3><strong>Cross browser, cross <a class="zem_slink freebase/guid/9202a8c04000641f800000000002c5ef" title="Operating system" rel="wikipedia" href="http://en.wikipedia.org/wiki/Operating_system">OS</a></strong></h3>
<p>The acceptance of these libraries among developers and designers is a great step to a consistent experience of web applications. we all recognize widgets, sliders, tabs,  tree&#8217;s and we know how to operate them. Consistency is crucial when building rich web-applications. It does not depend on browser or OS, just the library used.</p>
<h3>Skepticism</h3>
<p>Of course there are some reasons why NOT to use a library. Programmers want to know what&#8217;s happening, mainly for debugging reasons, It can be a bit bloated when only using one or two functions and the biggest reason: You shouldn’t trust the code of others for your professional purposes. The latest versions of the various frameworks take away most of these worries with good debug option and even better performance.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.noupe.com/jquery/jquery-tools.html">jQuery Tools: The missing UI library for the Web</a> (noupe.com)</li>
<li class="zemanta-article-ul-li"><a href="http://ajaxian.com/archives/prototype-161-speed-up-clean-up-and-team-up">Prototype 1.6.1; Speed up, clean up, and team up</a> (ajaxian.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.slideshare.net/ajaxexperience2009/colin-clark-accessible-u-is-with-j-query-and-infusion1">Colin Clark Accessible U Is With J Query And Infusion[1]</a> (slideshare.net)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/05a2cb26-1b73-4b7c-97ac-6493aac67917/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=05a2cb26-1b73-4b7c-97ac-6493aac67917" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related more-info pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://www.netsetters.nl/?ak_action=api_record_view&id=55&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.netsetters.nl/2009/10/how-javascript-frameworks-contribute-to-a-consistent-experience/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
