<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <link href="https://friendlybit.com/feed/" rel="self" type="application/atom+xml" />
    <link href="https://friendlybit.com/" rel="alternate" type="text/html" />
    <updated>2012-01-08T15:28:49+01:00</updated>
    <id>https://friendlybit.com</id>
    <title type="html">Friendly Bit - Web development blog</title>
    <subtitle>Friendly Bit is a blog by Emil Stenström, a Swedish web developer that occasionally gets ideas of how to improve the internet.</subtitle>
    
        <entry>
            <title type="html">Partial XMLHttpRequest responses?</title>
            <link href="http://friendlybit.com/js/partial-xmlhttprequest-responses/" rel="alternate" type="text/html" title="Partial XMLHttpRequest responses?" />
            <published>2012-01-08T15:28:49+01:00</published>
            <updated>2012-01-08T15:28:49+01:00</updated>
            <id>http://friendlybit.com/js/partial-xmlhttprequest-responses/</id>
            <author>
                <name>Emil Stenström</name>
            </author>
            <summary type="text">We all know how to make an AJAX request, and fetch some data. But as soon as you need to fetch data incrementally, have the server push data to you, you...</summary>
            <content type="html" xml:base="http://friendlybit.com/js/partial-xmlhttprequest-responses/">
                &lt;p&gt;We all know how to make an AJAX request, and fetch some data. But as soon as you need to fetch data incrementally, have the server push data to you, you have to resort to all sorts of complicated stuff. Websockets; with all their different versions and shady support, different kinds of polling, hidden iframes, ActiveX for IE?&lt;/p&gt;
