<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Robert's talk</title>
	
	<link>http://robertnyman.com</link>
	<description>Web development and Internet trends</description>
	<pubDate>Wed, 08 Jul 2009 22:28:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<image><link>http://www.robertnyman.com</link><url>http://www.robertnyman.com/favicon.png</url><title>Robert's talk</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/robertnyman" type="application/rss+xml" /><feedburner:emailServiceId>robertnyman</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Summer break 2009</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/lGpee_fxldo/</link>
		<comments>http://robertnyman.com/2009/07/05/summer-break-2009/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 20:47:56 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Personal/life]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1394</guid>
		<description><![CDATA[If you have followed my ramblings for some time now, you know the drill&#8230; It&#8217;s summer, and time for me to take a break from the web.
Every summer I make sure to get a few months off, to get a break from the web and all the work I do, and instead focus on the [...]]]></description>
			<content:encoded><![CDATA[<p>If you have followed my ramblings for some time now, you know the drill&#8230; It&#8217;s summer, and time for me to take a break from the web.</p>
<p>Every summer I make sure to get a few months off, to get a break from the web and all the work I do, and instead focus on the most important thing in my life: my family. This year it is actually my shortest hiatus since 2005, when I only had a few weeks off; since then I have had at least three months or more each time.</p>
<p><img src="http://robertnyman.com/images/0907/my-children.jpg" alt="A picture of my children" class="align-center"></p>
<p>There are a number of things I want to blog about, <em>right</em> now, but I know I just have to put that on hold. I need to come back to my senses, get some balance and focus, and then come back stronger than ever before! <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>If you want to know what I&#8217;ve been writing about for the last four years, you are more than welcome to <a href="http://robertnyman.com/archives/">browse the archives of all my blog posts</a>. If JavaScript and/or Firefox extensions excite you, please take a look in the right-hand column of my web site for useful links.</p>
<p>Unless something extra-ordinary happens, I plan to start writing again at the end of August/beginning of September. Just stay tuned to <a href="http://feeds.feedburner.com/robertnyman">my RSS feed</a> and you should be all set.</p>
<p>Happy summer to all of you, and if you are down under, I hope the winter treats you well too! <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=lGpee_fxldo:Uvsb_HZsyLQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=lGpee_fxldo:Uvsb_HZsyLQ:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=lGpee_fxldo:Uvsb_HZsyLQ:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/07/05/summer-break-2009/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/07/05/summer-break-2009/</feedburner:origLink></item>
		<item>
		<title>Firefox 3.5 is released - information about having multiple Firefox versions and web developer extension compatibility</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/_H9bkEq-jB0/</link>
		<comments>http://robertnyman.com/2009/07/01/firefox-35-is-released-information-about-having-multiple-firefox-versions-and-web-developer-extension-compatibility/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 20:37:35 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Developing]]></category>

		<category><![CDATA[Firefox extensions]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Mozilla]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1390</guid>
		<description><![CDATA[Firefox 3.5 was released yesterday, and it has already reached 5 and a half million of downloads (at the time of writing). Therefore, I thought I&#8217;d answer some common questions, especially from a web developer perspective about the new version and which web developer extensions which will work with it.
I have to say that I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozilla.com/en-US/firefox/upgrade.html?from=getfirefox">Firefox 3.5</a> was released yesterday, and it has already reached <a href="http://downloadstats.mozilla.com/">5 and a half million of downloads (at the time of writing)</a>. Therefore, I thought I&#8217;d answer some common questions, especially from a web developer perspective about the new version and which web developer extensions which will work with it.</p>
<p>I have to say that I think Firefox 3.5 is an impressive release, it has gotten even better in so many areas! One very important thing is speed: <a href="http://www.stevesouders.com/blog/2009/06/30/firefox-35-at-the-top/">according to performance God Steve Souders, Firefox 3.5 is the best-performing web browser</a>, followed by Chrome 2, Safari 4, IE 8 and Opera 10.</p>
<h2>Don&#8217;t throw Firefox 3.0 out - run multiple versions of Firefox side-by-side instead</h2>
<p>Even though you&#8217;re probably super-eager to replace all old versions of Firefox on your machine, please know that it is completely possible (and very simple) to have multiple installations of Firefox side-by-side; and, have them all running at the same time too, if you want to!</p>
<p>You can download any number of versions of Firefox, and then just install it into different catalogs, or just give each installation a unique name (preferably version number). This is very useful, especially if you are a web developer, to quickly test something in a number of versions of Firefox.</p>
<h3>Creating different Firefox profiles</h3>
<p>Then, naturally, you might want to have different settings, extensions etc installed depending on what version of Firefox you are running, and the easy way to control that is through different profiles in Firefox. Basically, a profile is where Firefox keeps all your settings, preferences, installed extensions etc.</p>
<p>The way to create a Firefox profile are in the Profile Manager. This is how to open Profile manager on different platforms:</p>
<h4>Profile manager in Windows</h4>
<p>Open the Windows Start menu and choose the Run option (on Vista, it might not be there - just press <kbd>Windows key</kbd> + <kbd>R</kbd> in that case). In the run dialog, write <code>firefox -P</code> and press <kbd>enter</kbd>/click OK. Choose Create Profile in the dialog and follow the steps.</p>
<h4>Profile manager in Mac</h4>
<p>Open the Terminal (located under /Applications/Utilities) and type in:<code>/Applications/Firefox.app/Contents/MacOS/firefox -profilemanager</code>. Choose Create Profile in the dialog and follow the steps.</p>
<h4>Profile manager in Linux</h4>
<p>Open a terminal, use <code><span class="lowercase">cd</span></code> to navigate to your Firefox directory and then enter <code>./firefox -profilemanager</code>. Choose Create Profile in the dialog and follow the steps.</p>
<p>Remember to uncheck the Don&#8217;t ask at startup checkbox - that way, for any instance of Firefox you start, you can choose what profile you want to use.</p>
<p><img src="http://robertnyman.com/images/0907/firefox-profile-manager.png" alt="A picture of the Profile Manager for Firefox" class="align-center"></p>
<h2>New offerings with Firefox 3.5 for web developers</h2>
<p>All new features are listed in <a href="https://developer.mozilla.org/En/Firefox_3.5_for_developers">Firefox 3.5 for developers</a>, but let&#8217;s give a brief list of what I find exciting:</p>
<h3>HTML 5</h3>
<ul>
<li>Support for the <code>audio</code> and <code>video</code> elements.</li>
<li>Full support for the offline specification</li>
<li>Native drag and drop support</li>
</ul>
<h3>CSS features</h3>
<ul>
<li>Supporting <code>@font-face</code> rules for downloadable fonts.</li>
<li>Support for CSS media queries, meaning support for media-dependent style sheets.</li>
<li>The <code>:before</code> and <code>:after</code> pseudo-classes now fully support any CSS 2.1 variation.</li>
<li>Supporting the <code>ch</code> unit.</li>
<li><code>-moz-opacity</code> has been fully removed, and replaced by the standardized <code>opacity</code> property.</li>
<li>Support for the <code>-text-shadow</code> property.</li>
<li>Support for the <code>word-wrap</code> property.</li>
<li>The <code>white-space</code> property now also supports the <code>pre-line</code> value.</li>
<li>CSS transforms, via the <code>-moz-transform</code> and the <code>-moz-transform-origin</code> properties.</li>
<li>Support for <code>:nth-child</code>.</li>
<li>Support for <code>:nth-last-child</code>.</li>
<li>Support for <code>:nth-of-type</code>.</li>
<li>Support for <code>:nth-last-of-type</code>.</li>
<li>Support for <code>:first-of-type</code>.</li>
<li>Support for <code>:last-of-type</code>.</li>
<li>Support for <code>:only-of-type</code>.</li>
<li>Support for <code>-moz-box-shadow</code>.</li>
<li>Support for <code>-moz-border-image</code>.</li>
<li>Support for <code>-moz-column-rule</code>.</li>
<li>Support for <code>-moz-column-rule-width</code>.</li>
<li>Support for <code>-moz-column-rule-style</code>.</li>
<li>Support for <code>-moz-column-rule-color</code>.</li>
<li>Support for <code>-moz-nativehyperlinktext</code>.</li>
<li>Support for <code>-moz-window-shadow</code>.</li>
<li>Support for <code>-moz-system-metric</code>.</li>
<li>Support for <code>-moz-appearance</code>.</li>
</ul>
<h3>DOM features</h3>
<p>Support for these:</p>
<ul>
<li>localStorage</li>
<li>Using web workers</li>
<li>Geolocation API</li>
<li>querySelector and querySelectorAll</li>
<li>Mouse gesture events</li>
<li>The NodeIterator object</li>
<li>The MozAfterPaint event</li>
<li>The MozMousePixelScroll event</li>
</ul>
<h3>JavaScript features</h3>
<p>One of the most exciting features are that of native support for JSON, but there have also been some other improvements with the implementation of JavaScript 1.8.1 (<a href="http://robertnyman.com/javascript/">also, don&#8217;t miss my JavaScript test suite for features and web browser support</a>).</p>
<h3>Networking</h3>
<ul>
<li>Cross-site access controls for HTTP</li>
<li>Progress events for XMLHttpRequest</li>
<li>Improved Synchronous XMLHttpRequest support</li>
<li>Controlling DNS prefetching</li>
</ul>
<h3>Canvas features</h3>
<ul>
<li>HTML 5 text API for canvas elements</li>
<li>Shadow effects in a canvas</li>
<li>createImageData()</li>
<li>moz-opaque attribute</li>
</ul>
<h2>Are web developer extensions ready?</h2>
<p>Naturally, the most common thing that hold web developers back from upgrading is if their favorite tool will work with the new version. If we look aside the possibility of running multiple versions of Firefox at the same time, and instead at the most popular Firefox web developer extensions and Firefox 3.5 compatibility, things are looking good!</p>
<dl>
<dt><a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a></dt>
<dd>The best web developer tool in the world does work with Firefox 3.5! The latest version, 1.4, is in a beta state, and as a user and developer of extensions to Firebug, I think it&#8217;s not perfect just yet, but it does work well overall.</dd>
<dt><a href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer</a></dt>
<dd>The Web Developer toolbar works just fine with the new Fox!</dd>
<dt><a href="https://addons.mozilla.org/en-US/firefox/addon/249">HTML Validator</a></dt>
<dd>Besides Firebug, this is one of the extensions I have become completely dependent on! And luckily, the new version 0.8.5.8 works just fine! Note: you can only <a href="https://addons.mozilla.org/en-US/firefox/addon/249">download the Windows version from the Add-ons web site</a>, whereas the <a href="http://users.skynet.be/mgueury/mozilla/download.html">Mac and Linux versions are available in the developer&#8217;s own web site (what&#8217;s up with this?)</a>.</dd>
<dt><a href="http://code.google.com/speed/page-speed/download.html">Page Speed</a></dt>
<dd>Above-mentioned Steve Souders have made sure that his Page Speed extension to Firebug works.</dd>
</dl>
<p>And, if one takes a look at the <a href="https://addons.mozilla.org/en-US/firefox/collection/webdeveloper">Web Developer&#8217;s Toolbox Collection in the Add-ons web site</a>, you can see that every extension but one is compatible with Firefox 3.5. The only one I have found, that I use, that won&#8217;t work with Firefox 3.5 is <a href="https://addons.mozilla.org/en-US/firefox/addon/5369">YSlow</a>.</p>
<p>And really, I don&#8217;t know why YSlow isn&#8217;t ready for Firefox 3.5. I think extension developers have had quite some time to prepare, and Mozilla have helped out well with their article <a href="https://developer.mozilla.org/En/Updating_extensions_for_Firefox_3.5">Updating extensions for Firefox 3.5</a>.</p>
<p>My only guess is that the YSlow people didn&#8217;t feel ready to develop for the current beta version of Firebug, and maybe are waiting for a later release. Whatever the reason, I sure hope they release a new version for Firefox 3.5 and Firebug 1,4 soon, because it&#8217;s a great extension.</p>
<p>And, naturally, I would like to mention that my extensions all work with Firefox 3.5 as well:</p>
<ul>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/11905">Firefinder for Firebug</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/10260">Flickr Gallery Plus!</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/9640">Inline Code Finder</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/9641">Inline Code Finder for Firebug</a></li>
</ul>
<p>Therefore, don&#8217;t worry. At least as a web developer, virtually all vital extensions are ready!</p>
<h2>Summary</h2>
<p>The release of Firefox 3.5 is very exciting, and I&#8217;m really happy it&#8217;s out now! I should also mention to you Swedes out there, at least those that are Stockholm-based (or willing to travel), there will be a release party later this summer! However, since all of Sweden seem to be on vacation during July, this will probably take place in August. Stay tuned!</p>
<p>And, to end this article, if you&#8217;re in the mood, there <a href="http://blog.seanmartell.com/2009/06/30/a-web-browser-renaissance/">a pretty Firefox 3.5 wallpaper</a> available as well. <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=_H9bkEq-jB0:UG362kADCD0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=_H9bkEq-jB0:UG362kADCD0:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=_H9bkEq-jB0:UG362kADCD0:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/07/01/firefox-35-is-released-information-about-having-multiple-firefox-versions-and-web-developer-extension-compatibility/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/07/01/firefox-35-is-released-information-about-having-multiple-firefox-versions-and-web-developer-extension-compatibility/</feedburner:origLink></item>
		<item>
		<title>PictureSlides 2.0 - highly customizable option to create JavaScript slideshows</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/jqjEe2d3G8c/</link>
		<comments>http://robertnyman.com/2009/06/30/pictureslides-20-highly-customizable-option-to-create-javascript-slideshows/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 16:41:43 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Developing]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1384</guid>
		<description><![CDATA[I&#8217;ve had a few versions of my PictureSlides to create JavaScript slideshows, but now it has been completely rewritten and jQuery-optimized with some new control and features.
The background story is that I needed a basic version of it in a client project, so while I had dusted it off, I took some extra time of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a few versions of my <a href="http://robertnyman.com/picture-slides/">PictureSlides</a> to create JavaScript slideshows, but now it has been completely rewritten and jQuery-optimized with some new control and features.</p>
<p>The background story is that I needed a basic version of it in a client project, so while I had dusted it off, I took some extra time of my own to rewrite it and specialize it for jQuery, as well as working out some kinks it had.</p>
<p><a href="http://robertnyman.com/picture-slides/demo-packages/gallery/index.html"><img src="http://robertnyman.com/picture-slides/images/picture-slides-example.jpg" alt="An example image of PictureSlides" class="align-center"></a></p>
<p>The new version, 2.0, offers:</p>
<ul>
<li>Any number of slideshows in the same page.</li>
<li>Nice CSS-based presentation features, like dimming out the background (Lightbox-like), autoplay, linking chosen images to another web page at click, thumbnail charts etc.</li>
<li>Correctly waiting for images to load before display time is being started.</li>
<li>Possible to customize errors if an image fails to load.</li>
<li>Completely builds on top of existing HTML code, making it very easy to use it on top of a non-JavaScript base version.</li>
<li>New JSON-object like syntax for each PictureSlides instance</li>
<li>No extra settings file - all settings are in each slideshow instantiation, making it each instance completely customizable</li>
</ul>
<h2>A few PictureSlides demos</h2>
<p>I have created three fairly simple demos of PictureSlides in action, where you can download all the code for each demo in a single package which will work right away for you:</p>
<ul>
<li>
		<a href="http://robertnyman.com/picture-slides/demo-packages/gallery/index.html">Picture gallery</a>
	</li>
<li>
		<a href="http://robertnyman.com/picture-slides/demo-packages/slideshow-only/index.html">Slideshow only and autoplay</a>
	</li>
<li>
		<a href="http://robertnyman.com/picture-slides/demo-packages/large-image-with-navigation-links/index.html">Large image with navigation links</a>
	</li>
</ul>
<h2>How to use it in a web page</h2>
<p>Here are some basic instructions, taken from the <a href="http://robertnyman.com/picture-slides/implementation.htm">PictureSlides implementation page</a>.to help you get started (in the implementations page, you will also find all available settings).</p>
<h3>Include JavaScript files</h3>
<p>Start by including the latest version of <a href="http://code.google.com/p/jqueryjs/downloads/list">jQuery (Minified version suggested)</a>:</p>
<pre class="brush: html">&lt;script type="text/javascript" src="js/jquery-1.3.2.min.js"&gt;&lt;/script&gt;</pre>
<p>Then, include the PictureSlides file:</p>
<pre class="brush: html">&lt;script type="text/javascript" src="js/PictureSlides-jquery-2.0.js"&gt;&lt;/script&gt;</pre>
<p>Then, within the web page or a separate JavaScript file, you can customize how PictureSlides should work and how it should be presented. You can also have any number of slideshows in the same page.</p>
<h3>Create an HTML page</h3>
<p>Create a web page where you put all the HTML that you want to use. This is example HTML prepared for being used with PictureSlides. NOTE! Each slideshow <em>has</em> to be surrounded with an element with the class <code>picture-slides-container</code>.</p>
<pre class="brush: html">&lt;div class="picture-slides-container"&gt;
	&lt;div class="picture-slides-fade-container"&gt;
		&lt;a class="picture-slides-image-link"&gt;&lt;img class="picture-slides-image" src="pictures/1.jpg" alt="This is picture 1" /&gt;&lt;/a&gt;
	&lt;/div&gt;

	&lt;div class="picture-slides-image-text"&gt;This is picture 1&lt;/div&gt;

	&lt;div class="navigation-controls"&gt;
		&lt;span class="picture-slides-previous-image"&gt;Previous&lt;/span&gt;
		&lt;span class="picture-slides-image-counter"&gt;&lt;/span&gt;
		&lt;span class="picture-slides-next-image"&gt;Next&lt;/span&gt;

		&lt;span class="picture-slides-start-slideshow"&gt;Start slideshow&lt;/span&gt;
		&lt;span class="picture-slides-stop-slideshow"&gt;Stop slideshow&lt;/span&gt;
	&lt;/div&gt;

	&lt;ul class="picture-slides-thumbnails"&gt;
		&lt;li&gt;&lt;a href="pictures/1.jpg"&gt;&lt;img src="thumbnails/1.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="pictures/2.jpg"&gt;&lt;img src="thumbnails/2.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="pictures/3.jpg"&gt;&lt;img src="thumbnails/3.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="pictures/4.jpg"&gt;&lt;img src="thumbnails/4.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="pictures/5.jpg"&gt;&lt;img src="thumbnails/5.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="pictures/6.jpg"&gt;&lt;img src="thumbnails/6.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="pictures/7.jpg"&gt;&lt;img src="thumbnails/7.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="pictures/8.jpg"&gt;&lt;img src="thumbnails/8.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;</pre>
<h3>Create JavaScript code</h3>
<p>Then, for each slideshow you want, generate a PictureSlides JavaScript block to create all the settings. For example:</p>
<pre class="brush: js">&lt;script type="text/javascript"&gt;
	jQuery.PictureSlides.set({
		// Switches to decide what features to use
		useFadingIn : true,
		useFadingOut : true,
		useFadeWhenNotSlideshow : true,
		useFadeForSlideshow : true,
		useDimBackgroundForSlideshow : true,
		loopSlideshow : false,
		usePreloading : true,
		useAltAsTooltip : true,
		useTextAsTooltip : false,

		// Fading settings
		fadeTime : 500, // Milliseconds
		timeForSlideInSlideshow : 2000, // Milliseconds

		// At page load
		startIndex : 1,
		startSlideShowFromBeginning : true,
		startSlideshowAtLoad : false,
		dimBackgroundAtLoad : false,

		// Large images to use and thumbnail settings
		images : [
			{
				image : "pictures/1.jpg",
				alt : "Picture 1",
				text : "This is picture 1"
			},
			{
				image : "pictures/2.jpg",
				alt : "Picture 2",
				text : "This is picture 2",
				url : "http://robertnyman.com"
			},
			{
				image : "pictures/3.jpg",
				alt : "Picture 3",
				text : "This is picture 3",
				url : "http://456bereastreet.com"
			} // NOTE! No comma after the last object
		],
		thumbnailActivationEvent : "click",

		// Classes of HTML elements to use
		mainImageClass : "picture-slides-image", // Mandatory
		imageLinkClass : "picture-slides-image-link",
		fadeContainerClass : "picture-slides-fade-container",
		imageTextContainerClass : "picture-slides-image-text",
		previousLinkClass : "picture-slides-previous-image",
		nextLinkClass : "picture-slides-next-image",
		imageCounterClass : "picture-slides-image-counter",
		startSlideShowClass : "picture-slides-start-slideshow",
		stopSlideShowClass : "picture-slides-stop-slideshow",
		thumbnailContainerClass: "picture-slides-thumbnails",
		dimBackgroundOverlayClass : "picture-slides-dim-overlay"
	});
&lt;/script&gt;</pre>
<p>
	The most interesting part above is where you define what images should be used, what text they should have, and if they should link somewhere when being clicked:
</p>
<pre class="brush: js">images : [
	{
		// Path to large image
		image : "pictures/1.jpg",
		// Alternative text for large image
		alt : "Picture 1",
		// Descriptive text of large image
		text : "This is picture 1",
		// Optional. Address to link large image to
		url : "http://robertnyman.com"
	},
	{
		image : "pictures/2.jpg",
		alt : "Picture 2",
		text : "This is picture 2",
		url : "http://robertnyman.com"
	},
	{
		image : "pictures/3.jpg",
		alt : "Picture 3",
		text : "This is picture 3",
		url : "http://456bereastreet.com"
	} // NOTE! No comma after the last object
]</pre>
<h2>Download</h2>
<p>To get the PictureSlides code, <a href="http://code.google.com/p/pictureslides/downloads/list">download the PictureSlides 2.0</a> JavaScript file, or use the code in either of <a href="http://robertnyman.com/picture-slides/">the demo packages</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=jqjEe2d3G8c:r969QAgmoWA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=jqjEe2d3G8c:r969QAgmoWA:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=jqjEe2d3G8c:r969QAgmoWA:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/30/pictureslides-20-highly-customizable-option-to-create-javascript-slideshows/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/30/pictureslides-20-highly-customizable-option-to-create-javascript-slideshows/</feedburner:origLink></item>
		<item>
		<title>The death of Michael Jackson</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/gmEp52rZ3QM/</link>
		<comments>http://robertnyman.com/2009/06/26/the-death-of-michael-jackson/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 12:17:05 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Personal/life]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1382</guid>
		<description><![CDATA[Yesterday, Michael Jackson passed away.
I will not go into the allegations and what some people thought he had done, and what others claimed wasn&#8217;t true (for those interested, you can read more in the Wikipedia article about Michael Jackson). None of us really knows, and never will, so I will leave that behind for now.
Michael [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, Michael Jackson passed away.</p>
<p>I will not go into the allegations and what some people thought he had done, and what others claimed wasn&#8217;t true (for those interested, you can read more in the <a href="http://en.wikipedia.org/wiki/Michael_Jackson#1993.E2.80.931994:_Sexual_abuse_accusations_and_marriage">Wikipedia article about Michael Jackson</a>). None of us really knows, and never will, so I will leave that behind for now.</p>
<p>Michael Jackson affected an entire world with his music and his dancing, and he was filled with an extreme amount of talent. No matter whether you were a fan or not, the impact he has had on artists and the entertainment industry as a whole is mind-blowing. Especially his album Thriller, the best-selling album of all time, and the accompanying video truly changed the scene.</p>
<p>He grew up being exposed to child abuse from his father, and the first time he performed on stage, he was only five years old. From what I have read and seen, I think that he never got to be a child in his life. It seems like he desperately tried to get back some of his childhood throughout his entire life - loving toys, amusement parks and other things children adore.</p>
<p>Suffice to say, his life was full of ups and downs. He was just about to make his last scheduled performances in his career in London, but never got to start on them.</p>
<p>When someone famous, from the time when I grew up, passes away, it gives a sort of feeling like someone you actually knew died. It&#8217;s an unpleasant feeling, and no matter what you though about Michael Jackson, please acknowledge the impact he had on the musical world.</p>
<p>Rest in peace, Michael.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=gmEp52rZ3QM:uzF4eoLW7yQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=gmEp52rZ3QM:uzF4eoLW7yQ:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=gmEp52rZ3QM:uzF4eoLW7yQ:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/26/the-death-of-michael-jackson/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/26/the-death-of-michael-jackson/</feedburner:origLink></item>
		<item>
		<title>Microsoft’s recent marketing campaigns</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/3uh_UZghgwY/</link>
		<comments>http://robertnyman.com/2009/06/25/microsofts-recent-marketing-campaigns/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 12:47:42 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Press/Interviews]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1380</guid>
		<description><![CDATA[You have probably seen this elsewhere on the web, read me go on about it on Twitter, or something, but I thought I&#8217;d go through what I find to be some weird and provoking marketing strategies from Microsoft recently.
Not sure in which order these came, but let&#8217;s go through them:
tengrandisburiedhere.com
We&#8217;ll start with tengrandisburiedhere.com. Ignore the [...]]]></description>
			<content:encoded><![CDATA[<p>You have probably seen this elsewhere on the web, read me go on about it on Twitter, or something, but I thought I&#8217;d go through what I find to be some weird and provoking marketing strategies from Microsoft recently.</p>
<p>Not sure in which order these came, but let&#8217;s go through them:</p>
<h2>tengrandisburiedhere.com</h2>
<p>We&#8217;ll start with <a href="http://www.tengrandisburiedhere.com/" rel="nofollow">tengrandisburiedhere.com</a>. Ignore the pathetic HTML validation errors, that it redirects you to a Microsoft URL and such, and just read the message.</p>
<p>You could only take part in the competition if you were using Internet Explorer 8, otherwise you weren&#8217;t eligible. Let&#8217;s skip over the sentiment that it&#8217;s completely against the open nature of the web, and a manner that have gotten them into trouble many times over the years, and instead focus on the fact that they do not only exclude people who want to use other web browsers, they also outright insult people on other operating system where Internet Explorer isn&#8217;t even an option (apparently all other major serious web browser vendors can offer a product for multiple platforms, but never mind&#8230;).</p>
<p>The text has now also been rewritten: the initial version mentioned Firefox about five times, that it&#8217;s &#8220;old&#8221;, that the user should dump it and that it&#8217;s bad for you. Probably someone got a serious scolding for that, but my guess it wasn&#8217;t because it dissed Firefox in an unprofessional way, but rather that they mentioned (i.e. acknowledged) another web browser&#8217;s existence at all.</p>
<p>And oh, if you wanted to find the treasure, with any web browser, please visit <a href="http://www.tengrandisburiedthere.com/">tengrandisburied<i>there</i>.com</a> instead. <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h2>&#8220;Get the facts&#8221;</h2>
<p>Apparently worried about other web browsers becoming increasingly popular, <a href="http://www.microsoft.com/windows/internet-explorer/get-the-facts/mythbusting.aspx" rel="nofollow">Microsoft launched the &#8220;Get the facts&#8221; campaign</a> with a, in my opinion, <a href="http://www.microsoft.com/windows/internet-explorer/get-the-facts/browser-comparison.aspx" rel="nofollow">hilarious browser comparison chart</a>.</p>
<p>Please read through those two web pages - the gist of it is that Internet Explorer is the best at everything. Interestingly enough, the text there has also changed, and the first version had some more cocky statements and claims. For instance, initially only IE was checked for having the best developer tools, and now Firefox is in there as well.</p>
<p>And I know, I know, it&#8217;s marketing, and their job is to sell the product. But some of the things are subjective, some are more or less outright lies, and what gets me most is that there&#8217;s nothing to back it up. Therefore I hope, probably in vain, that anyone who reads it will demand real tests, facts, testimonies from a large user group etc before they actually believe it.</p>
<p>Naturally, this campaign also has a counter-part in <a href="http://kilianvalkhof.com/ie8fun/">Get the facts STRAIGHT</a>&#8230;</p>
<h2>Browser for the better</h2>
<p>While the above are annoying, the one that really gets to me is <a href="http://www.browserforthebetter.com/" rel="nofollow">Browser for the Better</a>. It&#8217;s a campaign that will donate meals to the Feeding America charity organization, to help people from starving. <em>BUT</em>, it will only give any gift <em>IF</em> you download Internet Explorer 8.</p>
<p>And, as always, there are numerous campaigns, many of poor quality, to make people download your product. But I find this completely tasteless, to imply that other people will starve unless you download IE. What will they do next? Show ads on the TV with a gun to some child&#8217;s head, threatening to shoot them unless people download 10 000 copies of IE <em>right now</em>?</p>
<p>Microsoft, listen: if you have the means to contribute to charity, do so _ I appreciate and encourage companies and people helping others in need. But never <em>ever</em> draw a connection between your company&#8217;s success and the well-being of other human beings.</p>
<h2>What is happening?</h2>
<p>Lately, honestly, I have really tried to cut Microsoft some slack. They do some good things, their products are improving and they&#8217;re not the last one out with some features anymore. But, with with poor marketing strategies like this, and some even disgraceful, everything they have built up lately is soon gone again.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=3uh_UZghgwY:Gtr2sHLrNsU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=3uh_UZghgwY:Gtr2sHLrNsU:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=3uh_UZghgwY:Gtr2sHLrNsU:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/25/microsofts-recent-marketing-campaigns/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/25/microsofts-recent-marketing-campaigns/</feedburner:origLink></item>
		<item>
		<title>Review of AC/DC at Ullevi Stadium June 21st 2009</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/ZHKbKxqiLWk/</link>
		<comments>http://robertnyman.com/2009/06/24/review-of-acdc-at-ullevi-stadium-june-21st-2009/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 14:06:40 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Music]]></category>

		<category><![CDATA[Personal/life]]></category>

		<category><![CDATA[Reviews/tests]]></category>

		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1372</guid>
		<description><![CDATA[Last weekend, me and my brother embarked on a journey to Gothenburg to see AC/DC play at the Ullevi arena.
I had the pleasure of seeing AC/DC a few months ago in Stockholm, February 20th 2009, and now, June 21st, it was time again!
Driving to Gothenburg and accommodation
Sunday morning, we embarked on our journey down to [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend, me and my brother embarked on a journey to Gothenburg to see AC/DC play at the <a href="http://en.wikipedia.org/wiki/Ullevi">Ullevi arena</a>.</p>
<p>I had the pleasure of seeing <a href="http://robertnyman.com/2009/02/23/review-of-acdc-at-the-globe-arena-stockholm-february-20th-2009/">AC/DC a few months ago in Stockholm, February 20th 2009</a>, and now, June 21st, it was time again!</p>
<h2>Driving to Gothenburg and accommodation</h2>
<p>Sunday morning, we embarked on our journey down to Gothenburg by car. Both of us love the freedom of driving instead of taking the train or similar, and hey, who could say no to a road trip? <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>It was a good 5 hours in the car, with the necessary pit stop for food and candy, drinks etc. And by the way, isn&#8217;t it amazing that, no matter how healthy you eat at home, when you&#8217;re on the road, no rules apply; basically, you can eat <em>whatever</em> you like!</p>
<p>We arrived down in Gothenburg at around 5 in the afternoon, and luckily we were to stay at the place of my brother&#8217;s wife&#8217;s cousin. She was living in the outskirts of central Gothenburg, and she rented a section of a house there. Very cute house, by the way: it looked, more or less, like <a href="http://sv.wikipedia.org/wiki/Villa_Villekulla">Villa Villekulla <img src="http://robertnyman.com/images/sweFlag.gif" alt="In Swedish" title="Page in Swedish"></a>.</p>
<p>We got settled in our quarters there, and then went by tram to the Ullevi stadium. It took about half an hour to get there, and Gothenburg was packed with AC/DC fans getting ready for the concert. Just before we reached the venue, rain started pouring down! Everyone was trying to squeeze themselves in under the roof at Ullevi, to stay dry for a while longer.</p>
<p>It rained quote a lot, for about half an hour or so, but after that it was just clear-blue skies and sunny weather the rest of the evening. We got into the arena, bought something to eat and then moved closer to the stage.</p>
<h2>The concert</h2>
<p>The stadium was, naturally, sold out with 57 205 people attending. First, there were two opening acts: Swedish band Bullet, and Irish band The Answer. I didn&#8217;t hear that much of Bullet, but what I heard sounded very good, and I definitely need to check them out. With a concert of this magnitude, it&#8217;s probably even worse being the second opening act; everyone is waiting for the main attraction, many people don&#8217;t know there are two support bands etc.</p>
<p>So, no matter what you think of The Answer, there were a lot of disappointed faces when they got on stage. They played pretty well, but still, everyone just wanted AC/DC by then.</p>
<p><a href="http://www.aftonbladet.se/nojesbladet/supersommar2009/article5411081.ab"><img src="http://robertnyman.com/images/0906/ac-dc-ullevi.jpg" alt="A picture of AC/DC at the Ullevi arena" class="align-center"></a></p>
<p class="text-align-center"><a href="http://www.aftonbladet.se/nojesbladet/supersommar2009/article5411081.ab"><i>Picture taken by Peter Wixtröm, Aftonbladet</i></a></p>
<p>At about 9.30 in the evening, the opening video began and AC/DC finally entered the stage! Since they&#8217;re on the same tour as when I saw them in February, not many things (read: hardly anything) have changed since then. But, I&#8217;m so immensely grateful every time I get the chance to see AC/DC, because they are, without a doubt, one of the best live acts you can ever see. They&#8217;re so totally dedicated to delivering and make the night as memorable as possible for the crowd.</p>
<p>What especially gets to me is the energy they all have, with Angus being pretty much all over the place. It also makes me truly happy to see vocalist Brian Johnson. He&#8217;s <em>so</em> there, all the time, and when he&#8217;s not singing, he&#8217;s standing next to the other guys, moving to the music or interacting with the crowd. Definitely a lesson for other vocalists who tend to get off the stage as fast as they can, as soon as there an instrumental part/passage&#8230;</p>
<p>But sure, one could argue that a number of years ago, they were even more physical, but it&#8217;s not really that much noticeable. First time I saw them was back in 1991, and then Angus was <em>completely</em> crazy, throwing himself everywhere, lying on the floor playing constantly, kicking around etc. But what he&#8217;s doing now is not far from that.</p>
<p><a href="http://www.aftonbladet.se/nojesbladet/supersommar2009/article5411081.ab"><img src="http://robertnyman.com/images/0906/ac-dc-angus-ullevi.jpg" alt="A picture of Angus Young of AC/DC at the Ullevi arena" class="align-right"></a></p>
<p>Like my brother mentioned, though, the only downside of seeing several AC/DC concerts in a short amount of time is that what feels unique for that night and special just for you, is the same thing they would do the other nights as well. It&#8217;s all carefully crafted, but, you could lose some of that special once-in-a-lifetime feeling. By the way, I should also mention that the sound was very very good, at least from where I was standing, and every note came through crystal clear.</p>
<p>Only thing that gave me some distaste was that, during the song The Jack (which is about a woman with venereal disease), the camera men like to film women in the audience to imply that they are &#8220;dirty women&#8221;. All fine and well, and for a laugh, but it loses all its joy when they start filming twelve year-old girls&#8230; What&#8217;s wrong with you, camera men?</p>
<p class="clear text-align-right">
	<a href="http://www.aftonbladet.se/nojesbladet/supersommar2009/article5411081.ab"><i>Picture taken by Peter Wixtröm, Aftonbladet</i></a>
</p>
<h2>The set list</h2>
<p>With the treasure chest of songs AC/DC have, they could hardly go wrong. The songs they played were exactly the same as a few months ago, and in the same order, except for adding Dog Eat Dog to the set as well (it&#8217;s an ok song, but personally I know a lot of other songs that I feel would have suited better; e.g. Jailbreak, High Voltage, It&#8217;s a Long Way to the Top etc).</p>
<p>In my opinion, though, the middle of the set list is the weaker part, with too many new songs. They actually grow on me, though, except for Anything Goes, which I think is just a waste of time. If they made the middle a little stronger, I feel that no other band or concert would be able to top it.</p>
<p>The ending is, however, completely amazing, and could not be done better! <img src='http://robertnyman.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<ol>
<li>Rock ‘n’ Roll Train</li>
<li>Hell Ain’t a Bad Place to Be</li>
<li>Back in Black</li>
<li>Big Jack</li>
<li>Dirty Deeds Done Dirt Cheap</li>
<li>Shot Down in Flames</li>
<li>Thunderstruck</li>
<li>Black Ice</li>
<li>The Jack</li>
<li>Hells Bells</li>
<li>Shoot to Thrill</li>
<li>War Machine</li>
<li>Dog Eat Dog</li>
<li>Anything Goes</li>
<li>You Shook Me All Night Long</li>
<li>T.N.T.</li>
<li>Whole Lotta Rosie</li>
<li>Let There Be Rock</li>
<li>Highway to Hell</li>
<li>For Those About to Rock (We Salute You)</li>
</ol>
<h2>My thoughts and the future</h2>
<p>This was the fifth time I saw AC /DC Live. First time was back in 1991, then 1996, two times in 2000 (New York and Stockholm) and now two times this year (Stockholm and Gothenburg). I believe an AC/DC concert experience is about as good as it can get, but I can&#8217;t help start wondering about the future.</p>
<p>Brian Johnson will turn 62 this year, and Angus Young is the youngest member at 54. AC/DC started out back in 1973 and have been around for an astonishing 36 years! Very impressive, but also makes me think that this were perhaps their last great tour. There might be one more, if we&#8217;re lucky, but then they will probably retire.</p>
<p>So, if you have the chance, go see AC/DC live, because it&#8217;s a truly unforgettable experience!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=ZHKbKxqiLWk:NoxJuuHwBCM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=ZHKbKxqiLWk:NoxJuuHwBCM:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=ZHKbKxqiLWk:NoxJuuHwBCM:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/24/review-of-acdc-at-ullevi-stadium-june-21st-2009/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/24/review-of-acdc-at-ullevi-stadium-june-21st-2009/</feedburner:origLink></item>
		<item>
		<title>Opera Unite - some questions and answers</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/o7SMRArrOgw/</link>
		<comments>http://robertnyman.com/2009/06/23/opera-unite-some-questions-and-answers/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 15:25:04 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Developing]]></category>

		<category><![CDATA[Reviews/tests]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1370</guid>
		<description><![CDATA[Last week, Opera launched an alpha release of Opera Unite. My idea here here is to write an unbiased post about it, to answer some the most common questions and queries.
Background on Opera Unite
If you feel you want some background on Opera Unite before we start, please read Opera&#8217;s release blog post Taking the Web [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, Opera launched an alpha release of <a href="http://unite.opera.com/">Opera Unite</a>. My idea here here is to write an unbiased post about it, to answer some the most common questions and queries.</p>
<h2>Background on Opera Unite</h2>
<p>If you feel you want some background on Opera Unite before we start, please read Opera&#8217;s release blog post <a href="http://labs.opera.com/news/2009/06/16/">Taking the Web into our own hands, one computer at a time</a>. If you want a direct critical view to complement that, you could also read Chris Messina&#8217;s <a href="http://factoryjoe.com/blog/2009/06/16/thoughts-on-opera-unite/">Thoughts on Opera Unite</a>, which, amongst other things, raises some valid questions.</p>
<h2>So, what is Opera Unite?</h2>
<p>Opera Unite is basically offering people a simple way to share content, photos and files in general, by embedding a web server directly into the Opera web browser. This is to get around common problems with making two computers talk to each other, and to avoid having your content saved on some third-party server or provider; instead, it puts you as a user directly in control of the content.</p>
<p>You get a URL to share to anyone to access your content, and the offerings can also be extended, by you (or someone else) writing their own service for Opera Unite.</p>
<h2>What you need to share</h2>
<p>Currently, what you need to share content is an alpha build of Opera Unite and a <a href="http://my.opera.com/">My Opera</a> account:</p>
<ul>
<li><a href="http://snapshot.opera.com/windows/o100s_1589m.exe">Opera Unite build for Windows (direct download link)</a></li>
<li><a href="http://snapshot.opera.com/mac/o100s_6510.dmg">Opera Unite build for Mac (direct download link)</a></li>
<li><a href="http://snapshot.opera.com/unix/10-unite/">Opera Unite build for Linux/Unix (direct download link)</a></li>
</ul>
<p>Oh, and you need some friend(s) to connect to, as well&#8230; <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h2>Common questions and wonderings</h2>
<p>Here I want to go over the frequently asked questions, by me and others, and also give a clear answer to some possible misconceptions. I know some people working for Opera, and have had the opportunity to get some good and direct answers and clues.</p>
<h3>Do I really need a My Opera account?</h3>
<p>It has been understood by most that to share content, and to complement Opera Unite, you need a <a href="http://my.opera.com/">My Opera</a> account, and that everything shared has to go through the Opera proxy server. You do need the account, but you can avoid using the Opera proxy server if you want to. In the article <a href="http://dev.opera.com/articles/view/custom-domains-opera-unite/">Setting up custom domains for Opera Unite</a>, you can find out how to use any other domain name.</p>
<h3>Can anyone access my content?</h3>
<p>Anyone who you have given the URL to can access what you share. They don&#8217;t have to have an Opera web browser or a My Opera account.</p>
<h3>Is anything saved online?</h3>
<p>Nope, nothing. The idea with Opera Unite is to have two computers connected directly to each other, and if you use a domain name of your own, there&#8217;s really no middle hand.</p>
<h3>What if I actually do want to save something online?</h3>
<p>Some people like the safety of having pictures etc saved on a remote server, or in the cloud, if you will. This is not offered by default, but if you want to, you can develop an <a href="http://widgets.opera.com/">Opera Widget</a>, as an Opera Unite service, to automate saving to a third party.</p>
<h3>Why is having my content via Opera Unite and My Opera better or more trust-worthy than services in the cloud?</h3>
<p>This is more a matter of preference than anything else. If you trust and like services like Facebook, Flickr, Dropbox etc, that&#8217;s just fine. But if you prefer just having the content on your machine, then Opera Unite might be an option for you.</p>
<h3>Will this ever be available in other web browsers/without any Opera connection?</h3>
<p>I can&#8217;t give any promises or details, but rumors hint at this possibly becoming open-source (Yay!).</p>
<h3>Can I use Opera Unite behind proxy servers?</h3>
<p>My own attempts with this have failed, but you might be successful by using some of the suggestions in the <a href="http://dev.opera.com/articles/view/custom-domains-opera-unite/">Setting up custom domains for Opera Unite</a> article.</p>
<h2>My opinions about Opera Unite</h2>
<p>From my own needs, Opera Unite probably won&#8217;t fill a gap or any need I have. However, especially for people not too tech-savvy, I believe it could be very useful. It is very easy to set up, and from the tests I have done with it, it has worked remarkably well (kudos to the technical team for an excellent release!).</p>
<p>Personally, I don&#8217;t have much of a problem with saving things online, and I prefer the security of having my content backed up in various locations. That way, if I lose my computer/backup drive, something crashes etc, I have the security of always having it elsewhere. I like accessing or sharing content, no matter which computer I&#8217;m using. With Opera Unite, I don&#8217;t get that at all.</p>
<p>Therefore, from my perspective, a huge downside of Opera Unite is that my shared content is only available when my computer is running. I don&#8217;t know about you, but I only use laptops, and when I&#8217;m done with that I want to do, I close the lid and put it away.</p>
<p>Last, but not least, while the technology and approach is interesting, I have a problem with the Opera tie-in. Sure, I understand it is in their best interest, but the only way it would be interesting to me is if it were open-source, and available in any web browser of my choice (and naturally, with no need for My Opera or similar).</p>
<p>So, here&#8217;s to hoping that this will be available to anyone under their own terms.</p>
<p>What&#8217;s your thoughts or questions on Opera Unite?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=o7SMRArrOgw:za2VrhCoUXk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=o7SMRArrOgw:za2VrhCoUXk:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=o7SMRArrOgw:za2VrhCoUXk:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/23/opera-unite-some-questions-and-answers/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/23/opera-unite-some-questions-and-answers/</feedburner:origLink></item>
		<item>
		<title>Swedish Midsummer celebrations</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/I_JH9mHHiNU/</link>
		<comments>http://robertnyman.com/2009/06/18/swedish-midsummer-celebrations/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 14:50:44 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Personal/life]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1366</guid>
		<description><![CDATA[Tomorrow, all of Sweden is celebrating Midsummer. If that&#8217;s a new concept to you, allow me to explain.
Midsummer is a very important holiday here, of pagan origin, and the day is packed with a lot of traditional activities and, in many cases, partying till someone finds you in a ditch the day after&#8230;
People dress up [...]]]></description>
			<content:encoded><![CDATA[<p>Tomorrow, all of <a href="http://en.wikipedia.org/wiki/Midsummer#Sweden">Sweden is celebrating Midsummer</a>. If that&#8217;s a new concept to you, allow me to explain.</p>
<p>Midsummer is a <em>very</em> important holiday here, of pagan origin, and the day is packed with a lot of traditional activities and, in many cases, partying till someone finds you in a ditch the day after&#8230;</p>
<p>People dress up in traditional folk costumes, sing songs like <a href="http://en.wikipedia.org/wiki/Frog_dance">Små grodorna</a> and do certain dances, we eat pickled herring like there&#8217;s no tomorrow and, as with any holiday in Sweden, there&#8217;s some serious alcohol intake going on.</p>
<p>Midsummer is believed to be a time for magic, and historically there were a number of rituals taking place. Some people (mostly women, it seems) pick 7 or 9 flowers and put them under their pillow - the result is that they should dream about their future spouse.</p>
<p>But, most importantly, we raise a <a href="http://en.wikipedia.org/wiki/Maypole">maypole</a> (<i>majstång</i> or <i>midsommarstång</i> in Swedish), and then we all dance around it.</p>
<p><a href="http://pics.robertnyman.com/gallery/5216055_oiwRx#316648583_YT5Lt"><img src="http://robertnyman.com/images/0906/maypole.jpg" alt="A picture of the maypole" class="align-center"></a></p>
<p>And yes, I know, the look of it and our behavior just screams:</p>
<blockquote>
<p>All hail the mighty penis!</p>
</blockquote>
<p>While it is definitely an enormous phallic symbol, the tradition is quite nice, actually! Adults and children clothe the maypole with leaves and flowers, and then it&#8217;s raised (no jokes, pun completely unintended!) to the cheer of the people.</p>
<p><a href="http://pics.robertnyman.com/gallery/5202415_6UwmW#315672105_uHZL6"><img src="http://robertnyman.com/images/0906/maypole-and-dancing.jpg" alt="A picture of the maypole and people dancing around it" class="align-center"></a></p>
<p>There, now I hope you are a little bit more enlightened about Swedish traditions.</p>
<p>Happy Midsummer! <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=I_JH9mHHiNU:vwHwTu-kIaw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=I_JH9mHHiNU:vwHwTu-kIaw:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=I_JH9mHHiNU:vwHwTu-kIaw:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/18/swedish-midsummer-celebrations/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/18/swedish-midsummer-celebrations/</feedburner:origLink></item>
		<item>
		<title>New JavaScript features with native JSON support and JavaScript 1.8.1 additions</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/5m8VjKOsT98/</link>
		<comments>http://robertnyman.com/2009/06/18/new-javascript-features-with-native-json-support-and-javascript-181-additions/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 11:28:07 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Developing]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Mozilla]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1360</guid>
		<description><![CDATA[With the impending release of Firefox 3.5, I thought I&#8217;d cover the new things in JavaScript 1.8.1 - part of that is the very exciting support for native JSON, and you know what? They&#8217;re not the only ones supporting it!
Native JSON
JSON (JavaScript Object Notation) has become a very popular light-weight data format, and also almost [...]]]></description>
			<content:encoded><![CDATA[<p>With the impending release of Firefox 3.5, I thought I&#8217;d cover the new things in JavaScript 1.8.1 - part of that is the very exciting support for native JSON, and you know what? They&#8217;re not the only ones supporting it!</p>
<h2>Native JSON</h2>
<p><a href="http://www.json.org/">JSON (JavaScript Object Notation)</a> has become a very popular light-weight data format, and also almost a de-facto way for sending data cross-domains. It&#8217;s a great way to work with information, and the content is very easy to grasp. There&#8217;s also support built into virtually every technology to serialize/deserialize JSON content and to work further with it.</p>
<p>However, till very recently, there has been no native way in JavaScript to do this. Another problem is that you send/receive JSON as a string, so you need to use the no-no <code>eval</code> to turn it into a JavaScript object. Using <code>eval</code> is a great security risk, and the possible result is that you could get malicious code in which would then be executed immediately.</p>
<p>Therefore, to complement your JSON code, you would need some <a href="http://www.json.org/js.html">function to make sure the JSON object is safe</a>, and the result there is extra code and, especially, extra execution time.</p>
<p>However, times they are a-changin&#8217;!</p>
<p>With Firefox 3.5 and Internet Explorer 8, native JSON support is built in! In those web browsers, you don&#8217;t need to worry about those above mentioned security risks or performance implications, because it&#8217;s all natively taken care of. There are two methods on a global JSON object to do this:</p>
<h3>JSON.parse</h3>
<p><code>JSON.parse</code> turns a string into a proper JavaScript object:</p>
<pre class="brush: js">var JSONString = '{"name" : "Robert", "lastName" : "Nyman"}',
	JSONObject = JSON.parse(JSONString);</pre>
<h3>JSON.stringify</h3>
<p><code>JSON.stringify</code> turns a JavaScript object into a string:</p>
<pre class="brush: js">var obj = {
		name : "Robert",
		lastName : "Nyman"
	},
	JSONString = JSON.stringify(obj);
// Result: {"name":"Robert","lastName":"Nyman"}</pre>
<h2>JavaScript 1.8.1</h2>
<p>Mozilla has also decided to make some minor additions to JavaScript with JavaScript 1.8.1.</p>
<h3>Object.getPrototypeOf</h3>
<p><code>Object.getPrototypeOf</code> is a way to get what object a certain object is prototype of, i.e. from where does it inherit things. Basically, for those used to the <code>__proto__</code> of doing that, this is a standardized way to achieve the same thing. John Resig goes into a little more how this can be useful in <a href="http://ejohn.org/blog/objectgetprototypeof/">his article on Object.getPrototypeOf</a>.</p>
<h3>String extras</h3>
<p>There are tree additional methods to string objects for trimming text. They are <code>trim</code>, <code>trimLeft</code> and <code>trimRight</code>.</p>
<pre class="brush: js">var someString = "       Monkeys like bananas    ",
someStringTrimmed = someString.trim();
// Result: "Monkeys like bananas"

var someString = "       Monkeys like bananas    ",
someStringTrimmedLeft = someString.trimLeft();
// Result: "Monkeys like bananas    "

var someString = "       Monkeys like bananas    ",
someStringTrimmedRight = someString.trimRight();
// Result: "       Monkeys like bananas"</pre>
<h2>Test cases and sample code</h2>
<p>As you are probably aware of now, I&#8217;m quite happy with my <a href="http://robertnyman.com/javascript/">JavaScript tests &amp; Compatibility tables</a>, and in there I have now added compatibility tables for these new additions, and also a <a href="http://robertnyman.com/javascript/javascript-1.8.1.html">test page for JavaScript 1.8.1</a> and a <a href="http://robertnyman.com/javascript/javascript-native-json.html">test page for native JSON</a>.</p>
<h2>My takes</h2>
<p>Generally, JavaScript 1.8.1 includes some niceties that are good to have, but aren&#8217;t really issues. Native JSOn support on the other hand will lead to a safer and better performing web, and that is quite exciting!</p>
<p>Also, kudos to IE 8 to be the first officially released web browser supporting it. However, I&#8217;m a bit saddened that native JSON is not in the new Safari 4, Google Chrome 2 or upcoming Opera 10, because we really need it, and I hope they implement it soon.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=5m8VjKOsT98:ump9vRZS6a0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=5m8VjKOsT98:ump9vRZS6a0:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=5m8VjKOsT98:ump9vRZS6a0:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/18/new-javascript-features-with-native-json-support-and-javascript-181-additions/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/18/new-javascript-features-with-native-json-support-and-javascript-181-additions/</feedburner:origLink></item>
		<item>
		<title>Do you take notes?</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/mBj_GDkjbMc/</link>
		<comments>http://robertnyman.com/2009/06/16/do-you-take-notes/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 10:05:59 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://robertnyman.com/2009/06/16/do-you-take-notes/</guid>
		<description><![CDATA[When I want to remember something, I very rarely take notes.
I think my stance has always been, when in meetings, during presentations, conferences etc, that if it&#8217;s worth remembering, I will. No need to have a filled note block with illegible scribbled notes, which I won&#8217;t be able to grasp anyway.
Another part of me, probably [...]]]></description>
			<content:encoded><![CDATA[<p>When I want to remember something, I very rarely take notes.</p>
<p>I think my stance has always been, when in meetings, during presentations, conferences etc, that if it&#8217;s worth remembering, I will. No need to have a filled note block with illegible scribbled notes, which I won&#8217;t be able to grasp anyway.</p>
<p>Another part of me, probably in vain, believes that it&#8217;s good mental training. Like, if I have to remember a lot of things, it keeps my mind in shape, as opposed to just writing everything down and then let it go.</p>
<p>One could argue, though, that if you drive to a place with your car, bike (or vehicle of your choosing), you remember the way there better, than if you had been just a passenger. And maybe the same goes for taking notes: if you write things down, it&#8217;s printed in the back of your skull forever. Or something.</p>
<p>There&#8217;s an exception to the rule, though. Ideas for blog posts, things to test and develop and inspiration for upcoming presentations I will give - basically all things that are pretty far in the future - I occasionally take very light notes, as inspiration. And when I do, I use the excellent service <a href="http://evernote.com/">Evernote</a>. It&#8217;s free, their desktop app is very good and I can also use it on my iPhone.</p>
<p>The key thing, though, with Evernote, is that my notes are automatically synchronized between locations and devices. Other people are completely dependent on writing notes with pen and paper, and have developed truly elaborate systems to do that.</p>
<p>Do you take notes? Why or why not? And if you do, how do you do it?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=mBj_GDkjbMc:T8XuUTsKM5s:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=mBj_GDkjbMc:T8XuUTsKM5s:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=mBj_GDkjbMc:T8XuUTsKM5s:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/16/do-you-take-notes/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/16/do-you-take-notes/</feedburner:origLink></item>
		<item>
		<title>Thoughts on Microsoft’s move to ship Windows 7 without Internet Explorer in Europe</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/cITi7sfyXl0/</link>
		<comments>http://robertnyman.com/2009/06/15/thoughts-on-microsofts-move-to-ship-windows-7-without-internet-explorer-in-europe/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 12:27:10 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Reviews/tests]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/2009/06/15/thoughts-about-microsofts-move-to-ship-windows-7-without-internet-explorer-in-europe/</guid>
		<description><![CDATA[Microsoft, in a surprise move, have decided to ship Windows 7 in Europe without any web browser at all.
Yes, it&#8217;s true&#8230;
After making sure it still isn&#8217;t April 1st, I re-read the news. Apparently, this is Microsoft&#8217;s reaction to the antitrust allegations in the European Union, to just ship it blank so to speak (details can [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft, in a surprise move, have decided to ship Windows 7 in Europe without any web browser at all.</p>
<h2>Yes, it&#8217;s true&#8230;</h2>
<p>After making sure it still isn&#8217;t April 1st, I re-read the news. Apparently, this is Microsoft&#8217;s reaction to the antitrust allegations in the European Union, to just ship it blank so to speak (details can be found in <a href="http://news.cnet.com/8301-13860_3-10262630-56.html">Europe to get Windows 7 sans browser</a>).</p>
<h2>My thoughts</h2>
<p>To begin with, while I&#8217;m very far from being an IE fan, I&#8217;m not really sure about this to begin with. Sure, Microsoft got a lot of the market this way, but now the web browser market is more balanced than in a long long time. Therefore, maybe this isn&#8217;t needed?</p>
<p>And, in terms of business practices and included software, Apple are doing the exact same thing, but no one talks about it. And sure, OS X isn&#8217;t close to having the same market share as Windows, but, in my opinion, it has a fairly substantial share as well. So, if we&#8217;re going down this path, fair has to be fair.</p>
<h2>Conclusions</h2>
<p>I think this leads to some interesting, and in some cases, saddening conclusions:</p>
<ul>
<li>It will be hell for a number of users to get a hold of any web browser to install at all. IE 8 will instead be distributed it via CDs, FTP and similar. What is this? 1995?</li>
<li>There will be a free IE 8 pack for computer manufacturers to install. If that&#8217;s true, isn&#8217;t that about the same unbalanced competition as before?</li>
<li>Instead of giving users more choice, they get even less than before.</li>
<li>Apparently IE isn&#8217;t that tied to the operating system which Microsoft has claimed again and again for years. Great! Offer us multiple stand-alone versions side-by-side <em>now</em> then!</li>
</ul>
<h2>How it should be done</h2>
<p>The only common sense here would to ship Windows 7, where the user can start a program to install any web browsers they want to. This program should <em>not</em> contain installers for any web browsers, but rather predefined download links to all the major web browser vendors, so each of them can ensure it&#8217;s the latest and most suitable version being installed.</p>
<p>And really, it&#8217;s not that hard, is it? Instead of messing with poor end users, do the sane thing and offer users options and freedom to choose. Like it should have been from day one.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=cITi7sfyXl0:uNSrjJJL_1M:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=cITi7sfyXl0:uNSrjJJL_1M:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=cITi7sfyXl0:uNSrjJJL_1M:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/15/thoughts-on-microsofts-move-to-ship-windows-7-without-internet-explorer-in-europe/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/15/thoughts-on-microsofts-move-to-ship-windows-7-without-internet-explorer-in-europe/</feedburner:origLink></item>
		<item>
		<title>Impossible to uninstall Safari 4 in Mac OS X - Apple pretty much follows suit with Microsoft</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/JViGiJAs_ms/</link>
		<comments>http://robertnyman.com/2009/06/11/impossible-to-uninstall-safari-4-in-mac-os-x-apple-pretty-much-follows-suit-with-microsoft/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 14:19:11 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Apple/Mac]]></category>

		<category><![CDATA[Reviews/tests]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/2009/06/11/impossible-to-uninstall-safari-4-in-mac-os-x-apple-pretty-much-follows-suit-with-microsoft/</guid>
		<description><![CDATA[A little while ago, Apple released Safari 4. While it&#8217;s a very competent and fast web browser, there&#8217;s something seriously wrong with it: on a Mac, it can&#8217;t be uninstalled.
Wanting to uninstall
If you install Safari 4 in Windows, it&#8217;s immediately there. If you install it in Mac OS X you need to restart your entire [...]]]></description>
			<content:encoded><![CDATA[<p>A little while ago, Apple released Safari 4. While it&#8217;s a very competent and fast web browser, there&#8217;s something seriously wrong with it: on a Mac, it can&#8217;t be uninstalled.</p>
<h2>Wanting to uninstall</h2>
<p>If you install Safari 4 in Windows, it&#8217;s immediately there. If you install it in Mac OS X you need to restart your entire operating system, plus a pretty long installation time. That&#8217;s warning sign 1.</p>
<p>If you think about removing it in Windows, the option is right there:</p>
<p><img src="http://www.robertnyman.com/images/0906/windows-uninstall-safari4.png" alt="A picture of where to uninstall Safari 4 in Windows" class="align-center"></p>
<p>If you think about removing it in Mac OS X, can&#8217;t find a way to do it and test out <a href="http://www.appzapper.com/">AppZapper</a> to get rid of it, AppZapper warns you that it can&#8217;t remove it. Warning sign 2.</p>
<p>The most logic train of thought at this point is that you think you have just missed something, surely it can be uninstalled, right? So, you start by looking into <a href="http://discussions.apple.com/thread.jspa?threadID=2032017&amp;tstart=120">Apple Discussions about uninstalling Safari 4</a>. The suggestion is to Archive and install, i.e. reinstalling the entire operating system. Very scary warning sign 3.</p>
<p>So, as it turns out, and with all information I have gotten, <em>you can&#8217;t uninstall Safari 4</em>!</p>
<h2>Offering the uninstall option</h2>
<p>The beta of Safari 4 came with a package that offered an uninstaller, but no such thing with the final release of Safari 4. Naturally, Apple can and <em>must</em> offer it! Now!</p>
<p>Microsoft have gotten a lot of crap for including Internet Explorer with Windows, stifling competition and such, but you know what? If you have upgraded Internet Explorer in Windows, you can at least uninstall it back to the previous version.</p>
<p><img src="http://www.robertnyman.com/images/0906/windows-uninstall-ie.png" alt="A picture of where to uninstall Internet Explorer in Windows" class="align-center"></p>
<h2>&#8220;Why uninstall&#8221; is not a relevant question</h2>
<p>When I and other people ask for help, instead of looking for options how to do it, you rather get met by the constant question why you want to uninstall it. To me, that&#8217;s a completely irrelevant question! Sure, I can say that I need Safari 3 back, that <a href="http://michelf.com/projects/multi-safari/">Multi-Safari</a> isn&#8217;t sufficient, that I just dislike Safari 4. It does not matter.</p>
<p>My opinion is that any software I have installed naturally can be uninstalled. To me, it&#8217;s the core principle of software and the right every user should have. It should <em>always</em> be an option to uninstall an installation of a web browser or any other application!</p>
<p>Microsoft has done very bad things with Internet Explorer in this aspect, and now Apple are just as bad (or worse). Take a look at the commendable work with Mozilla Firefox and Opera: you can install as many versions as you want, side-by-side, uninstall them at will and all without restarting the operating system or anything.</p>
<p>No application should be tied so closely to the operating system, no matter if it&#8217;s Internet Explorer, Safari or anything else. This is extremely disrespectful to end users.</p>
<p>The slogan for Safari 4 is:</p>
<blockquote cite="http://www.apple.com/safari/"><p>
	See the web in a whole new way
</p></blockquote>
<p>Yeah, the way Apple sees it. Where they choose what you can uninstall, not you.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=JViGiJAs_ms:oQ6mynoQVG8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=JViGiJAs_ms:oQ6mynoQVG8:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=JViGiJAs_ms:oQ6mynoQVG8:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/11/impossible-to-uninstall-safari-4-in-mac-os-x-apple-pretty-much-follows-suit-with-microsoft/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/11/impossible-to-uninstall-safari-4-in-mac-os-x-apple-pretty-much-follows-suit-with-microsoft/</feedburner:origLink></item>
		<item>
		<title>Store information on the client side with DOM Storage/Web Storage - plenty of improvements available</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/UGimcJye2DY/</link>
		<comments>http://robertnyman.com/2009/06/10/store-information-on-the-client-side-with-dom-storageweb-storage-plenty-of-improvements-available/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 16:21:34 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Developing]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/2009/06/10/store-information-on-the-client-side-with-dom-storageweb-storage-plenty-of-improvements-available/</guid>
		<description><![CDATA[Saving state or values have never been easy on the web, especially on the client-side, and using cookies have been far from ideal. Enter DOM/Web Storage!
Web Storage is a W3C draft which covers exactly how saving information on the client-side should be done. It was initially part of the HTML 5 specification, but was then [...]]]></description>
			<content:encoded><![CDATA[<p>Saving state or values have never been easy on the web, especially on the client-side, and using cookies have been far from ideal. Enter DOM/Web Storage!</p>
<p><a href="http://dev.w3.org/html5/webstorage/">Web Storage</a> is a W3C draft which covers exactly how saving information on the client-side should be done. It was initially part of the HTML 5 specification, but was then taken out to be independent. Web Storage, or the somewhat confusing popular name DOM Storage, is a great way to save information for the current session and window, or for returning users.</p>
<h2>Types of storage objects</h2>
<p>There are two types of storage objects: <code>sessionStorage</code>, for the current session <em>and</em> window, and <code>localStorage</code>, which will last between sessions. Here are a couple of code examples:</p>
<h3><span class="lowercase">s</span>essionStorage</h3>
<pre class="brush: js">sessionStorage["name"] = "Robert";
var theName = sessionStorage["name"];</pre>
<h3><span class="lowercase">l</span>ocalStorage</h3>
<pre class="brush: js">localStorage["occupation"] = "Web Developer";
var occupation = localStorage["occupation"];</pre>
<h2>The syntax</h2>
<p>As you could see above, basically the syntax for working with DOM Storage is accessing values with keys, just as for any regular JavaScript object. There are also some properties and methods, available for both types of storage objects:</p>
<h3>Properties</h3>
<dl>
<dt>constructor</dt>
<dd>Reference to the object&#8217;s constructor.</dd>
<dt>getItem</dt>
<dd>Get value of item with sent in name.</dd>
<dt>length</dt>
<dd>Get length of the number of items</dd>
<dt>remainingSpace</dt>
<dd>Get remaining space for the storage object. Only seems to work in IE 8 - personally, I find this property very useful.</dd>
</dl>
<h3>Methods</h3>
<dl>
<dt>clear</dt>
<dd>Clears all items in the storage object.</dd>
<dt>key</dt>
<dd>Get the name of the item at a certain position.</dd>
<dt>removeItem</dt>
<dd>Remove item with sent in name.</dd>
<dt>setItem</dt>
<dd>Set item value with sent in name.</dd>
</dl>
<h2>Web browser support</h2>
<p>DOM Storage is supported in these web browsers:</p>
<ul>
<li>Internet Explorer 8</li>
<li>Firefox 2 for <code>sessionStorage</code>, 3.5 for <code>localStorage</code></li>
<li>Safari 4</li>
</ul>
<p>I find it interesting that Opera nor Google Chrome doesn&#8217;t support this yet. Also worth mentioning is that since Firefox 2, there was support for something called <code>globalStorage</code>. That is now obsolete, and replaced by <code>localStorage</code> (although it isn&#8217;t exactly the same thing).</p>
<h2>Data saving capacity</h2>
<p>The space available for saving data is 5 MB in Firefox and 10 MB in IE 8 (not sure about the size in Safari 4, but probably 5 MB as well). Compare that to cookies, who offers 2 to 4 kb! Imagine the possibilities!</p>
<h2>More reading</h2>
<ul>
<li><a href="https://developer.mozilla.org/en/dom/storage">DOM Storage - Mozilla Developer Center</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc197062(VS.85).aspx#_global">Introduction to DOM Storage</a></li>
<li><a href="http://ejohn.org/blog/dom-storage/">DOM Storage - John Resig (a little outdated, since it goes into the obsolete globalStorage object instead of localStorage)</a></li>
</ul>
<h2>Test cases</h2>
<p>Naturally, in my <a href="http://robertnyman.com/javascript/">splendid JavaScript test page</a>, I&#8217;ve put together two simple <a href="http://robertnyman.com/javascript/javascript-dom-storage.html">test cases for <code>sessionStorage</code> and <code>localStorage</code></a>.</p>
<h2>Progressively enhance today!</h2>
<p>My suggestion to you is to play around with this <em>today</em>! Soon over half of the web browsers used on the market will support this, so it&#8217;s not only here to stay, it&#8217;s the ground some serious coding in terms of storing things. Just make sure to use progressive enhancement and have storage objects where it&#8217;s supported, and other options/fallbacks where it&#8217;s applicable.</p>
<p>Progressive enhance today, what you could have enhanced tomorrow! <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=UGimcJye2DY:DWQcf6dM8lE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=UGimcJye2DY:DWQcf6dM8lE:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=UGimcJye2DY:DWQcf6dM8lE:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/10/store-information-on-the-client-side-with-dom-storageweb-storage-plenty-of-improvements-available/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/10/store-information-on-the-client-side-with-dom-storageweb-storage-plenty-of-improvements-available/</feedburner:origLink></item>
		<item>
		<title>My thoughts on Twitter</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/OfdSgImOO1o/</link>
		<comments>http://robertnyman.com/2009/06/09/my-thoughts-on-twitter/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 12:12:43 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Reviews/tests]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robertnyman.com/2009/06/09/my-thoughts-on-twitter/</guid>
		<description><![CDATA[Twitter. Some people love it, some hate and some actually have a worrying addiction to it. I thought I&#8217;d express my own thoughts on Twitter here.
The good parts
Twitter is an excellent tool to just let the world/your friends know what you&#8217;re doing right now, throw out a question or have a short discussion about virtually [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter. Some people love it, some hate and some actually have a worrying addiction to it. I thought I&#8217;d express my own thoughts on Twitter here.</p>
<h2>The good parts</h2>
<p>Twitter is an excellent tool to just let the world/your friends know what you&#8217;re doing right now, throw out a question or have a short discussion about virtually any topic there is. The instantness of it is really invigorating and extremely powerful! </p>
<p>Something I particularly like is at a event - be it a concert, conference or similar - the ability to immediately see what other people are thinking, what they&#8217;re doing and share the experience live with people that you might not have the chance to see face to face to talk with.</p>
<p>And, without a doubt, it is revolutionary in it how it has improved and made swift communication easier and faster between people.</p>
<h2>The bad parts</h2>
<p>There are a number of things I&#8217;m not too fond about Twitter; part of it is due to Twitter, part of it is, in my humble opinion, complete over usage of Twitter for something it wasn&#8217;t intended nor is optimal for.</p>
<h3>Technical issues</h3>
<p>I know things are getting better, but Twitter must still be one of the web services with the highest amount of errors, timeouts, sporadic downtime and similar. Frankly, I can&#8217;t believe that people put up with it. When web sites are dedicated to check if a service is down, that&#8217;s a really bad sign. E.g. <a href="http://istwitterdown.com/">Is Twitter Down?</a>.</p>
<h3>Character limitation</h3>
<p>As everyone is aware of, the total amount of characters allowed for a Twitter message is 140. The reason for this limitation is that most mobile phone and systems have a limit of 160 characters, and the background to that is pretty random - read more in <a href="http://latimesblogs.latimes.com/technology/2009/05/invented-text-messaging.html">Why text messages are limited to 160 characters</a>. Off the top of their heads, Twitters creators felt 20 extra characters should be sufficient for people&#8217;s user names.</p>
<p>Some people have got really addicted to this, stated that this is <em>the</em> main reason for Twitter&#8217;s success, and that they wouldn&#8217;t have it any other way. Personally, I think it&#8217;s ok at times, but truly stifling and annoying at others. One would think that this limitation would lead to people choosing their words more wisely, but, naturally with humans, the result of this is that people instead use ridiculous acronyms and various desperate ways to make things shorter. Just as with SMS, people seem to get more and more illiterate by these limitations.</p>
<p>From my own point of view, I hate rewriting an entire message since it was, like, two characters too long. And sure, there&#8217;s no magic limit that would suit everyone, but personally I feel that it should be removed or lifted higher. You don&#8217;t <em>have to</em> use every character available, just that it could be an option,</p>
<p>For people reading Twitter through SMS on mobile phones, just give them multiple messages. For people writing Twitter messages with SMS, just use any number of characters you have available. Simple as that.</p>
<h3>Lack of tagging</h3>
<p>Like I mentioned above: it&#8217;s great to read messages from a certain event or about a topic I&#8217;m interested in. The downside here is that there&#8217;s no built-in way to tag or categorize your comment, so creative people have started tagging content by adding keywords preceded by a hash (#) character. For example, if you wanted to tweet about JavaScript, you would write your message and then end it with <code>#javascript</code>.</p>
<p>They are then findable via the <a href="http://search.twitter.com/">Twitter Search</a>, which usually does its job but is far from optimal.</p>
<p>Naturally, since you already have the character limitation for messages and then use a number up for tagging, it means that by adding it to messages, the actual content will be even shorter.</p>
<h3>Short URLs</h3>
<p>Again, back to the character limitation. If you want to write a message and include a link, almost always you have to cut it short so it fits within 140 characters (through services like <a href="http://tinyurl.com/">TinyURL</a>, <a href="http://www.bitly.com/">bit.ly</a> etc). The result of this when reading messages is that you don&#8217;t know where the URL will lead, so you need to click it to find out. Some programs have started by expanding them when you click them, but that is still not a good user experience.</p>
<p>And, worst of all, is that what used to be URLs between web sites before, indexed by Google and with nice semantic text, we now have non-indexed, shortened URLs collected in a place where they almost immediately lose their meaning as soon as the moment is gone.</p>
<h3>Lack of image support</h3>
<p>Let&#8217;s say you&#8217;d want to complement your message with an image. Most applications for Twitter support adding it, but it will never be an option to show up inline in your message, Instead you get dependent on other services, like <a href="http://www.twitpic.com/">Twitpic</a>, where the images will be uploaded and your message will only contain links to the actual image.</p>
<h3>Different usage</h3>
<p>I think some people have gone overboard with their usage of Twitter. I&#8217;m glad they like it, I really am, but when it becomes the replacement for blog comments, bookmarking, <em>all</em> photo sharing etc, I find it way too much.</p>
<h2>Conclusion</h2>
<p>Twitter is great in the sense of fast communication and sharing things, and I&#8217;m very happy it exists. I definitely understand peoples&#8217; needs to share and mini-blog things without setting up a web site of their own, but in that aspect, I think <a href="http://www.tumblr.com/">Tumblr</a> is a much more versatile and useful service.</p>
<p>Unfortunately, I think Twitter is filled with numerous limitations people constantly try to abuse, which actually leads to making the web a less good place to use. We need the content on the web to be searchable and interconnected, with easy ways to go through any history, conversations and its likes.</p>
<p>So, my humble request is: use Twitter as much as you want <em>when</em> it makes sense and becomes usable to you and everyone interested in it. Please don&#8217;t try to make it into the ultimate tool for everything and into what it isn&#8217;t. No tool will live up to that.</p>
<h2>Me on various services</h2>
<p>If you think that, in any remote way, my ramblings are interested, you can follow me at:</p>
<ul>
<li><a href="http://twitter.com/robertnyman">Twitter</a></li>
<li><a href="http://robertnyman.tumblr.com/">Tumblr</a></li>
<li><a href="http://friendfeed.com/robertnyman">Friendfeed</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=OfdSgImOO1o:2rcVOMeQGIw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=OfdSgImOO1o:2rcVOMeQGIw:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=OfdSgImOO1o:2rcVOMeQGIw:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/09/my-thoughts-on-twitter/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/09/my-thoughts-on-twitter/</feedburner:origLink></item>
		<item>
		<title>Poll: which JavaScript library do you use?</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/ehoLAVcv42Q/</link>
		<comments>http://robertnyman.com/2009/06/08/poll-which-javascript-library-do-you-use/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 10:57:44 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Developing]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1342</guid>
		<description><![CDATA[I meet lots of developers working with different technologies and tools, and one thing that interests me is which, if any, JavaScript library they use.
Therefore, I thought we&#8217;d conduct a simple poll here to get a very basic feel of each library&#8217;s popularity and user base, and also how many that use a JavaScript library [...]]]></description>
			<content:encoded><![CDATA[<p>I meet lots of developers working with different technologies and tools, and one thing that interests me is which, if any, JavaScript library they use.</p>
<p>Therefore, I thought we&#8217;d conduct a simple poll here to get a very basic feel of each library&#8217;s popularity and user base, and also how many that use a JavaScript library at all.</p>
<p>Please enter your reply below:</p>
<p><script type="text/javascript" charset="utf-8" src="http://static.polldaddy.com/p/1688982.js"></script><noscript><a href="http://answers.polldaddy.com/poll/1688982/">Which JavaScript library do you use?</a>(<a href="http://answers.polldaddy.com">trends</a></noscript></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=ehoLAVcv42Q:4_mX4G12Qao:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=ehoLAVcv42Q:4_mX4G12Qao:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=ehoLAVcv42Q:4_mX4G12Qao:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/08/poll-which-javascript-library-do-you-use/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/08/poll-which-javascript-library-do-you-use/</feedburner:origLink></item>
		<item>
		<title>Geek Meet Charity June 4th 2009 was a success!</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/xs9DlrRipNY/</link>
		<comments>http://robertnyman.com/2009/06/05/geek-meet-charity-june-4th-2009-was-a-success/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 12:15:22 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Charity]]></category>

		<category><![CDATA[Developing]]></category>

		<category><![CDATA[Geek Meet]]></category>

		<category><![CDATA[HTML/XHTML]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1337</guid>
		<description><![CDATA[Yesterday we had Geek Meet Charity in Stockholm, and in my opinion, it was a great success!
I just wanted to give my sincerest thanks to everyone making Geek Meet last the great event it was!
We managed to raise a total of 17 490 SEK to charity, which I believe is a fantastic thing!
Also, thanks to [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday we had Geek Meet Charity in Stockholm, and in my opinion, it was a great success!</p>
<p>I just wanted to give my sincerest thanks to everyone making Geek Meet last the great event it was!<br />
We managed to raise a total of <strong>17 490</strong> SEK to charity, which I believe is a fantastic thing!</p>
<p>Also, thanks to <a href="https://twitter.com/icaaq">Isac</a> and everyone at <a href="http://creuna.se/">Creuna</a> for putting together such a good event where the arrangements and everything around it go extremely smooth.</p>
<p>An extra thank you to <a href="http://remysharp.com/">Remy</a> and <a href="http://my.opera.com/chrismills/blog/">Chris</a> for taking the time to contribute to such a good thing! The <a href="http://my.opera.com/chrismills/blog/2009/06/05/swedish-geek-meet-slides">slides are available for download</a> now.</p>
<h2>Extra contributions</h2>
<p>There were a few extra contributions last night:</p>
<p>The company <a href="http://nansen.se/">Nansen</a> were kind enough to give a donation of <strong>3 000</strong> SEK!</p>
<p>Personal contributions were:</p>
<ul>
<li>
 Kenneth Sundqvist - 500 SEK
 </li>
<li>
 <a href="http://israelsson.nu/">Jonas Israelsson - 300 SEK</a>
 </li>
<li>
Ulf Zethelius - 200 SEK
 </li>
<li>
 <a href="http://voxpelli.se/">Pelle Wessman</a> - 120 SEK
 </li>
</ul>
<h2>Noise</h2>
<p>If you want to read about <a href="http://search.twitter.com/search?q=%23geekmeetsthlm">what people thought about the event on Twitter</a>, or <a href="http://www.flickr.com/search/?q=geekmeetsthlm&amp;w=all">look at the pictures</a>, go ahead! </p>
<p>There is also a <a href="http://bambuser.com/node/218451">video available to watch of the entire event</a>!</p>
<p>If you want to partake, just make sure to tag your content with #geekmeetsthlm.</p>
<p>&nbsp;</p>
<p>See you next time!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=xs9DlrRipNY:-QyrGkv1lFc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=xs9DlrRipNY:-QyrGkv1lFc:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=xs9DlrRipNY:-QyrGkv1lFc:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/06/05/geek-meet-charity-june-4th-2009-was-a-success/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/06/05/geek-meet-charity-june-4th-2009-was-a-success/</feedburner:origLink></item>
		<item>
		<title>Getters and setters with JavaScript - code samples and demos</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/PS-3oz1ijtg/</link>
		<comments>http://robertnyman.com/2009/05/28/getters-and-setters-with-javascript-code-samples-and-demos/#comments</comments>
		<pubDate>Thu, 28 May 2009 16:11:37 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Developing]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1330</guid>
		<description><![CDATA[Not many people know it, but you can use &#8220;real&#8221; getters and setters in JavaScript if you want to.
De-facto offerings
Firefox 2.0+, Safari 3.0+, Google Chrome 1.0+ and Opera 9.5+ support a de-facto way of getters and setters:
var lost = {
	loc : "Island",
	get location () {
		return this.loc;
	},
	set location(val) {
		this.loc = val;
	}
};
lost.location = "Another island";

// lost.location will [...]]]></description>
			<content:encoded><![CDATA[<p>Not many people know it, but you can use &#8220;real&#8221; getters and setters in JavaScript if you want to.</p>
<h2>De-facto offerings</h2>
<p>Firefox 2.0+, Safari 3.0+, Google Chrome 1.0+ and Opera 9.5+ support a de-facto way of getters and setters:</p>
<pre class="brush: js">var lost = {
	loc : "Island",
	get location () {
		return this.loc;
	},
	set location(val) {
		this.loc = val;
	}
};
lost.location = "Another island";

// lost.location will now return "Another island"</pre>
<p>And on DOM elements:</p>
<pre class="brush: js">HTMLElement.prototype.__defineGetter__("description", function () {
	return this.desc;
});
HTMLElement.prototype.__defineSetter__("description", function (val) {
	this.desc = val;
});
document.body.description = "Beautiful body";

// document.body.description will now return "Beautiful body";</pre>
<h2>Via <code>Object.defineProperty</code></h2>
<p>The future, and ECMAScript standardized way, of extending objects in all sorts of ways is through <code>Object.defineProperty</code>. This is how Internet Explorer chose to implement getters and setters, but it is unfortunately so far only available in Internet Explorer 8, and not in any other web browser. Also, IE 8 only supports it on DOM nodes, but future versions are planned to support it on JavaScript objects as well.</p>
<p>Getter and setters in IE8+:</p>
<pre class="brush: js">Object.defineProperty(document.body, "description", {
	get : function () {
		return this.desc;
	},
	set : function (val) {
		this.desc = val;
	}
});
document.body.description = "Content container";

// document.body.description will now return "Content container"</pre>
<h2>Test cases</h2>
<p>I&#8217;ve put together test cases in my <a href="http://robertnyman.com/javascript/">JavaScript test site</a>, where you can see <a href="http://robertnyman.com/javascript/#javascript-getters-setters-object-defineproperty-compatibility">JavaScript web browser compatibility tables</a> and <a href="http://robertnyman.com/javascript/javascript-getters-setters.html">code samples and demos for getters and setters together with <code>Object.defineProperty</code></a>.</p>
<h2>Conclusion</h2>
<p>Kudos for Microsoft to take the step to implement <code>Object.defineProperty</code>, although it&#8217;s sad that it&#8217;s only available for DOM elements as of now. Also, just as we have consistency between web browsers with <code>innerHTML</code>, <code>XMLHTTPRequest</code> etc, it would have been really desirable if Microsoft would have supported the several years-old de-facto way of implementing getters and setters.</p>
<p>So, Microsoft slowly treads forward, which is good, but at the same unfortunately gives us yet another case of doing something different to make it work in Internet Explorer (more about this can be read in <a href="http://annevankesteren.nl/2009/01/gettters-setters">ECMAScript getters and setters interoperability</a>).</p>
<p>Anyway, getters and setters are here today, and with some feature detection, you can use it to implement some nice things. Happy coding! <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=PS-3oz1ijtg:SUfcj_XXSoQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=PS-3oz1ijtg:SUfcj_XXSoQ:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=PS-3oz1ijtg:SUfcj_XXSoQ:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/05/28/getters-and-setters-with-javascript-code-samples-and-demos/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/05/28/getters-and-setters-with-javascript-code-samples-and-demos/</feedburner:origLink></item>
		<item>
		<title>Four years</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/Uy1bWNvXyq8/</link>
		<comments>http://robertnyman.com/2009/05/27/four-years/#comments</comments>
		<pubDate>Wed, 27 May 2009 14:15:17 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Personal/life]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1328</guid>
		<description><![CDATA[Not exactly today, but about a month ago marked my four-year anniversary as a blogger.
I could get all nostalgic, bring up lots of things I&#8217;ve written about and link-bomb all day. But I won&#8217;t. Let me just say that I&#8217;m very happy I started blogging, because I have gotten in contact with so many fantastic [...]]]></description>
			<content:encoded><![CDATA[<p>Not exactly today, but about a month ago marked my four-year anniversary as a blogger.</p>
<p>I could get all nostalgic, bring up lots of things I&#8217;ve written about and link-bomb all day. But I won&#8217;t. Let me just say that I&#8217;m very happy I started blogging, because I have gotten in contact with so many fantastic people, it has given me lots of opportunities and it has literally improved my life a lot! <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>In these four years, I have written 669 blog posts and gotten 17 342 comments. Not too shabby. <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> And, I have only been threatened to be sued once (don&#8217;t ask. really.), so I guess it&#8217;s all ok.</p>
<p>My sincere thanks to your for reading, and I hope we can continue to help and inspire each other in the future.</p>
<p>Here&#8217;s to four more years (at least!)!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=Uy1bWNvXyq8:PLgy2rl-j8U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=Uy1bWNvXyq8:PLgy2rl-j8U:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=Uy1bWNvXyq8:PLgy2rl-j8U:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/05/27/four-years/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/05/27/four-years/</feedburner:origLink></item>
		<item>
		<title>Serious memory leak issue with 24-bit PNG images with alpha transparency in Internet Explorer</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/HtQp96PgakA/</link>
		<comments>http://robertnyman.com/2009/05/26/serious-memory-leak-issue-with-24-bit-png-images-with-alpha-transparency-in-internet-explorer/#comments</comments>
		<pubDate>Tue, 26 May 2009 14:53:54 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Developing]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1325</guid>
		<description><![CDATA[In my day job (i.e. the one paying the bills), I encountered a very serious problem in Internet Explorer, which turned out to be a show-stopper in my current project.
Basically, I&#8217;m working with a tool for editors where they can open up a sort of wizard/dialog on top of the regular document. In good modern [...]]]></description>
			<content:encoded><![CDATA[<p>In my day job (i.e. the one paying the bills), I encountered a very serious problem in Internet Explorer, which turned out to be a show-stopper in my current project.</p>
<p>Basically, I&#8217;m working with a tool for editors where they can open up a sort of wizard/dialog on top of the regular document. In good modern fashion, this is naturally an overlay where the rest of document is dimmed out. The designer had created a sort of checkered background for the dimming, so I cut that image into a small 4 * 4 pixels wide 24-bit PNG image with alpha transparency (i.e. semi-transparent background, no matter what would be behind it). I then repeated that image as the background for the dialog.</p>
<p>We deployed it, it looked good and we went on with our lives. But gradually a number of reports came in that this page was dog slow to work with, you couldn&#8217;t even scroll and it would literally take seconds when you clicked a link before anything happened. Also, worth to note is that this only applied to Internet Explorer users (IE 7).</p>
<p>I really had no clue why this would be, because we were doing (or at least trying to do) all the right things with optimizing scripts, minimizing DOM access etc. Desperately thinking about what it could be, I remembered from before that transparency can make things slow, but never like this.</p>
<p>Just to see if it made any difference, I replaced the PNG image with a background color and opacity via CSS (and used the <a href="http://robertnyman.com/2008/09/16/you-want-css-opacity-to-go-with-that-well-suit-yourself/">ridiculous code to get opacity in Internet Explorer</a>). We deployed the code and awaited the news of any change.</p>
<p>Lo and behold, all performance problems were gone as if they had never existed! So, my word of warning to you is:</p>
<p>Be very <em>very</em> careful when you use 24-bit PNG images with alpha transparency in Internet Explorer, because apparently there is some serious memory leak issue/bug with it.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=HtQp96PgakA:MzO5K_PIUn0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=HtQp96PgakA:MzO5K_PIUn0:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=HtQp96PgakA:MzO5K_PIUn0:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/05/26/serious-memory-leak-issue-with-24-bit-png-images-with-alpha-transparency-in-internet-explorer/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/05/26/serious-memory-leak-issue-with-24-bit-png-images-with-alpha-transparency-in-internet-explorer/</feedburner:origLink></item>
		<item>
		<title>Mozilla/Maemo Danish Weekend May 30th-31st - addition to my two weeks of speak</title>
		<link>http://feedproxy.google.com/~r/robertnyman/~3/PZzhDo6MgIE/</link>
		<comments>http://robertnyman.com/2009/05/20/mozillamaemo-danish-weekend-may-30th-31st-addition-to-my-two-weeks-of-speak/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:08:05 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
		
		<category><![CDATA[Developing]]></category>

		<category><![CDATA[Firefox extensions]]></category>

		<category><![CDATA[Mozilla]]></category>

		<category><![CDATA[Speaking]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Travel]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://robertnyman.com/?p=1313</guid>
		<description><![CDATA[End of May/beginning of June will be very busy for me indeed. There will be a number of speaking engagements for me, and I&#8217;d like you to know about another one: Mozilla/Maemo Danish Weekend.
It is a joint event between Maemo and Mozilla, and it will take place May 30th - 31st in Copenhagen, Denmark. If [...]]]></description>
			<content:encoded><![CDATA[<p>End of May/beginning of June will be very busy for me indeed. There will be a number of speaking engagements for me, and I&#8217;d like you to know about another one: <a href="http://wiki.maemo.org/MozillaMaemoDanishWeekend">Mozilla/Maemo Danish Weekend</a>.</p>
<p>It is a joint event between Maemo and Mozilla, and it will take place May 30th - 31st in Copenhagen, Denmark. If you&#8217;re interested or already involved of some sorts, there will be a number of interesting talks and information about <a href="https://wiki.mozilla.org/Fennec">Fennec</a> (Firefox on mobile platforms) and Maemo 5.</p>
<p>There will be a number of Mozilla talks, where the latest information is available in the <a href="http://wiki.maemo.org/MozillaMaemoDanishWeekend/MozillaTopics">schedule</a>. I will do a talk about developing Firefox extensions, and hope to give a good introduction and vital basic information to succeed with that.</p>
<p>If you are in or near Copenhagen that weekend, and this sounds interesting, make sure to <a href="http://events.mozilla-europe.org/event/?id=6">register now</a>!</p>
<h2>Other spring speaking</h2>
<p>Together with this lovely event, I will have a total of four speaking performances in 10 days. Quite a mental challenge to get prepared. <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li>May 25th: <a href="http://www.swdc2009.com/index_en.html">Swedish Web Developer Conference 2009</a></li>
<li>June 2nd: <a href="https://wiki.mozilla.org/SwedishMeetup">Mozilla Swedish Community Meetup</a></li>
<li><a href="http://robertnyman.com/2009/05/04/geek-meet-charity-june-4th-2009-chris-mills-and-remy-sharp-speaking/">Geek Meet Charity</a> (my speaking part will be short, but it still counts <img src='http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/robertnyman?a=PZzhDo6MgIE:eb97ticL2q0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/robertnyman?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/robertnyman?a=PZzhDo6MgIE:eb97ticL2q0:I2FUP0JpNAM"><img src="http://feeds.feedburner.com/~ff/robertnyman?i=PZzhDo6MgIE:eb97ticL2q0:I2FUP0JpNAM" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://robertnyman.com/2009/05/20/mozillamaemo-danish-weekend-may-30th-31st-addition-to-my-two-weeks-of-speak/feed/</wfw:commentRss>
		<feedburner:origLink>http://robertnyman.com/2009/05/20/mozillamaemo-danish-weekend-may-30th-31st-addition-to-my-two-weeks-of-speak/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 76.257 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-07-09 17:24:37 --><!-- Compression = gzip -->