&lt;p&gt;The simplest way, that almost workds is partial XMLHttpRequest responses. I first read about them as &lt;a href=&#34;http://www.kylescholz.com/blog/2010/01/progressive_xmlhttprequest_1.html&#34;&gt;progressive xmlhttprequests on Kyle Schulz blog&lt;/a&gt;, but really think that method should get more recognition.&lt;/p&gt;
&lt;p&gt;Note: I&#39;ve only tested this with Webkit, against Twitter&#39;s Streaming API, with a XMLHttpRequest that allows cross-domain requests. I think it works with Firefox too, but it will definitely not work in IE. Sorry.&lt;/p&gt;
&lt;div class=&#34;highlight&#34; data-language=&#34;JS&#34;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;xhr&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;ow&#34;&gt;new&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;XMLHttpRequest&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;quot;&amp;lt;streaming-url-on-you-own-domain-or-CORS&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;span class=&#34;nx&#34;&gt;xhr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;span class=&#34;nx&#34;&gt;xhr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;send&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;span class=&#34;c1&#34;&gt;// Define a method to parse the partial response chunk by chunk&lt;/span&gt;
&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;last_index&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;parse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;curr_index&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;xhr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;responseText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;last_index&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;curr_index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// No new data&lt;/span&gt;
&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;xhr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;responseText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;substring&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;last_index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;curr_index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;last_index&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;curr_index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;span class=&#34;c1&#34;&gt;// Check for new content every 5 seconds&lt;/span&gt;
&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;interval&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;setInterval&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;parse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;5000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;span class=&#34;c1&#34;&gt;// Abort after 25 seconds&lt;/span&gt;
&lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;clearInterval&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;interval&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;parse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;xhr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;abort&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;25000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The biggest problem with this method is that the responseText property keeps filling up with data. The longer you receive data, the bigger the data in memory will be. The only way I can see this fixed (today) is to simply kill the connection after a certain amount of data has been received, and open it up again.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I would love to see a better way to do this&lt;/strong&gt;, from native javascript, without all the numerous hacks that are out there. If you know of a way that fills these requirements, please let me know:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Easy to implement on the &lt;strong&gt;client side&lt;/strong&gt;. Ideally I would like to use XMLHttpRequest, and just get a callback each time the client sends data, with the NEW data specified as a callback parameter.&lt;/li&gt;
&lt;li&gt;Easy to implement on the &lt;strong&gt;server-side&lt;/strong&gt;. I can set some headers if you make me, but ideally I would like to use this against existing Streaming APIs (like Twitter&#39;s), without adding custom stuff.&lt;/li&gt;
&lt;li&gt;As cross-browser, cross-platform as possible.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Is there a way to get this working? It&#39;s so annoying to see something that&#39;s a curl one-liner, be 100s of lines of code with web technologies…&lt;/p&gt;
&lt;div class=&#34;highlight&#34; data-language=&#34;BASH&#34;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;curl&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;https://stream.twitter.com/1/statuses/filter.json?track&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;your-keyword&amp;gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;-u&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&amp;lt;your-twitter-nick&amp;gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Is the web really that far behind?&lt;/strong&gt;&lt;/p&gt;

            </content>
        </entry>
    
        <entry>
            <title type="html">Geolocation and Google maps</title>
            <link href="http://friendlybit.com/js/geolocation-and-google-maps/" rel="alternate" type="text/html" title="Geolocation and Google maps" />
            <published>2011-06-18T14:11:11+02:00</published>
            <updated>2011-06-18T14:11:11+02:00</updated>
            <id>http://friendlybit.com/js/geolocation-and-google-maps/</id>
            <author>
                <name>Emil Stenström</name>
            </author>
            <summary type="text">Image by heiwa4126 via Flickr Google Maps has has geolocation support for a long time, but I still find people surprised of how it all works. So here&#39;s a...</summary>
            <content type="html" xml:base="http://friendlybit.com/js/geolocation-and-google-maps/">
                &lt;div class=&#34;zemanta-img&#34;&gt;
  &lt;figure style=&#34;width: 240px&#34; class=&#34;wp-caption alignright&#34;&gt;&lt;a href=&#34;http://www.flickr.com/photos/57552634@N00/3791431635&#34;&gt;&lt;img title=&#34;Google Maps Marker in Tokyo&#34; src=&#34;/files/post-media/3791431635_c722c1d51a_m.jpg&#34; alt=&#34;Google Maps Marker in Tokyo&#34; width=&#34;240&#34; height=&#34;120&#34; /&gt;&lt;/a&gt;&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Image by heiwa4126 via Flickr&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;Google Maps has has geolocation support for a long time, but I still find people surprised of how it all works. So here&#39;s a short writeup, skip it if you already know all about geolocation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lets start&lt;/strong&gt; at the &lt;a title=&#34;Google Maps&#34; rel=&#34;homepage&#34; href=&#34;http://maps.google.com/&#34;&gt;Google Maps&lt;/a&gt; frontpage. Among the zoom controls, above the little old man, there&#39;s a button in the form of a small circle. It does not look like much, but what it&#39;s doing is incredibly cool. Click it and the map moves to where you are, with an accuracy of ~20 meters. Sci-fi crazy!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How does it work?&lt;/strong&gt; In the newer browsers (all but IE6, IE7, or IE8) may ask you for your positioning information from the browser. It usually shows up as a bar at the top of the browser. The browser then gathers two specific forms of positioning information from your computer: your &lt;strong&gt;IP address&lt;/strong&gt; and the &lt;strong&gt;signal strength of any wireless network&lt;/strong&gt; near you. That information is then sent, if you approve it, to Google, which returns the coordinates you are at the moment.&lt;/p&gt;
&lt;p&gt;Google can do this because they&#39;ve been driving around with their street view cars all over the world, and measured signal strength of WiFi networks (public and private) at each specific location. Now they can use that information, combined with your local signal strength conditions, to triangulate their way to where you are. And it&#39;s both accurate and fast.&lt;/p&gt;
&lt;p&gt;If your wireless reciever is turned off, or you&#39;re at a stationary computer, all calculations are based on the IP number. These kind of lookups are quite arbitrary and inaccurate, I just get to the nearest big city when trying to use it over a non-wireless line. But mobile connections are slowly taking over landlines, so I guess this problem will solve itself automatically.&lt;/p&gt;
&lt;p&gt;The best kind of technology throws you forward in time, and make your realize that we&#39;re actually making progress. Geolocation has feel to it.&lt;/p&gt;
&lt;p&gt;Looking for the techy explaination of geolocation? Have a look at &lt;a href=&#34;http://robertnyman.com/2010/03/15/geolocation-in-web-browsers-to-find-location-google-maps-examples/&#34;&gt;Robert Nyman&#39;s writeup&lt;/a&gt;.&lt;/p&gt;

            </content>
        </entry>
    
        <entry>
            <title type="html">Will newspapers die?</title>
            <link href="http://friendlybit.com/modern-web/will-newspapers-die/" rel="alternate" type="text/html" title="Will newspapers die?" />
            <published>2011-02-09T00:41:17+01:00</published>
            <updated>2011-02-09T00:41:17+01:00</updated>
            <id>http://friendlybit.com/modern-web/will-newspapers-die/</id>
            <author>
                <name>Emil Stenström</name>
            </author>
            <summary type="text">A journalism student in Toronto, Canada, asked me some questions via e-mail about my old article about newspapers and online reading. Instead of just...</summary>
            <content type="html" xml:base="http://friendlybit.com/modern-web/will-newspapers-die/">
                &lt;p&gt;A journalism student in Toronto, Canada, asked me some questions via e-mail about my old article about &lt;a href=&#34;/modern-web/why-people-skip-newspapers-and-read-news-on-the-web-instead/&#34;&gt;newspapers and online reading&lt;/a&gt;. Instead of just sending an e-mail out in the void I thought I&#39;d persist my answers here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Do you think it would be best for newspaper publications to get rid of their print and go strictly online only? Why or why not?&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think they should keep their print papers for a while longer. It&#39;s a simple question of profit and catering to what users want. If you have thousands of users that want their paper, and it&#39;s economically justifiable, just keep it.&lt;/p&gt;
&lt;p&gt;The tricky part is determining how much loss in paper subscribers you should tolerate before shutting down the huge printing presses. I have no good answer to that other than to know your numbers. Paper profit needs to cover paper printing and distribution. Journalism costs can be split between channels. Do the math.&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Many people believe newspapers are dying and eventually will no longer exist. What are your thoughts on this?&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think they will persist, just not their paper versions. Many of them are looking at dwindling subscription numbers, year after year, and are trying to figure out what to do. How do you move to the digital worlds while keeping quality, relevance, and profit.&lt;/p&gt;
&lt;p&gt;The iPad is one way to get people to pay for news again, and some newspapers are seeing success doing that. Over a longer haul just the iPad won&#39;t be enough, you need to be able to deliver your news to wherever your customers want them. Generally, this means being able to get your content on all kinds of devices, both mobile and desktop. The only format that can really do that, and still deliver a somewhat consistent design across devices, is HTML and CSS. Building one native app for each platform is just not worth it.&lt;/p&gt;
&lt;p&gt;So it&#39;s simple really: newspapers that figure out how to transition to digital (while still getting paid enough to afford quality journalism) will persist, all others will (slowly) die. This means an end to both paper-only newspapers, and those that fail to find the right payment model.&lt;/p&gt;

            </content>
        </entry>
    
        <entry>
            <title type="html">My iPad – a short review</title>
            <link href="http://friendlybit.com/modern-web/my-ipad-a-short-review/" rel="alternate" type="text/html" title="My iPad – a short review" />
            <published>2010-04-25T20:33:32+02:00</published>
            <updated>2010-04-25T20:33:32+02:00</updated>
            <id>http://friendlybit.com/modern-web/my-ipad-a-short-review/</id>
            <author>
                <name>Emil Stenström</name>
            </author>
            <summary type="text">About two weeks ago, I got my hands on an iPad. For those of you who have been living under a rock for the last months, and iPad is something that looks...</summary>
            <content type="html" xml:base="http://friendlybit.com/modern-web/my-ipad-a-short-review/">
                &lt;p&gt;About two weeks ago, I got my hands on an iPad. For those of you who have been living under a rock for the last months, and &lt;a href=&#34;http://www.apple.com/ipad/&#34;&gt;iPad&lt;/a&gt; is something that looks like a big iPhone, but behaves much like a small laptop.&lt;/p&gt;
&lt;p&gt;Since people who just spent over $500 for a toy, are very subjective in their judging (buying something bad would make you look stupid!), you have to take this review for what it is: Me trying to justify buying an expensive toy. To help my mind balance things a bit, I&#39;m going to talk about two good things, and two bad things about the iPad.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#ipad_ui&#34;&gt;&lt;strong&gt;Good&lt;/strong&gt;: Looks, UI and surfing the web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#ipad_developer&#34;&gt;&lt;strong&gt;Bad&lt;/strong&gt;: A horrible Developer Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#ipad_games&#34;&gt;&lt;strong&gt;Good&lt;/strong&gt;: Games that use the touch interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#ipad_itunes&#34;&gt;&lt;strong&gt;Bad&lt;/strong&gt;: Downloading apps through iTunes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;#ipad_summary&#34;&gt;Summary&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ipad_ui&#34;&gt;Good: Looks, UI and surfing the web&lt;a href=&#34;#ipad_ui&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;figure id=&#34;attachment_597&#34; style=&#34;width: 300px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  [&lt;img class=&#34;size-medium wp-image-597 &#34; title=&#34;iPad and Banana&#34; src=&#34;/files/post-media/ipad_and_banana-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34;&gt;](/files/post-media/ipad_and_banana.jpg)
  &lt;figcaption class=&#34;wp-caption-text&#34;&gt;An iPad, here shown next to a old banana for comparison. Click for bigger image.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The area where the iPad really shines is when it comes to the look and feel. It&#39;s simply gorgeous, feels good in your hand, and makes all your friends instantly drool (like you expect them to). The screen is as sharp (or sharper) than a computer monitor, and its brightness could light up a dark room.&lt;/p&gt;
&lt;p&gt;Working with it is just as pleasant. You click, swipe, pinch and type, like you&#39;ve done nothing nothing else in your life. As someone who haven&#39;t used an iPhone before, I&#39;m impressed. Those that have, say that the iPad is even snappier than the iPhone. Some application are of course better fit for a touch interface than others. Google Maps is one of them, when a large display combined with panning and zooming makes the old arrow and zoom buttons on the traditional Google Maps interface feel like stone-age.&lt;/p&gt;
&lt;p&gt;They keyboard surprised me by being even better than I expected. In landscape mode it&#39;s almost as large as a laptop keyboard, and in some cases even faster than a traditional keyboard since you don&#39;t have to push, just touch the buttons. The biggest keyboard problem though is of course that you usually only have one hand available. When you have two hands, it&#39;s great.&lt;/p&gt;
&lt;p&gt;Another area where the iPad really works is as &lt;strong&gt;a window to the web&lt;/strong&gt;. Safari comes pre-installed (Microsoft monopoly anyone?) but works like a charm. Pages load quickly, and swiping to scroll and pinch to zoom works just like it should.&lt;/p&gt;
&lt;p&gt;Web standards are well supported, like you expect from Safari. But some new problems emerge when looking at HTML5 demos though:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Safari inside the iPad isn&#39;t as performant as a desktop browser. So there&#39;s lots of lagging when trying to rotate things in advanced ways.&lt;/li&gt;
&lt;li&gt;Even though Apple has decided to ban Flash and pick a fight with Adobe, many new apps are built to take advantage of the mouse moving around. On the iPad, there&#39;s no mouse pointer, so you have to simulate one by touching the screen and moving the finger around.&lt;/li&gt;
&lt;li&gt;Keyboard navigation is strange, because most of the time, you don&#39;t have a keyboard. The keyboard only shows up only when you focus a text field, at other times, you&#39;re lost.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These things sound like annoyances, and they are, but they are also quite minor. For all the surfing you usually do, the iPad works just like it should.&lt;/p&gt;
&lt;h2 id=&#34;ipad_developer&#34;&gt;Bad: A horrible Developer Platform&lt;a href=&#34;#ipad_developer&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As you&#39;ve probably heard during the last few weeks, Apple have no clue whatsoever about how to cultivate a vibrant developer community. Let&#39;s look at the facts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To distribute your app you need to join the iPhone Developer Program, that costs you $99-$299 per year.&lt;/li&gt;
&lt;li&gt;To download the SDK you need to fill out a huge multi-step form (where almost all fields are required), and where you&#39;re asked to give away lots of personal information.&lt;/li&gt;
&lt;li&gt;When you &amp;quot;publish&amp;quot; your app it has to go through a manual approval process, which could take months if you are unlucky.&lt;/li&gt;
&lt;li&gt;You need to approve to a ridiculous legal statement preventing you from using some programming languages, and making calls to some APIs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To quote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Needless to say, &lt;strong&gt;I&#39;m never going to be develop anything for the Apple Platform&lt;/strong&gt;. Apple and its developers is much like one big company (with strict rules). The only difference is that instead of a salary the developers get to pay to work for them. Good for Apple, horrible for developers.&lt;/p&gt;
&lt;h2 id=&#34;ipad_games&#34;&gt;Good: Games that use the touch interface&lt;a href=&#34;#ipad_games&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There are lots of good games that have started to take advantage of the big touch surface to make fun interaction styles possible.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://itunes.apple.com/us/app/tap-tap-radiation/id364160328?mt=8&#34;&gt;Tap Tap Radiation&lt;/a&gt; builds on you tapping the screen in pace with the music playing. The place to hit move around, just like the markers that indicate where to tap.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://itunes.apple.com/us/app/id363998989?mt=8&#34;&gt;Asphalt 5&lt;/a&gt; is a beautiful racing game where you use the iPad as a steering wheel and tilt it back and fourth to steel. Since the accelerometer is so sensitive it works remarkably well.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://itunes.apple.com/se/app/n-o-v-a-near-orbit-vanguard/id343596730?mt=8&#34;&gt;N.O.V.A. - Near Orbit Vanguard Alliance&lt;/a&gt; is a first person shooter that uses gestures to control who you shoot and how. Advanced gestures makes it possible to throw grenades that fly around corners, and targeting multiple enemies at once.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Simply put, there are lots of fun games for the iPad, and the reason is experimentation with the touch interface. Combine this with several days of battery power, and you have many hours of fun ahead of you.&lt;/p&gt;
&lt;h2 id=&#34;ipad_itunes&#34;&gt;Bad: Downloading apps through iTunes&lt;a href=&#34;#ipad_itunes&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;figure id=&#34;attachment_601&#34; style=&#34;width: 152px&#34; class=&#34;wp-caption alignleft&#34;&gt;
  [&lt;img class=&#34;size-medium wp-image-601&#34; title=&#34;iPad closeup&#34; src=&#34;/files/post-media/ipad_closeup-225x300.jpg&#34; alt=&#34;&#34; width=&#34;152&#34; height=&#34;203&#34;&gt;](/files/post-media/ipad_closeup.jpg)
  &lt;figcaption class=&#34;wp-caption-text&#34;&gt;A closer look at the iPad, still with the banana present. Click for bigger image.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Sadly, the only way to get apps legally into the iPad is through iTunes. Since my iPad was bought in the US, the App Store icon leads to a &amp;quot;Your request could not be completed&amp;quot; with no further info. So it seems that the App Store is only launched in the US. Silly me, that thought the web was an international thing.&lt;/p&gt;
&lt;p&gt;Anyway, it is possible to get apps into the iPad without getting a fake american App Store account. You just use iTunes to download the apps to a desktop computer, and then sync your app to the iPad. It&#39;s easy.&lt;/p&gt;
&lt;p&gt;Well, strike that, using the iTunes store is not easy. Not being a previous iPhone using I had thought that downloading apps from iTunes was like shopping on Amazon. &lt;strong&gt;IT&#39;S NOT EVEN CLOSE&lt;/strong&gt;. This is how Apple built iTunes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Take one  fully functional e-commerce web site.&lt;/li&gt;
&lt;li&gt;Make it slow so that people like me that surf on a 100 Mbit/s fibre connection have to wait several seconds after each click.&lt;/li&gt;
&lt;li&gt;Make sure you can only access the store through a special downloadable app, that requires you sign several legal agreements, and leave away personal information, before you even bought anything.&lt;/li&gt;
&lt;li&gt;Remove the possibility to sort through listings, remove any information what the list is currently sorted by, and hide options to only show apps for the device they know you just connected (the iPad).&lt;/li&gt;
&lt;li&gt;Tada! You&#39;ve built iTunes!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Needless to say, each visit to the iTunes App Store is a bad experience, and no something you want to do often.&lt;/p&gt;
&lt;h2 id=&#34;ipad_summary&#34;&gt;Summary&lt;a href=&#34;#ipad_summary&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Situations where I see myself using my iPad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In bed, watching public television through Svtplay. They have a great app, that is mainly adapted for iPhone, but scales up when used on a bigger screen.&lt;/li&gt;
&lt;li&gt;Casually surfing the web from the couch. This includes checking my e-mail (which is IMAP over SSL, which works fine), checking my feeds through Google Reader, checking Facebook through the iPhone app (which can be pixel-doubled to fit the screen nicely), and twitter through twitterific.&lt;/li&gt;
&lt;li&gt;Surfing all kinds of maps, and wikipedia in some social context. If I ever get into an argument about where a country is exactly, I&#39;m pull up my iPad instantly and check it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And that concludes this iPad review.&lt;/p&gt;
&lt;figure id=&#34;attachment_607&#34; style=&#34;width: 300px&#34; class=&#34;wp-caption alignnone&#34;&gt;
  [&lt;img class=&#34;size-medium wp-image-607&#34; title=&#34;iPad turned off&#34; src=&#34;/files/post-media/ipad_off_and_banana-300x225.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;225&#34;&gt;](/files/post-media/ipad_off_and_banana.jpg)
  &lt;figcaption class=&#34;wp-caption-text&#34;&gt;iPad rests here, next to banana.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;As usual I&#39;m looking forward to &lt;strong&gt;your thoughts in the comments&lt;/strong&gt;. Thanks for reading!&lt;/p&gt;

            </content>
        </entry>
    
        <entry>
            <title type="html">Why people skip newspapers and read news on the web instead</title>
            <link href="http://friendlybit.com/modern-web/why-people-skip-newspapers-and-read-news-on-the-web-instead/" rel="alternate" type="text/html" title="Why people skip newspapers and read news on the web instead" />
            <published>2009-06-25T22:44:12+02:00</published>
            <updated>2009-06-25T22:44:12+02:00</updated>
            <id>http://friendlybit.com/modern-web/why-people-skip-newspapers-and-read-news-on-the-web-instead/</id>
            <author>
                <name>Emil Stenström</name>
            </author>
            <summary type="text">You can&#39;t be involved with what&#39;s happening on the internet without coming in contact with the &#34;newspaper crisis&#34; somehow. From a business perspective it&#39;s...</summary>
            <content type="html" xml:base="http://friendlybit.com/modern-web/why-people-skip-newspapers-and-read-news-on-the-web-instead/">
                &lt;p&gt;You can&#39;t be involved with what&#39;s happening on the internet without coming in contact with the &amp;quot;newspaper crisis&amp;quot; somehow. From a business perspective it&#39;s simple really: Much fewer people buy newspapers (on paper) nowadays. Please note that this has very little to do with advertisement or business models, I&#39;m talking about newspapers from the user perspective here.&lt;/p&gt;
&lt;p&gt;Internet is really a commodity nowadays. People process loads of  information on the web every day, and this of course affects how they expect newspapers to behave. Every time I hold a big newspaper in my hands I&#39;m surprised at how inferior it is compared to reading news on the web.&lt;/p&gt;
&lt;h2 id=&#34;newspapers-have-problems-with-references&#34;&gt;Newspapers have problems with references&lt;a href=&#34;#newspapers-have-problems-with-references&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If I find an interesting news story on the front page, it&#39;s a mess finding the full article in there. The references are done with page numbers, but with page numbers that are local to a certain part of the paper. &amp;quot;Culture, page 7&amp;quot;. And the culture part is stacked inside the part I&#39;m reading, so I first have to find that one, then find the page numbers (which are removed from pages with ads), and then finally find the article I wanted.&lt;/p&gt;
&lt;p&gt;The same is true for related articles. If I read an article I like, it&#39;s quite likely that I want to read other articles on the same subject. Newspapers solve this today by placing similar articles close to each other, and hope that you see them. This is of course limited, and gets harder when pages sizes shrink.&lt;/p&gt;
&lt;p&gt;Compare this with clicking a link on the web. If I find an interesting article teaser, I click it, and am instantly taken to the full article. If that article was indeed as interesting as the teaser suggested, I&#39;m often presented with similar articles, from similar categories, and can click them to move there.&lt;/p&gt;
&lt;h2 id=&#34;newspapers-are-slow&#34;&gt;Newspapers are slow&lt;a href=&#34;#newspapers-are-slow&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Even the most frequently published papers are only distributed once per day. This simply means that papers can&#39;t compete on speed, being first with a certain story. Even if you happen to get your hands on a story at the perfect time, a paper still have to be both printed, and distributed to people. This takes hours.&lt;/p&gt;
&lt;p&gt;What&#39;s worse, morning newspapers brand themselves as dealing with  &amp;quot;today&#39;s news&amp;quot;, when in fact it&#39;s the news from yesterday. This hasn&#39;t been a problem before, since there was no faster way to get news. Now there is.&lt;/p&gt;
&lt;p&gt;If speed is important to you, you can easily subscribe to news via e-mail, Twitter or RSS, and be instantly updated.&lt;/p&gt;
&lt;h2 id=&#34;newspapers-are-static&#34;&gt;Newspapers are static&lt;a href=&#34;#newspapers-are-static&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Articles in a newspaper are, once published, not possible to update and improve. They are left for the wind, even though there are inaccuracies or important clarifications to be made. Any conversation sparked won&#39;t be there.&lt;/p&gt;
&lt;p&gt;This is of course the strongest argument for internet news. A big article will be different if you look at it later the same day. Comments and updates based on feedback are able to improve articles considerably.&lt;/p&gt;
&lt;h2 id=&#34;newspapers-dont-have-enough-unique-content&#34;&gt;Newspapers don&#39;t have enough unique content&lt;a href=&#34;#newspapers-dont-have-enough-unique-content&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Big parts of daily newspapers contain poor rewrites, or plain copies, of articles from elsewhere. The reasoning is probably that they are trying to be exhaustive, give a broad view of what has happened. Problem is, they are hiding their own unique content behind loads of reposts of other&#39;s content.&lt;/p&gt;
&lt;p&gt;The same happens on the web, but instead of copying the article you link to it. Then you get to read the news from the real source, and dig in deeper if you want to. Additionally, there&#39;s safegards that stop people from copying other people&#39;s content. For instance, Google have special filters for filtering out duplicate content.&lt;/p&gt;
&lt;h2 id=&#34;newspapers-are-not-relevant-enough&#34;&gt;Newspapers are not relevant enough&lt;a href=&#34;#newspapers-are-not-relevant-enough&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The biggest reason why I don&#39;t subscribe to any newspapers is that they are not relevant enough. I&#39;m not one bit interested in sports, and still, during big sporting events newspapers push them to the front page, over interesting internet-related news; things I find interesting.&lt;/p&gt;
&lt;p&gt;The key here is of course to realize that relevancy is in the eye of the beholder. Only &lt;em&gt;I&lt;/em&gt; know what I find interesting, and relevant. Why trust someone else&#39;s relevancy ranking when I can easily get my own ranking online? Even if I don&#39;t want to tailor-pick RSS feeds and build my own custom news feed, there&#39;s someone out there that has more similar taste than the four major newspapers here.&lt;/p&gt;
&lt;h2 id=&#34;so-what-should-newspapers-do&#34;&gt;So, what should newspapers do?&lt;a href=&#34;#so-what-should-newspapers-do&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Well, they have two options: &lt;strong&gt;One&lt;/strong&gt;, they could keep writing articles, hoping that the quality will be high enough to turn the trend, or &lt;strong&gt;Two&lt;/strong&gt;, they could start thinking of &lt;strong&gt;how&lt;/strong&gt; they deliver news. The expectation of how news should be served is changing. It now needs to be delivered…&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;… filled with references for digging deeper&lt;/li&gt;
&lt;li&gt;… faster than once a day&lt;/li&gt;
&lt;li&gt;… in a manner where people&#39;s contributions enhance it&lt;/li&gt;
&lt;li&gt;… with a quality stamp that ensures that you&#39;re reading something you couldn&#39;t get anywhere else&lt;/li&gt;
&lt;li&gt;… personalized to my own specific taste. No sports.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Is there any other way to do this than focusing aggressively on the web, and less on dead trees?&lt;/p&gt;

            </content>
        </entry>
    
        <entry>
            <title type="html">Follow the 10 ground rules, or fail on the web</title>
            <link href="http://friendlybit.com/tutorial/10-web-ground-rules/" rel="alternate" type="text/html" title="Follow the 10 ground rules, or fail on the web" />
            <published>2008-11-20T18:58:16+01:00</published>
            <updated>2008-11-20T18:58:16+01:00</updated>
            <id>http://friendlybit.com/tutorial/10-web-ground-rules/</id>
            <author>
                <name>Emil Stenström</name>
            </author>
            <summary type="text">When you work with the web, there are a couple of basics you really need to get right. These are things I see people misunderstand over and over again, with...</summary>
            <content type="html" xml:base="http://friendlybit.com/tutorial/10-web-ground-rules/">
                &lt;p&gt;When you work with the web, there are a couple of basics you really need to get right. These are things I see people misunderstand over and over again, with a varying degree of failiure as a result. Not only individuals make these mistakes, even really big organizations make them, and suffer as a result. So lets get at it.&lt;/p&gt;
&lt;h2 id=&#34;1-everyone-is-stronganonymousstrong-on-the-w&#34;&gt;1. Everyone is &lt;strong&gt;anonymous&lt;/strong&gt; on the web, if they want to&lt;a href=&#34;#1-everyone-is-stronganonymousstrong-on-the-w&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you depend on trying to identify who a particular user on the web is, you will fail in every way possible. This is what lots of law firms try to do, especially in the context of file sharing. You will never ever be able to know who someone online is, if they don&#39;t want you to.&lt;/p&gt;
&lt;p&gt;Technical reasons: &lt;strong&gt;IP-numbers are easy to fake&lt;/strong&gt;, but using proxy servers of different sorts. New services are constantly popping up, that makes this available for unexperienced users. Just push them a little more, send a couple of more &lt;a href=&#34;http://en.wikipedia.org/wiki/Cease_and_desist&#34;&gt;cease and desist&lt;/a&gt; letters and even ordinary home users will start to cloak who they are. It&#39;s possible, it&#39;s easy.&lt;/p&gt;
&lt;p&gt;Social reasons: It&#39;s very easy to surf using &lt;strong&gt;someone else&#39;s internet connection&lt;/strong&gt;. Ways vary from just connecting to an unencrypted wireless network, to just using the free connection at a library or school. And it&#39;s getting worse: people are starting to move around while using the web (mobile), hopping from one connection to the next as their geographic position permits. The link between internet connections and users are getting blurrier as we speak.&lt;/p&gt;
&lt;p&gt;Despite the above, there are things you can identify and use. One of those is categorizing users into user types. This is what Google (and lots of others) are successfully doing with their advertising system. &amp;quot;Based on what you&#39;ve showed interest in previously, we think you will like this&amp;quot;. This enables you to personalize and customize your content to a particular user type, something that holds lots of economical value (if that&#39;s what you&#39;re after).&lt;/p&gt;
&lt;h2 id=&#34;2-give-your-content-away-for-strongfreestrong&#34;&gt;2. Give your content away for &lt;strong&gt;free&lt;/strong&gt;, or watch someone else do it&lt;a href=&#34;#2-give-your-content-away-for-strongfreestrong&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The web is a gigantic content creation machine, and except for very niched content, you can find anything on it. If you are in the business of selling content online, you will see your profits &lt;strong&gt;steadily decline&lt;/strong&gt;. The competition is just too intense when anyone can create content.&lt;/p&gt;
&lt;p&gt;How do you tackle that? Well, put your previously costly content online for free, to &lt;strong&gt;drive people to your site&lt;/strong&gt;. If the content is good, your will see a massive surge in number of users. Well on the site, you will need to figure out how to &lt;strong&gt;make money of them&lt;/strong&gt;, either by showing them ads or getting them to buy something physical.&lt;/p&gt;
&lt;p&gt;Industries that depend on online content creation are really living on the edge right now, and for a future prediction, just look at the music industry. You still have some time to rethink your bussiness model.&lt;/p&gt;
&lt;h2 id=&#34;strong3-linkingstrong-is-the-core-of-the-web&#34;&gt;&lt;strong&gt;3. Linking&lt;/strong&gt; is the core of the web, make people want to link to you&lt;a href=&#34;#strong3-linkingstrong-is-the-core-of-the-web&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It&#39;s called a web because of the links. Trying to limit or control other sites linking to you is fundamentally breaking the web. It&#39;s also downright stupid, since every external link is a vote for your site, and a sure way for people to find you. Having an &amp;quot;link policy&amp;quot;, controlling how people may link to you, is a sure way to make a fool out of yourself online. Not to say that people won&#39;t care one bit about it.&lt;/p&gt;
&lt;p&gt;Instead, you should encourage people to link to you. How? By first giving every piece of content a &lt;strong&gt;linkable address&lt;/strong&gt;. Many flash- and frame-based sites miss this fact, and instead require users to click through your frontpage to find the content they want. This is a sure way to turn users away. Just make your content linkable, it&#39;s not hard.&lt;/p&gt;
&lt;p&gt;Then, make sure the content is in such a high quality that users want to link to it. This rules out saying what everyone else is saying, in the same way everyone else is saying it. You need to be &lt;strong&gt;different,&lt;/strong&gt; and have &lt;strong&gt;genuinely interesting&lt;/strong&gt; content, that no one else has. This is hard, but a problem you need to solve to make it on the web.&lt;/p&gt;
&lt;h2 id=&#34;4-link-to-strongexternal-sitesstrong-with-go&#34;&gt;4. Link to &lt;strong&gt;external sites&lt;/strong&gt; with good content, it&#39;s all about servicing your users&lt;a href=&#34;#4-link-to-strongexternal-sitesstrong-with-go&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There&#39;s billions of sites a user can go to, and you need to work hard to servicing your users if you want their attention. Sometimes your content is so extensive, that no matter how hard you work, users will still want more. This is a perfect situation where you should link to external sites and give your users what they want.&lt;/p&gt;
&lt;p&gt;Many newspaper make this mistake, and end up with users leaving their site for Google, trying to find more information about a particular piece of content. They have instead linked to good follow-up content directly, given the user what they wanted, and be accessible via the most used button on the web, the back-button. &lt;strong&gt;Happy users&lt;/strong&gt; that have &lt;strong&gt;easy access to your site&lt;/strong&gt;, or annoyed users that leave for Google, your choice.&lt;/p&gt;
&lt;h2 id=&#34;5-people-will-strongcopy-your-contentstrong&#34;&gt;5. People will &lt;strong&gt;copy your content&lt;/strong&gt;, and there&#39;s nothing you can do about it&lt;a href=&#34;#5-people-will-strongcopy-your-contentstrong&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Some people are worried about the copying of their content. And if they see that as an issue, they better be worried. You see, each time someone reads your texts, or looks at your media, it&#39;s copied from your server to the users computer. Web browsers are really effective copyright infringement machines, and by just clicking a link, you copy that page.&lt;/p&gt;
&lt;p&gt;So if you are worried about users copying your content, please &lt;strong&gt;don&#39;t put it online at all&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Other people think that they can have their content on the web, and still prevent people from copying it. This is pure lunacy, and all ways to prevent copying have failed. People even miss the most obvious way people can copy, by hitting the &amp;quot;Print screen&amp;quot; button on their keyboards. When it comes to video and audio it&#39;s a bit more annoying, but everything that comes out of your speakers, or is displayed on the screen, is recordable. So stop worrying about copying, &lt;strong&gt;you can&#39;t stop it&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Instead, know and accept that people will copy your content, and just ask for a simple &lt;strong&gt;link back&lt;/strong&gt; if they do. That way, small pieces of your content on other sites will act as marketing for the whole site.&lt;/p&gt;
&lt;p&gt;If you want this formalized as a license, there is the &lt;a href=&#34;http://creativecommons.org/licenses/by/2.0/&#34;&gt;creative commons attribution license&lt;/a&gt;, which I use on this site (see footer).&lt;/p&gt;
&lt;h2 id=&#34;6-use-the-web-to-strongcommunicatestrong-wit&#34;&gt;6. Use the web to &lt;strong&gt;communicate&lt;/strong&gt; with your users, or watch your impact fade&lt;a href=&#34;#6-use-the-web-to-strongcommunicatestrong-wit&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Almost everything is moving to the web, including most of your business and private life. This of course has implications for web sites. Back in 1999, a couple of smart people sat together and tried to formulate how the future would look for businesses. One of the fundamental truths they found was &amp;quot;&lt;a href=&#34;http://www.cluetrain.com/book/markets.html&#34;&gt;Markets are conversations&lt;/a&gt;&amp;quot;. In essence, this means that &lt;strong&gt;you sell stuff by talking&lt;/strong&gt; about it with customers. It can be through marketing or through recommendation, but it is talking. When that communication moves to the web, you too better start talking &lt;strong&gt;on the web&lt;/strong&gt;. And quickly.&lt;/p&gt;
&lt;p&gt;This movement of websites for two-way instead of one-way communication has been given the techy name Web 2.0. And it turns out, this new web is a terribly effective way of communicating. The more people realize this, the more of the conversations will move to the web.&lt;/p&gt;
&lt;p&gt;The question is, when hoards of people come to your site to talk to you about your product, are your ready? Or will you give them: &amp;quot;Sorry, this store is closed, but we have this nice brochure you can read…&amp;quot;&lt;/p&gt;
&lt;h2 id=&#34;7-communicate-with-your-users-in-strongnatural&#34;&gt;7. Communicate with your users in &lt;strong&gt;natural language&lt;/strong&gt;, marketing speech has no place on the web&lt;a href=&#34;#7-communicate-with-your-users-in-strongnatural&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It&#39;s easy to find marketing speech about products today. Companies compete with each other to make sure as much of your field of vision as possible is filled with their message. When people are subjected to that much information they have no interest in, there are consequences. On the early web, the consequences were banner blindness, people simply started ignoring some banner formats. On the modern web, people have started &lt;strong&gt;ignoring marketing language&lt;/strong&gt; use instead. The words &amp;quot;Best&amp;quot;, &amp;quot;Revolutionize&amp;quot; and &amp;quot;Cheapest&amp;quot;, instantly makes people stop reading.&lt;/p&gt;
&lt;p&gt;Why? Because companies writing about their own products don&#39;t have anything to compare to! They can&#39;t say what&#39;s &lt;strong&gt;best&lt;/strong&gt;, because they don&#39;t use their competitor&#39;s products. They don&#39;t know if the product will &lt;strong&gt;revolutionize&lt;/strong&gt; the users life, because they know nothing about the user. And any user can look up how &lt;strong&gt;cheap&lt;/strong&gt; they are on a price comparison site.&lt;/p&gt;
&lt;p&gt;So what to do? Talk to them like you would to a friend, in the afternoon, &lt;a href=&#34;http://www.youtube.com/watch?v=OqhXwjBVVRY&#34;&gt;after two beers&lt;/a&gt;. This will make sure you don&#39;t turn customers away by trying to push to much crap on them. You wouldn&#39;t do it to your friend? Then don&#39;t do it to potential customers. Just changing your language has huge positive implications, but let me just sum it up like this: &lt;strong&gt;it builds trust&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;8-be-stronghoneststrong-about-what-your-stre&#34;&gt;8. Be &lt;strong&gt;honest&lt;/strong&gt; about what your strengths are, liars are easily uncovered&lt;a href=&#34;#8-be-stronghoneststrong-about-what-your-stre&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Never has it been so easy to look up facts. Liars are easily uncovered by a couple of soft tappings on a keyboard. What&#39;s even better, is that even subjective things can be checked. If someone yells: &amp;quot;Our product is the best one!&amp;quot;, you can find out if that&#39;s the case in a few seconds. Just read a couple of reviews, look at comparison charts, and you will know.&lt;/p&gt;
&lt;p&gt;Lying in person is rather bad, but &lt;strong&gt;lying on the web is worse&lt;/strong&gt;. All the facts are so close. A customer is literally seconds away from finding out if you&#39;re bullshitting them or telling the truth. This makes it vital not to lie on the web.&lt;/p&gt;
&lt;p&gt;If you want to brag anyway, make sure your add a &amp;quot;&lt;strong&gt;we think&lt;/strong&gt;&amp;quot; before all your bold claims, and back them up with solid arguments. Because if you say &amp;quot;We&#39;ve found no cheaper product than our own&amp;quot;, and I find out there are others that in fact are, you&#39;re not a liar, you&#39;re just badly informed.&lt;/p&gt;
&lt;h2 id=&#34;9-care-about-strongsearch-enginesstrong-and&#34;&gt;9. Care about &lt;strong&gt;search engines&lt;/strong&gt;, and double your number of users&lt;a href=&#34;#9-care-about-strongsearch-enginesstrong-and&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You are not the only site on the web, and people will spend most of their time on sites other than your own. This means, that if you don&#39;t think about how people find your site, all your content work is in vain.&lt;/p&gt;
&lt;p&gt;So how are people found? I have yet to see a customer of mine that gets less than 50% of their users from search engines. &lt;strong&gt;Usually 60-70%.&lt;/strong&gt; People tend not to understand the implications of this. A e-store could potentially lose over half their sales by misbehaving in Google&#39;s eyes. This is huge.&lt;/p&gt;
&lt;p&gt;You need to &lt;strong&gt;care about search engines&lt;/strong&gt;. Luckily, they are well synced with the ground rules you&#39;re reading. If you make your content linkable, unique, interesting, and talk to them in a language they understand, you will be successful. All serious search engine optimization guides will say the same.&lt;/p&gt;
&lt;p&gt;The last step, and what many miss, is to &lt;strong&gt;keep track of&lt;/strong&gt; how people find you, and what they find. Then feed that information back to your content producers. That way, you can produce content that people actually like.&lt;/p&gt;
&lt;p&gt;Or, you could lose half your sales. Your choice.&lt;/p&gt;
&lt;h2 id=&#34;10-encouraging-and-acting-upon-strongfeedback&#34;&gt;10. Encouraging and acting upon &lt;strong&gt;feedback&lt;/strong&gt; is currently the best form of marketing&lt;a href=&#34;#10-encouraging-and-acting-upon-strongfeedback&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Asking for feedback is unfortunately still uncommon. Unfortunate because there are so many out there that could benefit from knowing how they can do better. It&#39;s also fortunate, because it means that you have a chance to be different, and stand out, just by &lt;strong&gt;asking people what they want&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.ideastorm.com/&#34;&gt;Dell IdeaStorm&lt;/a&gt; is a great example of this. They are simply saying: &amp;quot;Hi, we want your feedback&amp;quot;, and instantly they have media coverage everywhere. Additionally, they get great feedback on how to improve their business.&lt;/p&gt;
&lt;p&gt;Of course, this means you need to act upon feedback too. Telling people that you listen, and then don&#39;t is a much worse offense than not listening at all. So find yourself a good chair, hand out the megaphones, and listen carefully.&lt;/p&gt;
&lt;h2 id=&#34;where-to-now&#34;&gt;Where to now?&lt;a href=&#34;#where-to-now&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Thanks for reading this far. This article comes from a frustration over how some companies, and individuals, think the web is still a place were they can makes their own rules. I would therefore like to set the foot down, and tell people what I&#39;ve learned about the web, about what works and not.&lt;/p&gt;
&lt;p&gt;I also know that there are other people out there that needs to read this. Do you know some of them? I then appreciate if you could send them the link. &lt;strong&gt;More people need to read this&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;

            </content>
        </entry>
    
        <entry>
            <title type="html">What is Web 2.0? Really.</title>
            <link href="http://friendlybit.com/js/what-is-web-20-really/" rel="alternate" type="text/html" title="What is Web 2.0? Really." />
            <published>2007-03-10T00:59:52+01:00</published>
            <updated>2007-03-10T00:59:52+01:00</updated>
            <id>http://friendlybit.com/js/what-is-web-20-really/</id>
            <author>
                <name>Emil Stenström</name>
            </author>
            <summary type="text">Web 2.0 is really hot right now. One of Sweden&#39;s biggest newspapers recently wrote a long article on their debate section. They had started linking back to...</summary>
            <content type="html" xml:base="http://friendlybit.com/js/what-is-web-20-really/">
                &lt;p&gt;Web 2.0 is really hot right now. One of Sweden&#39;s biggest newspapers recently wrote a long article on their debate section. They had started linking back to blogs that linked to them, in a little box next to the article. The problem was that they had got into trouble with what blogs to link to. After all, you can&#39;t just link to anything, right?&lt;/p&gt;
&lt;p&gt;Aside from starting to think about the implications of blog links, I got another interesting question in my head. What is Web 2.0 really? Most people working with interface development would say that Web 2.0 is everything that uses AJAX. But the newspaper didn&#39;t use AJAX at all, and still they claim links to blogs is Web 2.0. Time for some research!&lt;/p&gt;
&lt;h2 id=&#34;the-hunt-for-a-definition&#34;&gt;The hunt for a definition&lt;a href=&#34;#the-hunt-for-a-definition&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The phrase &amp;quot;Web 2.0&amp;quot; was first put into widespread use at an O&#39;Reilly conference in 2004. The organizers wanted to talk about a change that has happened on the web, and just bumping the version of the web seemed like a good idea. Paul Graham found this &lt;a href=&#34;http://www.paulgraham.com/web20.html#f1n&#34;&gt;first try at defining Web 2.0&lt;/a&gt; at the conference:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;While the first wave of the Web was closely tied to the browser, the second wave extends applications across the web and enables a new generation of services and business opportunities.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Note that there&#39;s no mention of AJAX there. Hell, there&#39;s no mention of users either! They must have meant something else, and the definition might have changed over the years since then. Let&#39;s keep looking for a good definition.&lt;/p&gt;
&lt;p&gt;Tim O&#39;Reilly comments on the issue two years later, in a &lt;a href=&#34;http://radar.oreilly.com/archives/2006/12/web_20_compact.html&#34;&gt;clarification on his blog&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Web 2.0 is the business revolution in the computer industry caused by the move to the internet as platform, and an attempt to understand the rules for success on that new platform. Chief among those rules is this: Build applications that harness network effects to get better the more people use them.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tim acknowledges the change in meaning and talks about &amp;quot;network effects&amp;quot; here, something that starts to look a little bit more like what my idea of Web 2.0 is. But isn&#39;t there still something missing? To me, that looks only like a small part of what I call Web 2.0. Let&#39;s keep looking…&lt;/p&gt;
&lt;p&gt;Gartner has tried to convince companies of the merits of Web 2.0 for a rather long time. In one of their many (business oriented) PowerPoint presentations they attempt to define &amp;quot;three anchor points around Web 2.0&amp;quot;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Technology and Architecture&lt;/strong&gt; — Consisting of Web-oriented architecture (WOA) and Web platforms.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community&lt;/strong&gt; — Looks at the dynamics around social networks and other personal content public/shared models, wiki and other collaborative content models.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Business Model&lt;/strong&gt; — Web service-enabled business models, mashup/remix applications and so forth.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;I believe we&#39;re getting closer. Gartner is making business models a separate point which I don&#39;t agree with. Many of the biggest Web 2.0 sites didn&#39;t have a business model when they started (and many still don&#39;t). Digg has troubles covering their hosting cost with the tiny bit of money they acquire from their ads. Del.icio.us still doesn&#39;t make any direct money (although they got sold to Yahoo, and they surely use the data…). My point is, a business plan isn&#39;t one third of Web 2.0, it&#39;s something sites add afterwards if things work out.&lt;/p&gt;
&lt;p&gt;So let me state my own (slightly more general) definition of Web 2.0:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;A collection of ideas and techniques that can be used to make more interactive sites&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The thing is, just doing something in AJAX does not mean it gets the Web 2.0 stamp of approval. You need several of the ideas or techniques and you need to combine them in clever ways. So lets agree on the definition above and got look for ideas.&lt;/p&gt;
&lt;h2 id=&#34;ideas-that-are-part-of-web-20&#34;&gt;Ideas that are part of Web 2.0&lt;a href=&#34;#ideas-that-are-part-of-web-20&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I&#39;d like to gather a whole bunch of ideas under the Web 2.0 roof. My selection is of course not all there is. Googling could uncover more I&#39;m sure, but I think this is a good start.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#generated&#34;&gt;User generated content&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#trust&#34;&gt;Radical trust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#syndication&#34;&gt;Syndication of content and services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#tail&#34;&gt;Long tail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#collective&#34;&gt;Collective intelligence&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;generated&#34;&gt;User generated Content&lt;a href=&#34;#generated&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Many companies still view the web as a one-way medium, an extension of a paper catalog, it&#39;s main advantage being that it can be distributed to more people. It&#39;s not like that any more! There are people that want to add content to your site, that want to contribute their ideas and thoughts. Why are you denying them to help you?&lt;/p&gt;
&lt;p&gt;User generated content is content that your users are willing to give you. It can be everything from a simple &amp;quot;like it&amp;quot; or &amp;quot;don&#39;t like it&amp;quot;, to fully featured articles written by users. The two most used ways of contributions are the simple ones: votes and comments. The author is still in full control of the content but users are given a chance to chip in with minor corrections. This is the least you can do. It&#39;s what I do on this blog; let you chip in by commenting.&lt;/p&gt;
&lt;p&gt;But if you have users that are passionate about your subject, users that are willing to use your site to get their ideas out, you should really endorse that! Allow them to post articles on your site, allow them to regroup and re-prioritize according to their own wishes. It is technically possible, even rather easy to do; you just have to do it.&lt;/p&gt;
&lt;p&gt;Six simple things your users can help you with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reviews of your products&lt;/li&gt;
&lt;li&gt;Comments on your articles&lt;/li&gt;
&lt;li&gt;Stories about how people use your product&lt;/li&gt;
&lt;li&gt;Multimedia using your product&lt;/li&gt;
&lt;li&gt;Questions about your products&lt;/li&gt;
&lt;li&gt;Articles in an area you choose&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;trust&#34;&gt;Radical trust&lt;a href=&#34;#trust&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img class=&#34;secondary&#34; src=&#34;/files/web20/wikipedia.png&#34; alt=&#34;Logotype of Wikipedia&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Another approach many sites have taken can be summarized as &amp;quot;radical trust&amp;quot;. It builds on the simple idea that users know what they want better than you do. So let them order, categorize, sort, select your data as they like!&lt;/p&gt;
&lt;p&gt;This is exactly what wikis do. They acknowledge that there are more users doing good than doing bad. If that&#39;s the case, why not let them in on your content directly, letting them edit and improve it like they want. They few people that do bad can be hunted away with a combination with versioning (saving old versions of content that&#39;s easy to restore), and some simple monitoring. Wikis trust users, do you?&lt;/p&gt;
&lt;h3 id=&#34;syndication&#34;&gt;Syndication of content and services&lt;a href=&#34;#syndication&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Web 2.0 is not only about &amp;quot;user to website&amp;quot; interactivity. It&#39;s also about letting other sites and tools interact with your site directly. This is often summarized as &amp;quot;syndication&amp;quot;.&lt;/p&gt;
&lt;p&gt;It&#39;s a very fancy word for a simple concept. Let me try to explain.&lt;/p&gt;
&lt;p&gt;Somewhere you have some kind of database with your content, be it products in your e-store or posts on your blog. Usually you take that content, add some structure (HTML) to it, and send it to the user.&lt;/p&gt;
&lt;p&gt;Another website that wants to access the same information could parse the HTML and try to understand what it means, something called &amp;quot;screen scraping&amp;quot; (or microformats ;). The problem with that method is that it&#39;s very dependent on that the webmaster doesn&#39;t decide to change the HTML. The other problem is that computers and humans often want different types of information. A computer that is going to parse a list of your products doesn&#39;t need navigation like humans do. What you do is send your data directly to computers instead, without messing it up with HTML. Formats include: RDF, RSS, or perhaps custom XML through a Web Service.&lt;/p&gt;
&lt;p&gt;Thing is, when you start syndicating your data you make it easier for others build services based on it. Now people get several entrances into your content instead of the one you produced. Again, your users are helping you reach more people.&lt;/p&gt;
&lt;p&gt;Allowing full RSS feeds is another way of syndicating, I&#39;m switching right now. Do you syndicate?&lt;/p&gt;
&lt;h3 id=&#34;tail&#34;&gt;Long tail&lt;a href=&#34;#tail&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img class=&#34;secondary&#34; src=&#34;/files/web20/tail.png&#34; alt=&#34;Graph of a sold units per item&#34; /&gt;&lt;/p&gt;
&lt;p&gt;The theory of the long tail is one of the ideas that are usually associated with Web 2.0. It&#39;s a business model that many companies that are successful on the web use. As with most business models they are invented after the fact, and as such I&#39;m not sure it really belongs on this list, but people always bring it up, so let’s go. I&#39;ll let you choose yourself.&lt;/p&gt;
&lt;p&gt;Wikipedia describes the long tail like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Products that are in low demand […] can collectively make up a market share that rivals or exceeds the relatively few current bestsellers and blockbusters, if the store or distribution channel is large enough&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Most physical stores need to aim for the bestsellers to sell anything. There&#39;s simply too few interested in odd products, to make it worth hiring store space and personnel to sell it.&lt;/p&gt;
&lt;p&gt;Web based stores are in a different position. Selling another product usually means just adding another page to your site, no extra store space or personnel needed. In addition people are prepared to wait a couple of days before receiving their products. That time span means you can skip warehouses and not start producing your products until you have an order ready.&lt;/p&gt;
&lt;p&gt;No more is there a need to estimate what people will be interested in and pre-order them. For the right kind of product the internet is a huge benefit. Amazon did it with books, iTunes did it with music, do you do it?&lt;/p&gt;
&lt;h3 id=&#34;collective&#34;&gt;Collective intelligence&lt;a href=&#34;#collective&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;You have let each user customize their experience and add content of their own. Now it&#39;s time to organize that content to better help the everyone benefit from it. There&#39;s hundreds of ways of doing it, but here&#39;s a couple of things that you can present to your users:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The most popular Swedish article right now…&lt;/strong&gt; - Crawl all Swedish blogs and keep track of what they link to.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Others that bought this book also bought…&lt;/strong&gt; - Query your shipment table. Pick a product, select the number of times each other product appeared together with said product, and recommend that product to your customers. Amazon does this and it&#39;s said that it has increased their profits considerably.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You probably think this movie is a four out of five&lt;/strong&gt; - A Swedish movie site give its users personalized ratings of movies. They find users that have similar taste as you have (based on your previous grades) and then checks what those people have rated the movie as.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;This is probably spam&lt;/strong&gt; - Write a word filter that learns what is considered spam when users mark them. Share that filter with fellow users and let their markings stop your spam. A form of collective sieve filtering, Akismet does this.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;None of them are technologically hard to do, you just Google and copy other people&#39;s samples. Why not?&lt;/p&gt;
&lt;h2 id=&#34;techniques-involved-in-web-20&#34;&gt;Techniques involved in Web 2.0&lt;a href=&#34;#techniques-involved-in-web-20&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;But there are techniques involved too. Let&#39;s go through a few of the important ones.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#ajax&#34;&gt;AJAX (and other javascript)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#feeds&#34;&gt;Feeds (RSS, Atom)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#tags&#34;&gt;Tags&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;ajax&#34;&gt;AJAX (and other javascript)&lt;a href=&#34;#ajax&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Everyone talks about AJAX together with Web 2.0, but I think it&#39;s important they are kept separate.&lt;/p&gt;
&lt;p&gt;AJAX is just a technology that helps prevent (full) page reloads. Instead you connect to the server silently in the background and receive your data that way. What&#39;s the revolutionary about this technique? Nothing. It has been in use for at least 5 years. They new thing about it is that people started using it to build better interfaces.&lt;/p&gt;
&lt;p&gt;Javascript is language that enables AJAX, and playing with reloads is not all it can do. Through some nifty use you can change attributes on any HTML element on the page. Move things around, react to mouse movement, fade and animate, it&#39;s your choice. This means a lot of new controls become possible, ranging from simple sliders to interactive maps.&lt;/p&gt;
&lt;p&gt;Why do most accessibility people hate it? Because most developers don&#39;t know enough about accessibility. And when those start to use AJAX they disregard accessibility completely. Javascript and AJAX have different goals and I think a good compromise is making sure the basic functions of the site (buy a product and pay for it) works without javascript, but enabling it adds additional features.&lt;/p&gt;
&lt;p&gt;When was the last time you used javascript to enhance your site? What was the last control you invented?&lt;/p&gt;
&lt;h3 id=&#34;feeds&#34;&gt;Feeds (RSS, Atom)&lt;a href=&#34;#feeds&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img class=&#34;secondary&#34; src=&#34;/files/web20/feeds.png&#34; alt=&#34;The official feed icon&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Feeds are great for syndication of content. There are many different feed formats to choose from but they all have one purpose: to communicate pure data, skipping all design.&lt;/p&gt;
&lt;p&gt;A feed is simply a list of feed items, each with an unique identifier. A user adds the address to their &amp;quot;feed reader&amp;quot; and it starts polling you, asking for updates. I have my reader set to just a couple of minutes, making sure I quickly notice changes in people&#39;s feeds.&lt;/p&gt;
&lt;p&gt;The good thing about feeds is that they make it easy to follow several at once. There&#39;s no annoying different designs in the way if you don&#39;t want to (you can always just visit the site if you want design). Feeds are getting more and more of a commodity; you should already be allowing your users the possibility to subscribe your content. Do you?&lt;/p&gt;
&lt;h3 id=&#34;tags&#34;&gt;Tags&lt;a href=&#34;#tags&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Tags is another hip concept. It deals with the collective intelligence idea and how to categorize content efficiently. A tag consists of a phrase of some kind that describes a piece of content. This blog post could have the tag &amp;quot;javascript&amp;quot;.&lt;/p&gt;
&lt;p&gt;There&#39;s several ways you can use them. One is the just fix what tags are allowed and use them as regularly groups you can assign content to. But allowing more than one tag enable you to do more than just split things into groups, you can instead pick all contents bits that have the same tag. You can go further, allowing custom tags that the users can pick themselves. That gives you a wide array of descriptive words for your content, free to play around with. For example, if many users pick the same word, that one is probably a better descriptor.&lt;/p&gt;
&lt;p&gt;Picking many bits of content and analyzing all tags tied to them can be easily done with a tag cloud. In that you simply print all tags used after each other, and make those used often bigger. Doing this on a whole site is an effective way of giving users a snapshot of what you write about, something I know I like.&lt;/p&gt;
&lt;p&gt;Can tags help you solve a categorization problem you have?&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;a href=&#34;#summary&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Now. To build a Web 2.0 site, pick from both of the lists above. You Google for more ideas and you work hard to interact with your users as much as possible. Web 2.0 is the combination that happens when your ideas and technology finally just works.&lt;/p&gt;
&lt;p&gt;Your users want to help you, do you let them in?&lt;/p&gt;

            </content>
        </entry>
    
</feed>