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

<channel>
	<title>Rahim&#039;s blog</title>
	<atom:link href="http://blog.encona.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.encona.com</link>
	<description>A blog about nothing</description>
	<lastBuildDate>Thu, 03 May 2012 01:49:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Google 2-step authentication is great, but&#8230;</title>
		<link>http://blog.encona.com/2012/04/google-2-step-authentication-is-great-but/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-2-step-authentication-is-great-but</link>
		<comments>http://blog.encona.com/2012/04/google-2-step-authentication-is-great-but/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 09:21:15 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=154</guid>
		<description><![CDATA[I&#8217;m in a taxi, and have no way to generate an application-specific password for the Google Places mobile app I just downloaded, so I get this &#8216;fail&#8217; screen]]></description>
			<content:encoded><![CDATA[<p><span id="more-154"></span><a href="http://blog.encona.com/assets/20120423-171822.jpg"><img class="alignnone size-full" src="http://blog.encona.com/assets/20120423-171822.jpg" alt="20120423-171822.jpg" /></a></p>
<p>I&#8217;m in a taxi, and have no way to generate an application-specific password for the Google Places mobile app I just downloaded, so I get this &#8216;fail&#8217; screen <img src='http://blog.encona.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2012%2F04%2Fgoogle-2-step-authentication-is-great-but%2F&amp;title=Google%202-step%20authentication%20is%20great%2C%20but%E2%80%A6" id="wpa2a_2">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2012/04/google-2-step-authentication-is-great-but/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding (and replacing) colours in an SVG (vector image) file</title>
		<link>http://blog.encona.com/2012/03/finding-and-replacing-colours-in-an-svg-vector-image-file/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=finding-and-replacing-colours-in-an-svg-vector-image-file</link>
		<comments>http://blog.encona.com/2012/03/finding-and-replacing-colours-in-an-svg-vector-image-file/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 07:36:58 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[nano]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=146</guid>
		<description><![CDATA[I wanted to replace some colours in an image.  The source file is an SVG file of some complexity, but it only contains a few distinct colours.  I thought the easiest way to replace the colours would be to use &#8230; <a href="http://blog.encona.com/2012/03/finding-and-replacing-colours-in-an-svg-vector-image-file/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>I wanted to replace some colours in an image.  The source file is an SVG file of some complexity, but it only contains a few distinct colours.  I thought the easiest way to replace the colours would be to use one of the functions in Inkscape, a great open-source vector image editor.  However, I opened it and didn&#8217;t see an obvious way, so decided to do it at the command-line.  It might work for you, too<span id="more-146"></span>, if you&#8217;re running a unix-like operating system (e.g. Linux, Mac OS).</p>
<p>Step 1: Find a list of all of the colours used in your image:</p>
<pre class="wp-code-highlight prettyprint">tr '&quot;' '\n' &amp;lt; filename.svg |grep '#'|sort|uniq</pre>
<p>This will output something like this:</p>
<pre class="wp-code-highlight prettyprint">#261010
#605338
#666D7A
#717B8C
#778A9F
#7E7372
#8FAECB</pre>
<p>Step 2: Replace the colour you don&#8217;t like, using a text editor or the command line.  I used nano (ctrl-\ does find-and-replace) but you could do it at the command line if you only have one replacement to do:</p>
<pre class="wp-code-highlight prettyprint">tr '#261010' '#FFFFFF' &amp;lt; old.svg &amp;gt; new.svg</pre>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2012%2F03%2Ffinding-and-replacing-colours-in-an-svg-vector-image-file%2F&amp;title=Finding%20%28and%20replacing%29%20colours%20in%20an%20SVG%20%28vector%20image%29%20file" id="wpa2a_4">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2012/03/finding-and-replacing-colours-in-an-svg-vector-image-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress plugins for your company&#8217;s web site</title>
		<link>http://blog.encona.com/2012/03/wordpress-plugins-for-your-company-web-site/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-plugins-for-your-company-web-site</link>
		<comments>http://blog.encona.com/2012/03/wordpress-plugins-for-your-company-web-site/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 17:56:45 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web marketing]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[web sites]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=138</guid>
		<description><![CDATA[I was recently approached by the managers of a company which needs a new web site.  The site is visually OK, but: The business makes most of its revenue from events, but you can&#8217;t book online, which means a lot &#8230; <a href="http://blog.encona.com/2012/03/wordpress-plugins-for-your-company-web-site/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>I was recently approached by the managers of a company which needs a new web site.  The site is visually OK, but:</p>
<ol>
<li>The business makes most of its revenue from events, but you can&#8217;t book online, which means a lot of phone calls.</li>
<li>They can&#8217;t update the content themselves, because it&#8217;s static HTML.</li>
<li>They wanted an up-to-date event calendar.<span id="more-138"></span></li>
</ol>
<h2>Totally, dude!</h2>
<p>I looked at the site, and had a few observations of my own:</p>
<ol>
<li>Much of the text on the site was not text at all, but images.  This was invisible to search engines, which is a bad thing.</li>
<li>Regardless of the page where you entered the site, it wasn&#8217;t obvious what you were meant to be doing (the desired action).</li>
<li>No one knew the impact of 1 or 2.  There were no analytics at all (not even vanity metrics like &#8216;hits&#8217;, let alone tracking of conversion funnels).</li>
</ol>
<h2>Let&#8217;s do it step by step</h2>
<p>Anyway, I&#8217;m helping them work through the steps they need to <a title="How to build a web site for your business" href="http://blog.encona.com/2012/03/how-to-build-a-web-site-for-your-business/" target="_blank">create a half-decent site</a>.  I&#8217;m a fan of Twitter&#8217;s bootstrap framework, <span style="text-decoration: underline;">so the theme is based on <a href="https://github.com/retlehs/roots" target="_blank">Roots</a></span>, with some minor modification.  Roots has a menu bar fixed to the top of the window, but it made sense for this site to have its logo above the menu bar.  I initially also added a row of extra widget areas at the bottom (just above the footer), but it became clear these weren&#8217;t necessary, and using them would be too much clutter for this particular site.</p>
<h2>There are lots of cool WordPress plugins</h2>
<p>I&#8217;ve come to use WordPress only recently.  In the past, I&#8217;ve used Drupal both for small corporate web sites, and to prototype web applications which would later (if successful) be coded in a suitable way.  I started using WordPress for this blog, and was almost immediately impressed with the number of high-quality plugins.  Of course, you don&#8217;t want to use them all on every site you build, but there are a few which I think I&#8217;ll use a lot.  Here&#8217;s my list.  YMMV.</p>
<ul>
<li><strong>404 Redirected:</strong> Shows users relevant search results rather than a dreaded &#8217;404 not found&#8217; error.</li>
<li><strong>All in One SEO Pack:</strong> Makes it easy to manage keywords, descriptions and other stuff for SEO.  Also hooks into Google Analytics.</li>
<li><strong>BackUpWordPress:</strong> Scheduled backups of your wordpress database and (optionally) the wordpress directory.</li>
<li><strong>Configure SMTP:</strong> Use authenticated SMTP (e.g. via  Gmail or Google Apps), <span style="text-decoration: underline;">so you don&#8217;t have to worry as much about WordPress-generated mails ending up in users&#8217; spam folders.</span></li>
<li><strong>Fast Secure Contact Form</strong> and <strong>Contact Form to DB Extension</strong>: Make nice contact forms, and export the results into CSV (as well as receiving them by email).</li>
<li><strong>Disqus Comment System:</strong> Host your comments on the Disqus platform, which makes moderation and spam control easier.</li>
<li><strong>Events Manager:</strong> Not one for every site, but an easy and flexible way to allow people to find and book events on your site.</li>
<li><strong>Google XML Sitemaps:</strong> Makes your site easier for search engines to index.</li>
<li><strong>Newsletter Sign-Up:</strong> Let&#8217;s you put a box on your site where people can enter their email address to sign up to your newsletter.  (even works with Mailchimp.)</li>
<li><strong>Relevanssi:</strong> Better search results.</li>
<li><strong>Smooth Slider:</strong> If you really must have a sliding thing showing different images or pages every few seconds, use this rather than Adobe Flash.  Test the result on small screens and mobile devices, though, as a wide, fixed-width thing like this can prevent the rest of the page from re-flowing nicely for mobile users.</li>
<li><strong>Social Media Widget:</strong> An easy way to add links to FB, Twitter etc.</li>
<li><strong>Ultimate TinyMCE:</strong> Add extra features to the text editor used for editing posts/pages, e.g. add tables.</li>
<li><strong>Use Google Libraries:</strong> Save bandwidth by using Google&#8217;s CDN for serving jQuery.</li>
<li><strong>WP Code Highlight:</strong> Useful if you embed code into your site and want it styled nicely.</li>
<li><strong>WP Google Fonts:</strong> <span style="text-decoration: underline;">An easy way to personalise the look of your site without editing themes.</span>  Choose any font from Google&#8217;s free web fonts, and apply it to certain HTML tags on your site (e.g. all H3 tags) or use CSS selectors to be really specific.</li>
<li><strong>WP Super Cache:</strong> Caching to speed up your site.  Especially useful on low-powered servers, but good for any site.  <span style="text-decoration: underline;">Read the documentation, and use both .htaccess and preload for best results.</span></li>
</ul>
<div>What&#8217;s your favourite underappreciated WordPress plugin?</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2012%2F03%2Fwordpress-plugins-for-your-company-web-site%2F&amp;title=WordPress%20plugins%20for%20your%20company%E2%80%99s%20web%20site" id="wpa2a_6">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2012/03/wordpress-plugins-for-your-company-web-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Google violating copyright by serving cached BitTorrent magnet links?</title>
		<link>http://blog.encona.com/2012/03/is-google-violating-copyright-with-magnet-links/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=is-google-violating-copyright-with-magnet-links</link>
		<comments>http://blog.encona.com/2012/03/is-google-violating-copyright-with-magnet-links/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 09:30:08 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Law]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=136</guid>
		<description><![CDATA[If you&#8217;re reading this, I&#8217;m assuming you know： BitTorrent is a popular internet protocol for sharing files It has legitimate uses (such as distributing ISOs of popular Linux distros) It is also widely used to share copyrighted material without the &#8230; <a href="http://blog.encona.com/2012/03/is-google-violating-copyright-with-magnet-links/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re reading this, I&#8217;m assuming you know：</p>
<ul>
<li>BitTorrent is a popular internet protocol for sharing files</li>
<li>It has legitimate uses (such as distributing ISOs of popular Linux distros)</li>
<li>It is also widely used to share copyrighted material without the copyright-holder&#8217;s permission<span id="more-136"></span></li>
</ul>
<p>You may also know:</p>
<ul>
<li>In order to download files with BitTorrent, you need to first get a specific &#8216;torrent file&#8217; or a &#8216;magnet link&#8217;</li>
<li>Google keep&#8217;s a cache of information which is human-readable (like web pages and PDF files) but not of other &#8216;binary files&#8217;</li>
<li>If you use Google to search for a page (or if you browse with Google Chrome, and the page you want is temporarily unavailable), you have the option to view Google&#8217;s cached version of the page, instead of accessing the original server</li>
</ul>
<p><strong>Because the cached page contains all of the original links (including BitTorrent magnet links), it means that would-be downloaders can download files using BitTorrent without accessing any non-Google web sites.</strong>  After they get the magnet link, the rest is handled by the BitTorrent client (e.g. uTorrent).  This is pretty handy if you want to download a file and the original &#8216;torrent site&#8217; is down, but doesn&#8217;t it open up Google to accusations of directly helping people to violate copyright?  (I am not a lawyer and this is not a rhetorical question.  I&#8217;m actually curious.)</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2012%2F03%2Fis-google-violating-copyright-with-magnet-links%2F&amp;title=Is%20Google%20violating%20copyright%20by%20serving%20cached%20BitTorrent%20magnet%20links%3F" id="wpa2a_8">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2012/03/is-google-violating-copyright-with-magnet-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to build a web site for your business</title>
		<link>http://blog.encona.com/2012/03/how-to-build-a-web-site-for-your-business/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-build-a-web-site-for-your-business</link>
		<comments>http://blog.encona.com/2012/03/how-to-build-a-web-site-for-your-business/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 08:55:30 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Web marketing]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=131</guid>
		<description><![CDATA[Over the past week, four different friends have told me that their business wants to (re-)launch a web site.  They have different specific motivations, and their businesses are very different.  However, they all share one trait: they are primarily offline &#8230; <a href="http://blog.encona.com/2012/03/how-to-build-a-web-site-for-your-business/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>Over the past week, four different friends have told me that their business wants to (re-)launch a web site.  They have different specific motivations, and their businesses are very different.  However, they all share one trait: they are primarily offline businesses which see their web site as a way to get new customers, and increase engagement (and hence repeat business) from existing ones.  Many people have good intentions<span id="more-131"></span>, so I have this conversation a lot.  When I dig a bit deeper with my questions, It turns out most people are looking for a &#8216;web designer&#8217;, by which they mean someone who can make nice-looking images and generally make things aesthetically appealing.  This can be one part of the work which needs to go into a web site, but it&#8217;s only a part.</p>
<h2>Web sites are there to get people to take action, not (just) to look pretty</h2>
<p>If you disagree with this, I&#8217;d urge you to read the <a href="http://www.amazon.com/Convert-Designing-Increase-Traffic-Conversion/dp/0470616334/ref=sr_1_1?ie=UTF8&amp;qid=1330937680&amp;sr=8-1" target="_blank">excellent book &#8216;Convert!&#8217; by Ben Hunt</a>.  My quick summary:</p>
<ol>
<li>Web sites are built to <strong>attract</strong> customers (e.g. through SEO), and to <strong>convert</strong> them from their current state into another one which is closer to the buying decision (or whatever action is appropriate for your site).</li>
<li>Each page (people visit web <em>pages </em>not web <em>sites</em>) needs to speak to the current state of the customer (i.e. their stage of awareness of their need and your solution) and get them to the next step on the &#8216;awareness ladder&#8217;.</li>
<li>There&#8217;s a bunch of stuff you can do to make your web site more effective, and most of it doesn&#8217;t involve images, although it does involve design (design in the sense of &#8216;interaction design&#8217; or &#8216;process design&#8217;, not &#8216;graphic design&#8217;).</li>
</ol>
<h2>Tell this to your friend who wants a new web site</h2>
<div>I&#8217;ve pasted below the identical email I sent to four people this week.  I&#8217;ll refer the next person to this post.  Feel free to do the same.  Although my advice doesn&#8217;t apply to every web site, it probably applies to most small businesses with a modest budget.</div>
<div></div>
<blockquote>
<div>Do you want the web site to help potential customers find the web site, as well as encouraging both existing and potential customers to spend money?  If so, then you can break down the work into roughly these chunks.  Some can be done in parallel:</div>
<ul>
<li><strong>Pre-requisites</strong></li>
<ul>
<li>Defining the audience and objectives of the site: conversion goals etc.</li>
<li>Interviewing the people who have contact with customers (like you) to understand more about the types of potential customers, stages of awareness, and feelings/questions at each stage</li>
<li>Deciding which platforms you want to support (e.g. do you need the site to function nicely on a small-screen device like an iPhone or Android phone?  hint: yes)</li>
</ul>
<li><strong>Writing</strong></li>
<ul>
<li>Deciding the pages to write based on how valuable they could be, and trading off against how hard it would be to rank highly in search engines for those pages.  This requires quite a bit of research on competitor pages and keywords.  It&#8217;s not intellectually difficult, but takes time; ideal for a smart intern.</li>
<li>Copywriting for the pages which are necessary (includes page titles, body, description, ideal URL &#8211; all of these have an impact on search engines)</li>
</ul>
<li><strong>Infrastructure:</strong></li>
<ul>
<li>Setting up the hosting environment (it should be a dedicated IP address if you want your site to be available in China)</li>
<li>Technical: implementing a CMS (e.g. WordPress or Drupal) and setting up the site structure, RSS feeds, links with social networks etc.</li>
<li>Setting up any additional functionality (event calendar, photo gallery, blog, whatever&#8230;)</li>
</ul>
<li><strong>Design:</strong></li>
<ul>
<li>Selecting, developing and customising the visual design (HTML/CSS) of the site.  This part could range from buying a 50USD theme and putting a logo on it, all the way to spending about 1500-2000 USD to pay (i) a graphic designer to do the site design in Photoshop and (ii) getting an HTML/CSS guy to cut that design into pieces and turn it into a WordPress theme.   I would go with the lower cost option here: you can get really good results.</li>
</ul>
<li><strong>Managing performance against objectives:</strong></li>
<ul>
<li>Setting up the Google Analytics account and configuring it to get actionable metrics out (requires setting up info on the conversion funnels, which assumes you&#8217;ve thought about this earlier in the process).</li>
<li>Defining the regular processes required, e.g. for adding new content regularly, doing social media updates, monitoring conversion and tweaking copy&#8230;</li>
</ul>
</ul>
</blockquote>
<p>What do you think?  Let me know in the comments.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2012%2F03%2Fhow-to-build-a-web-site-for-your-business%2F&amp;title=How%20to%20build%20a%20web%20site%20for%20your%20business" id="wpa2a_10">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2012/03/how-to-build-a-web-site-for-your-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design Thinking &#8211; conflating two meanings of the word &#8216;design&#8217;</title>
		<link>http://blog.encona.com/2012/02/design-thinking-conflating-two-meanings-of-the-word-design/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=design-thinking-conflating-two-meanings-of-the-word-design</link>
		<comments>http://blog.encona.com/2012/02/design-thinking-conflating-two-meanings-of-the-word-design/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 04:22:51 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Business Model Generation]]></category>
		<category><![CDATA[Customer Development]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Innovation]]></category>
		<category><![CDATA[Lean Startup]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=114</guid>
		<description><![CDATA[An architect friend yesterday recommended that I read an HBR article from 2008 called &#8216;Design Thinking&#8217;.  The article is available on the web site of the author&#8217;s firm here. He asked me what I think.  The short reply I typed &#8230; <a href="http://blog.encona.com/2012/02/design-thinking-conflating-two-meanings-of-the-word-design/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>An architect friend yesterday recommended that I read an HBR article from 2008 called &#8216;Design Thinking&#8217;.  The article is available on the web site of the author&#8217;s firm <a href="http://www.ideo.com/images/uploads/thoughts/IDEO_HBR_Design_Thinking.pdf" target="_blank">here</a>.</p>
<p>He asked me what I think.  The short reply I typed on my iphone just before going to sleep:</p>
<blockquote><p>The article has really nice examples, and I agree with most of what it has to say (in terms of how to approach innovation).  However, I feel the writer is being a little self-serving by using the word &#8216;design&#8217; in two different ways: (i) the act of &#8216;design&#8217;, as practised by people from lots of different disciplines (whether they are developing products, services, or simply internal processes), and (ii) &#8216;design&#8217; in the sense of work done by people in the &#8216;creative&#8217; professions (graphic designers, interaction designers&#8230;), especially <span id="more-114"></span>the type of people who do what his firm does.</p>
<p>&nbsp;</p>
<p>The collection of approaches he advocates is very similar to the concepts of &#8216;Lean Startup&#8217; (google: Eric Ries) and &#8216;Customer Development&#8217; (google: Steve Blank), and are practised by people in both bootstrapped companies and large ones, usually without the help of &#8216;designers&#8217;.</p>
<p>&nbsp;</p>
<p>I totally agree with the need to work in cross-functional teams, work with customers to identify problems worth solving, iterate solutions, look at the entire &#8216;system&#8217; rather than a product in isolation.  On this last part, my favourite book is the beautifully-illustrated &#8216;business model generation&#8217;: <a href="http://www.businessmodelgeneration.com/book" target="_blank">http://www.<wbr>businessmodelgeneration.com/<wbr>book</wbr></wbr></a></p>
<p>&nbsp;</p>
<p>Thanks.  I&#8217;d appreciate seeing any other articles that have helped you develop your thinking.</p></blockquote>
<p>What do you think?</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2012%2F02%2Fdesign-thinking-conflating-two-meanings-of-the-word-design%2F&amp;title=Design%20Thinking%20%E2%80%93%20conflating%20two%20meanings%20of%20the%20word%20%E2%80%98design%E2%80%99" id="wpa2a_12">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2012/02/design-thinking-conflating-two-meanings-of-the-word-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a mobile web site *without* Sencha Touch 2: tools to consider</title>
		<link>http://blog.encona.com/2011/12/building-a-mobile-web-site-without-sencha-touch-2-tools-to-consider/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-a-mobile-web-site-without-sencha-touch-2-tools-to-consider</link>
		<comments>http://blog.encona.com/2011/12/building-a-mobile-web-site-without-sencha-touch-2-tools-to-consider/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 06:02:40 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[backbone.js]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ICanHaz.js]]></category>
		<category><![CDATA[iPhone/iPad]]></category>
		<category><![CDATA[iScroll4]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[underscrore.js]]></category>
		<category><![CDATA[zepto.js]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=78</guid>
		<description><![CDATA[Background If you read my previous post about Sencha Touch 2, you will know that I&#8217;ve been experimenting with different ways to develop cross-platform mobile apps, without having to write and maintain separate codebases for each platform. Phonegap seems to &#8230; <a href="http://blog.encona.com/2011/12/building-a-mobile-web-site-without-sencha-touch-2-tools-to-consider/">Continued</a>]]></description>
			<content:encoded><![CDATA[<h3>Background</h3>
<p>If you read <a title="Sencha Touch 2 and PhoneGap (aka Apache Callback) – getting started" href="http://blog.encona.com/2011/12/sencha-touch-2-and-phonegap-aka-apache-callback-getting-started/" target="_blank">my previous post about Sencha Touch 2</a>, you will know that I&#8217;ve been experimenting with different ways to develop cross-platform mobile apps, without having to write and maintain separate codebases for each platform. Phonegap seems to be a great way to do that, allowing you package an HTML5/JS/CSS app as an app which, when deployed, runs insides a WebKit instance on the mobile, but without the browser interface fluff. (It does more than that, but that&#8217;s not the point of this post.)</p>
<p>I tried using Sencha Touch 1.1 and the pre-release version of Sencha Touch 2, but found<span id="more-78"></span> I was constantly looking back at the API docs and other people&#8217;s app examples to get stuff to work. I got a a simple app working, which looked as good as the version I did in Titanium mobile, but which was a bit more zippy in Safari on iPhone. However, it seemed a bit glitchy (it froze after extended use). The problem was either the platform (which is still in beta, and not due for final release for another 3-6 months), or my code. I wasn&#8217;t about to start debugging the platform, and I felt a little bit icky about my code which, although quite short, was scattered among 10 files due to the way Sencha Touch 2 wants you to do dynamic loading.</p>
<h3>Finding a new &#8216;stack&#8217;</h3>
<p>Maybe it&#8217;s a bit of a stretch to use the word &#8216;stack&#8217; here, as actually I&#8217;m really talking about a set of disparate tools. Anyway, here they are:</p>
<ul>
<li><a href="http://phonegap.com/" target="_blank">PhoneGap</a>: &#8216;an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores.&#8217; Unless your app needs to access native mobile functions like the accelerometer or camera, it&#8217;s best to ignore PhoneGap until very late in the development cycle. It&#8217;s much easier to test by just refreshing Safari/Chrome on the desktop after each code change.</li>
<li><a href="http://documentcloud.github.com/backbone/" target="_blank">Backbone.js</a>: An MVC (model, view, controller) framework for JavaScript. Requires Underscore.js and Zepto.js (or JQuery.js if you need cross-browser support). I can&#8217;t emphasise enough how cool this library is. It&#8217;s easy enough to learn for an MVC beginner, yet encourages clean separation of code. You&#8217;re less likely to end up with messy code using Backbone.js than if you code from scratch. For an excellent primer which covers JS, JQuery, MVC and Backbone, see Alex MacCaw&#8217;s <a href="http://jswebapps.heroku.com/" target="_blank">JavaScript Web Applications</a> (published by <a href="http://shop.oreilly.com/product/0636920018421.do" target="_blank">O&#8217;Reilly</a>).</li>
<li><a href="http://zeptojs.com/" target="_blank">Zepto.js</a>: A small JavaScript framework with a jQuery-compatible syntax. It has a much smaller codebase as it doesn&#8217;t have all of the functions that JQuery does, and it&#8217;s targeted at only WebKit browsers (so fine for iPhone, Android, BB 6.0). If you&#8217;ve used JQuery, you&#8217;ll get it immediately. If not, the github page for Zepto has a neat cheat-sheet style summary of Zepto functions.</li>
<li><a href="http://documentcloud.github.com/underscore/" target="_blank">Underscore.js</a>: A load of useful functions for managing collections, arrays and objects. When you&#8217;re actually writing code, it&#8217;s useful to have the backbone.js and underscore.js documentation open in browser tabs.</li>
<li><a href="http://icanhazjs.com/" target="_blank">ICanHaz.js</a>: A client-side templating engine, allowing you to keep your HTML separate from your JS code. Incorporates mustache.js code.</li>
<li><a href="http://cubiq.org/iscroll-4" target="_blank">iScroll 4</a>: A neat library to enable user-scrolling on regions within WebKit pages (without scrolling the page or moving the viewport).</li>
<li><a href="https://github.com/douglascrockford/JSON-js" target="_blank">json2.js</a>: Just to be safe.</li>
</ul>
<p>I might add more libraries I find on <a href="http://microjs.com/" target="_blank">microjs.com</a> but these are sufficient for now.</p>
<h3>What you don&#8217;t get</h3>
<p>The one thing I&#8217;m missing with these libraries is the native interface candy, including Back buttons and a bottom tab bar. However, some of these elements can be re-created using pure CSS. It&#8217;s easy to find example code using Google. For iPhone, there is a Phonegap plugin which allows access to native toolbars/tab bars. However, I haven&#8217;t tried it yet. I might just stick with CSS, as that way I won&#8217;t have to have a different solution for non-iOS platforms.</p>
<h3>How did I get here?</h3>
<p>My sequence was something like this:</p>
<ol>
<li>Download sample apps, study their structure. Find the advantages of each approach. e.g. Some apps had good structure, but didn&#8217;t use Backbone&#8217;s Router; others used the Router (enabling URL history) but had limited functionality.</li>
<li>Cobble together my own sample app, trying to use the best techniques I&#8217;d found. I made extensive use of console.log() and Safari&#8217;s Web Inspector for this part.</li>
<li>Try to reduce the number of lines in that code by making it as DRY as possible.</li>
</ol>
<h3>Going forward</h3>
<p>Having done that, and before starting to write an app &#8216;for real&#8217;, I want to write down the steps I&#8217;m going to take, so that I don&#8217;t jump ahead into coding, or code in the wrong order. I&#8217;m sharing it here in the hope that it&#8217;s useful, or that someone will suggest an improvement.</p>
<h3>Preparing to write code</h3>
<ol>
<li>Draw wireframes on paper, for every screen in the app. These wireframes should include the navigation elements, input fields and data areas in the app. For each of the areas, I write the id of the DIV inside the bounding box. That way it paves the way for my HTML creation.</li>
<li>Create my HTML file. Assuming it&#8217;s a &#8216;single-page&#8217; app, and that all navigation will be done using Backbone.Router, just include the header, script references, and create the document structure using the nested DIVs you designed in (1). Note: if you have a scrolling region which has more than one child element, you&#8217;ll need to add another layer of nesting, as iScroll4 will only scroll the first element (and it&#8217;s children) inside a scroll area.</li>
<li>Create my app.js, starting with $(document).ready(function () {});</li>
<li>Think about the application flow, at each stage writing down: which regions will be shown/hidden, what data will be manipulated (e.g. filtered or sent to the server), what data will exist, and what events will drive transitions.</li>
</ol>
<h3>Coding</h3>
<p>Once you have the list you made at step 4 above, it&#8217;s time to start writing your code.  I put mine in one file for now (as it&#8217;s less than 200 lines), but you can separate it out later if you need to.  The sequence I plan to use for writing code going forward is:</p>
<ol>
<li>Prepare the starting data if necessary.</li>
<li>Declare the model(s) using Backbone.Model.extend</li>
<li>Declare the collection(s) using Backbone.Collection.extend, defining a comparator function if necessary.</li>
<li>Instantiate the collection(s).</li>
<li>Define controllers for each big UI element. I say &#8216;controllers&#8217; but in Backbone they are defined using Backbone.View.extend. Each of these Views is bound to an element &#8211; e.g. el: $(&#8216;#searcharea&#8217;) &#8211; on the page. You can bind it to events on those elements (e.g. taps/clicks) and also to changes in Collections. Then you can run functions which go off to Backbone.Router or add/remove/hide elements on the DOM. You don&#8217;t have to do all of this in one go.</li>
<li>Create your Router and routes. (I like !# at the beginning of my routes so I declare them something like this: &#8220;!/search/:searchterm&#8221;: &#8220;searchFunction&#8221;)</li>
<li>Open the browser, see what breaks, and fix each bit piece by piece using a lot of console.log().</li>
</ol>
<p>What do you think? If you have a suggestion for improvement, do let me know in the comments.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F12%2Fbuilding-a-mobile-web-site-without-sencha-touch-2-tools-to-consider%2F&amp;title=Building%20a%20mobile%20web%20site%20%2Awithout%2A%20Sencha%20Touch%202%3A%20tools%20to%20consider" id="wpa2a_14">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/12/building-a-mobile-web-site-without-sencha-touch-2-tools-to-consider/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>When will the app be ready?</title>
		<link>http://blog.encona.com/2011/12/when-will-the-app-be-ready/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=when-will-the-app-be-ready</link>
		<comments>http://blog.encona.com/2011/12/when-will-the-app-be-ready/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 02:29:48 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[iPhone/iPad]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=72</guid>
		<description><![CDATA[I had an email exchange with a good friend recently. It went something like this: Friend: One of my colleagues has an app idea. It&#8217;s xyz. How hard would it be to build? Me: Not too hard. I can immediately &#8230; <a href="http://blog.encona.com/2011/12/when-will-the-app-be-ready/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>I had an email exchange with a good friend recently. It went something like this:</p>
<blockquote><p><strong>Friend:</strong> One of my colleagues has an app idea. It&#8217;s xyz. How hard would it be to build?<br />
<strong>Me: Not too hard.</strong> I can immediately see how to do most of it. There&#8217;s one part of it which requires implementing an algorithm I&#8217;ve not used before. We would need to have .<br />
&#8230; gap of a few days &#8230;<br />
<strong>Friend&#8217;s colleague:</strong> I have the ready. What&#8217;s the timescale for getting the app up and running.</p></blockquote>
<p>For those of you who are followers of Lean Startup, you&#8217;ll immediately see some things wrong <span id="more-72"></span>with this conversation, the first of which was my initial response (which was about the &#8216;how&#8217; rather than the &#8216;why&#8217;). After reflecting a little, below is the response I sent, with appropriate parts redacted to protect the innocent:</p>
<blockquote><p>Hi &lt;friend&#8217;s colleague&gt;,</p>
<p>Thanks for the email. Building an app (even with just &lt;MVP&gt; functionality) is not the first step. We need to articulate what we&#8217;re trying to do (overall), and identify what the riskiest parts of that are. For example, it might be that we think:</p>
<p><strong>Problem:<br />
</strong>&lt;Target customers&gt; find it *difficult* and *boring* to learn about &lt;subject&gt; within the *time* they have allocated.</p>
<p><strong>Unique value proposition:</strong><br />
&#8220;An app in your pocket that makes it *fun* and *fast* to learn &lt;subject&gt; whenever you have a few minutes free.&#8221;</p>
<p><strong>Cost structure:</strong><br />
One-off development: 50 hours to get &lt;MVP&gt;, another 50 to build/test &lt;nice-to-have features&gt;, another 20-30 for testing/fixing before first release.<br />
On-going: minimal.</p>
<p><strong>Revenue streams:</strong><br />
- Purchase for x.yy?<br />
- Ads in &#8216;lite&#8217; version?<br />
- Volume? How many potential customers are there for this?</p>
<p><strong>Distribution channels:</strong><br />
Apple app store?<br />
App&#8217;s own web site?<br />
Word of mouth?</p>
<p>Many people/companies skip this step, spend 6-24 months building a product, and then find that no one wants their product, or that there is insufficient demand to justify their investment. It&#8217;s important to eliminate waste by de-risking it as much as possible as early as possible. This applies even on something smaller like this. The key risks I see in the list above are:</p>
<ol>
<li>We can&#8217;t attract customers to consider the app. (i.e. if we pick a &#8216;perfect&#8217; target customer, tell them about the app, tell them they can find more info and buy at www.dsfgdsfg.com, they won&#8217;t even bother going to the web site).</li>
<li>People don&#8217;t want to pay the price, either because there are better substitutes out there (books, &lt;xxx&gt;, other apps) or because they are not used to paying for iphone/android apps.</li>
<li>The volume of customers is too small to justify the effort.</li>
</ol>
<p>The best way to test 1-3 together is to write some marketing copy for the app (as if it&#8217;s already ready) and create the best possible landing page possible using a tool like launchrock. The call to action on that page can just be &#8216;enter your email address to be notified when the app will be available for purchase in the app store&#8217;. Then do a marketing campaign (like email your friends asking them to forward the message on). You need to have in mind a number of responses which will make you think it&#8217;s worth going to the next step. If the app is going to be paid, then the landing page should mention the price, otherwise you&#8217;re not testing for (2).</p>
<p>Another way to test for (2) in isolation is to find an existing competitor app (there is one which costs 1.49 on the [Apple] app store) and try and try to talk people into buying it. If you show people who are in the target market (&lt;target customers&gt; with iphones/android phones) the app, and can&#8217;t convince them to pay 1.49 for it, you should be able to get a good list of objections. If it&#8217;s an easy sell, on the other hand, then&#8230;</p>
<p>You get the idea. Also take a look at this excellent article: http://www.ashmaurya.com/2011/06/your-product-is-not-the-product/</p></blockquote>
<p>What do you think? Was my response reasonable? What did I miss?</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F12%2Fwhen-will-the-app-be-ready%2F&amp;title=When%20will%20the%20app%20be%20ready%3F" id="wpa2a_16">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/12/when-will-the-app-be-ready/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sencha Touch 2 and PhoneGap (aka Apache Callback) &#8211; getting started</title>
		<link>http://blog.encona.com/2011/12/sencha-touch-2-and-phonegap-aka-apache-callback-getting-started/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sencha-touch-2-and-phonegap-aka-apache-callback-getting-started</link>
		<comments>http://blog.encona.com/2011/12/sencha-touch-2-and-phonegap-aka-apache-callback-getting-started/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 03:19:55 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[iPhone/iPad]]></category>
		<category><![CDATA[apache callback]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[sencha touch]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=61</guid>
		<description><![CDATA[What are Sencha Touch and PhoneGap? The combination of Sencha Touch and PhoneGap is alluring for someone wanting to rapidly prototype mobile applications: Sencha Touch provides a framework for developing HTML5/CSS apps targeted at mobile devices, providing classes for common &#8230; <a href="http://blog.encona.com/2011/12/sencha-touch-2-and-phonegap-aka-apache-callback-getting-started/">Continued</a>]]></description>
			<content:encoded><![CDATA[<h3>What are Sencha Touch and PhoneGap?</h3>
<p>The combination of Sencha Touch and PhoneGap is alluring for someone wanting to rapidly prototype mobile applications:</p>
<ul>
<li>Sencha Touch provides a framework for developing HTML5/CSS apps targeted at mobile devices, providing classes for common UI elements, database functions and the like, all of which can be accessed using object-oriented JavaScript</li>
<li>PhoneGap packages those apps (trees of html/css/js files) into native app wrappers (which can then be submitted to app stores for iPhone etc.).  It also provides APIs to allow your JavaScript to access native <span id="more-61"></span>device features (e.g. Camera) which are otherwise not available to &#8216;web&#8217; apps.</li>
</ul>
<p>Both of these frameworks are free：</p>
<ul>
<li>Sencha Touch can be licensed either commercially (free as in ‘free beer’) or open source (free as in ‘freedom’)</li>
<li>PhoneGap is in the process of becoming an <a href="http://wiki.phonegap.com/w/page/46311152/apache-callback-proposal" target="_blank">Apache Project</a></li>
</ul>
<p>Before I started to write a sample application, I thought I could just write a Sencha Touch app, drag it into a PhoneGap project, and let it run.  However, I came across a few humps along the way. I&#8217;m writing this post in part as a reminder to myself, but I hope it will be useful to anyone at a similar stage in their ST2/PhoneGap journey.</p>
<h3>Smoothing the path</h3>
<p>Below is a list of suggestions/information I with I&#8217;d had when I started. I&#8217;m writing this post in part as a reminder to myself, but I hope it will be useful to anyone at a similar stage in their ST2/PhoneGap journey.</p>
<h4>Sencha Touch 2 is new</h4>
<p>It has significant differences from Sencha Touch 1.1 (not least dynamic loading of classes, and more &#8216;convention&#8217;).  At the time of writing (November 2011), there are very few great documents about Sencha Touch 2.  However, there is a <a href="http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-1" target="_blank">3-part article series on Sencha&#8217;s web site which</a>, whilst targeted at ExtJS, is mostly applicable to Sencha Touch 2.  Parts 2 and 3 in particular are good for reference.</p>
<p>You will want to pay particular attention to:</p>
<ul>
<li><strong>Class naming:</strong> you need to pay attention to how you namespace your classes and design your folder structure.  Your app&#8217;s top-level folder structure should match your app&#8217;s namespace.  To keep things simple, I called my app App.  So, inside my PhoneGap project, I have folders like App/model, App/controller etc.  The App folder name matches my App name defined in app.js:</li>
</ul>
<pre class="wp-code-highlight prettyprint"> Ext.application
    name:'App', // The folder name should match this
    controllers: ['Main'], //Small app, so all functions in one controller
    models: [], //If your app has models, reference them here
    stores: [], //If your app has stores, reference them here
    launch: function() {
        Ext.create('App.view.Viewport');
    }
});</pre>
<ul>
<li><strong>Architect your app as MVC from the start.  </strong>You may regret it if you don&#8217;t.</li>
<li><strong>Use auto-loading of classes only during development.  </strong>Put in the relevant &#8216;Ext.require&#8217; statements when you deploy.  Auto-loading of classes works fine when you&#8217;re accessing a Sencha Touch 2 app via a web browser on a server, but it breaks when you&#8217;re accessing it from a local filesystem (which is the situation when you deploy with PhoneGap).  Whilst knowing when to use &#8216;Ext.require&#8217; may seem a pain, it&#8217;s actually easy.  Assuming you are using the &#8216;debug-with-comments&#8217; version of the sencha-touch.js file, you will see messages in your JavaScript debugger (e.g. Safari&#8217;s Web Inspector) giving you recommendations for adding Ext.require statements.  Just follow these recommendations until you don&#8217;t see any more of them.  Once that&#8217;s done, you know your app is ready to try off a local filesystem.</li>
</ul>
<h4>PhoneGap isn&#8217;t a browser</h4>
<p>It might be tempting to think of PhoneGap as &#8216;just another WebKit browser&#8217;.  Whilst this is sort of true, you need to be aware that:</p>
<ul>
<li><strong>Unlike most browsers, there&#8217;s no JS debugger built-in.</strong>  Therefore, once your app works fine on your desktop browser, plug it into the <a href="http://phonegap.github.com/weinre/">weinre debugger</a> so that you can see what&#8217;s happening.  If you don&#8217;t do this, your app might show just a blank screen, and you&#8217;ll have no way to figure out what went wrong.</li>
<li><strong>Unlike most browsers, you can&#8217;t just access any web site you want.</strong>  PhoneGap has a whitelist of web sites to which requests will be allowed.  You will want to add localhost to that (otherwise weinre won&#8217;t work), as well as any places from which you&#8217;re loading images, scripts or JSON/XML.</li>
<li><strong>Like most browsers, </strong>you can&#8217;t just load JSON files from the local filesystem.  Therefore, an app which relies on a local JSON database might work fine when you access it via a local web server, but the JSON will fail to load if you run it from the local filesystem (using your desktop browser) or using PhoneGap.  There are workarounds, but they are outside the scope of this post.  You can Google &#8216;sencha touch scripttag  jsonp&#8217; to see some info.</li>
</ul>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F12%2Fsencha-touch-2-and-phonegap-aka-apache-callback-getting-started%2F&amp;title=Sencha%20Touch%202%20and%20PhoneGap%20%28aka%20Apache%20Callback%29%20%E2%80%93%20getting%20started" id="wpa2a_18">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/12/sencha-touch-2-and-phonegap-aka-apache-callback-getting-started/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Task Management tools are different from Notes</title>
		<link>http://blog.encona.com/2011/11/task-management-tools-are-different-from-notes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=task-management-tools-are-different-from-notes</link>
		<comments>http://blog.encona.com/2011/11/task-management-tools-are-different-from-notes/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 06:31:58 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[iPhone/iPad]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[notational velocity]]></category>
		<category><![CDATA[nv]]></category>
		<category><![CDATA[plaintext]]></category>
		<category><![CDATA[resophnotes]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=55</guid>
		<description><![CDATA[Tasks are different from notes. This might sound obvious to most people but if, like me, you&#8217;ve tried to implement Dave Allen&#8217;s Getting Things Done (GTD) methodology, you might have the same problem as I do: you come across so &#8230; <a href="http://blog.encona.com/2011/11/task-management-tools-are-different-from-notes/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>Tasks are different from notes. This might sound obvious to most people but if, like me, you&#8217;ve tried to implement Dave Allen&#8217;s Getting Things Done (GTD) methodology, you might have the same problem as I do: you come across so many interesting things in the course of conversations, conferences, reading etc., that you end up with a lot of items in the &#8216;some day&#8217; or &#8216;inbox&#8217; categories of your todo list/app/site/pad/whatever.</p>
<p>I use <a href="http://www.toodledo.com/" target="_blank">toodledo.com</a> to manage tasks. The free version <span id="more-55"></span>suits my needs, and there are several iphone/ipad task management apps which can sync contexts, tasks etc. with it. When I want to add a task, I usually email the task to toodledo&#8217;s special email address (which is stored in my phone&#8217;s contact list) and then forget about it until my next inbox-emptying session.</p>
<p>Today I wanted to clear out the large number of &#8216;research this&#8217;-type tasks that were cluttering up my @computer context. They had been there for so long because they weren&#8217;t urgent. They were things (e.g. business models, specific companies, interesting open source projects) that I wanted to check out *at some point* but not as a matter of priority. They didn&#8217;t *have* to be done, so they probably didn&#8217;t belong in my to do list in the first place. However, I wanted somewhere to keep them.</p>
<p>My requirements were:</p>
<ul>
<li>Had to be super-simple</li>
<li>Had to be available off-line on both computer and phone</li>
<li>Had to not be blocked in China (which ruled out anything based on Google&#8217;s app engine, like the excellent Simplenote)</li>
</ul>
<p>A few Google searches later, and I think the answer is three free apps, all of which store their notes as text files in a Dropbox folder:</p>
<ul>
<li><a href="http://notational.net/" target="_blank">Notational Velocity</a>, am amazing (and amazingly simple) note-taking app for Mac OS X</li>
<li><a href="http://www.hogbaysoftware.com/products/plaintext" target="_blank">PlainText</a>, a free notes app for iOS</li>
<li><a href="http://resoph.com/ResophNotes/" target="_blank">ResophNotes</a> for Windows</li>
</ul>
<p>I&#8217;ve only tried NV so far, but I&#8217;m hooked already.  The keyboard shortcuts and mode-less operation make it stand out from other GUI text editors.</p>
<p>What do you use?  Do you know of a similar tool for linux or android?  Please let me know in the comments section.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F11%2Ftask-management-tools-are-different-from-notes%2F&amp;title=Task%20Management%20tools%20are%20different%20from%20Notes" id="wpa2a_20">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/11/task-management-tools-are-different-from-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iXBRL Summary &#8211; What it is, why it&#8217;s important for UK accountants, and what to do about it</title>
		<link>http://blog.encona.com/2011/10/ixbrl-summary-what-it-is-why-its-important-for-uk-accountants-and-what-to-do-about-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ixbrl-summary-what-it-is-why-its-important-for-uk-accountants-and-what-to-do-about-it</link>
		<comments>http://blog.encona.com/2011/10/ixbrl-summary-what-it-is-why-its-important-for-uk-accountants-and-what-to-do-about-it/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 06:34:24 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Accounting]]></category>
		<category><![CDATA[accounting]]></category>
		<category><![CDATA[ixbrl]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uk]]></category>
		<category><![CDATA[xbrl]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=41</guid>
		<description><![CDATA[I was recently asked to research this topic for a friend and, whilst there was a great deal of discussion and factual information on the web, I didn&#8217;t come across anything which simply answered the question I was posed: Up &#8230; <a href="http://blog.encona.com/2011/10/ixbrl-summary-what-it-is-why-its-important-for-uk-accountants-and-what-to-do-about-it/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>I was recently asked to research this topic for a friend and, whilst there was a great deal of discussion and factual information on the web, I didn&#8217;t come across anything which simply answered the question I was posed:</p>
<blockquote><p>Up until now, when I&#8217;ve submitted CT (Corporation Tax) returns to HMRC (Her Majesty&#8217;s Revenue &amp; Customs), I have been able to attach the accounts I&#8217;ve prepared either as Excel or PDF. I understand that soon this will not be allowed, and that I must submit accounts in iXBRL format.</p>
<p>- What is iXBRL?<br />
- Why the change?<br />
- How can I comply?</p></blockquote>
<h3>What is iXBRL?</h3>
<p>iXBRL (<strong>i</strong>n-line <strong>X</strong>tensible <strong>B</strong>usiness <strong>R</strong>eporting <strong>L</strong>anguage) is a <span id="more-41"></span>data (file) format for accounts (and computations).  It is intended to be readable by both humans and by computer software.  Whilst PDF files and Excel files are excellent ways of storing information for printing or for humans to read, they&#8217;re not particularly easy for computer software to understand, as the relevant numbers (e.g. &#8216;net income&#8217;) are not in fixed positions.  The way iXBRL solves this is by using text descriptions and HTML tags to make the document legible, whilst inserting XBRL tags &#8216;in-line&#8217; so that they are invisible to the human reader (when they open the accounts in web browser like Mozilla Firefox or Google Chrome), but are easily found by the software.</p>
<p>For example, in a simple text file, by &#8216;net income&#8217; figure could look like:</p>
<pre class="wp-code-highlight prettyprint">1000</pre>
<p>If I wanted to make this easier for a human to read, and put it into an HTML file, I might add the words &#8216;Net profit&#8217; in bold, and make the number italic, by using HTML tags (the things in angled brackets):</p>
<pre class="wp-code-highlight prettyprint">&lt;strong&gt;Net profit: &lt;/strong&gt;&lt;em&gt;1000&lt;/em&gt;</pre>
<p>When opened in a web browser, this would look like:</p>
<p><strong>Net profit:</strong> <em>1000</em></p>
<p>Great, but how about the computer?  Well the computer doesn&#8217;t know what you mean by &#8216;Net Profit:&#8217;.  However, thanks to the XBRL and iXBRL specifications, it can understand:</p>
<pre class="wp-code-highlight prettyprint">&lt;strong&gt;Net profit: &lt;/strong&gt;&lt;em&gt;1000&lt;/em&gt;</pre>
<p>Those extra tags are ignored by a web browser, so when we humans look at the file, we still see:</p>
<p><strong>Net profit:</strong> <em>1000</em></p>
<p><em></em>However, the computer understands what it means, so the nice people at HMRC can use computer software automate some of their analysis and computation, but still review accounts visually when required.</p>
<h3>Your options</h3>
<p>By now you&#8217;re probably thinking: &#8220;yeah, but I&#8217;m not going to write all of those tags myself&#8221;.  This is the useful bit.  There are lots of good ways to get your accounts into iXBRL format:</p>
<ol style="font-size: 13px;">
<li>Use an accounting package which can generate iXBRL directly from the ledgers.</li>
<li>Prepare the accounts in Excel, Word or whatever, and use an outsourced conversion service.</li>
<li>Prepare the accounts in Excel, and use some software to convert the accounts to iXBRL.</li>
</ol>
<div style="font-size: 13px;">If you&#8217;re going with option 1, you probably don&#8217;t need to read on, as you already have a suitable process.  If you&#8217;re lost and are thinking about option 2, you can <a href="http://www.hmrc.gov.uk/efiling/ctsoft_dev.htm" target="_blank">check out the HMRC&#8217;s list of providers</a>.  However, my friend was most interested in option 3, as they didn&#8217;t want to switch from producing accounts in Excel (which they knew well) to using an unfamiliar piece of accounting software (and having to re-enter trial balances to boot).</div>
<h3>What my friend did</h3>
<p style="font-size: 13px;">So, we were on the lookout for some software which could take accounts in Excel, and convert those accounts into iXBRL.  The problem with that is hopefully obvious: how would the software know which cells in Excel have the right data.  It turns out that VT Software has the answer.  Their software has two components:</p>
<ul>
<li>Normal accounting software which outputs accounts in Excel format</li>
<li>An Excel plug-in which converts VT-produced Excel files into iXBRL</li>
</ul>
<div>The special thing about the VT-produced Excel files is that the important cells are tagged.  That way the VT iXBRL converter knows what it has to do to them.</div>
<p>The great thing, and that which helped my friend, is that once you have a VT-formatted Excel file, you can save a new copy, type over the figures with new ones (e.g. for a different company), and then run the VT iXBRL plug-in in Excel.  So, you don&#8217;t have to start doing all your accounts in VT; you just need to get your output figures (not source figures or TB) into the VT-formatted Excel file.</p>
<p>Bottom line: If you prepare accounts in Excel, the <a href="http://www.vtsoftware.co.uk/final_accounts/index.htm" target="_blank">VT Accounts Suite</a> is worth the <a href="http://www.vtsoftware.co.uk/prices/index.htm" target="_blank">199+VAT</a> annual fee, for the use of the Excel iXBRL plug-in alone.  There might be other packages/services which do a similar job for a lower price, but VT is so reasonably-priced it didn&#8217;t seem worth the time/effort to research and evaluate alternatives.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F10%2Fixbrl-summary-what-it-is-why-its-important-for-uk-accountants-and-what-to-do-about-it%2F&amp;title=iXBRL%20Summary%20%E2%80%93%20What%20it%20is%2C%20why%20it%E2%80%99s%20important%20for%20UK%20accountants%2C%20and%20what%20to%20do%20about%20it" id="wpa2a_22">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/10/ixbrl-summary-what-it-is-why-its-important-for-uk-accountants-and-what-to-do-about-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things to buy on Taobao (淘宝) if you live in China (中国)</title>
		<link>http://blog.encona.com/2011/10/things-to-buy-on-taobao-%e6%b7%98%e5%ae%9d-if-you-live-in-china-%e4%b8%ad%e5%9b%bd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=things-to-buy-on-taobao-%25e6%25b7%2598%25e5%25ae%259d-if-you-live-in-china-%25e4%25b8%25ad%25e5%259b%25bd</link>
		<comments>http://blog.encona.com/2011/10/things-to-buy-on-taobao-%e6%b7%98%e5%ae%9d-if-you-live-in-china-%e4%b8%ad%e5%9b%bd/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 13:38:38 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=30</guid>
		<description><![CDATA[Buying physical items online can be great wherever you are, because： You get to choose from lots of items, and compare features and price You don&#8217;t have to get up, except to answer the door In China, it&#8217;s even better &#8230; <a href="http://blog.encona.com/2011/10/things-to-buy-on-taobao-%e6%b7%98%e5%ae%9d-if-you-live-in-china-%e4%b8%ad%e5%9b%bd/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>Buying physical items online can be great wherever you are, because：</p>
<ul>
<li>You get to choose from lots of items, and compare features and price</li>
<li>You don&#8217;t have to get up, except to answer the door</li>
</ul>
<p>In China, it&#8217;s even better because:</p>
<ul>
<li>The range of items in any specific category is huge</li>
<li>Bricks and mortar retailers charge a lot for things which are common the West but don&#8217;t move as fast in China (e.g. espresso machine)</li>
<li>Once you get used to using Taobao, sorting through search results to find a good option is a snap, and it&#8217;s much easier to find good sellers than it is on ebay (because<span id="more-30"></span> ebay navigation is mostly about items)</li>
<li>Delivery is cheap (usually about 10RMB (1GBP,US$1.60) for 1-2 day express (快递) delivery</li>
</ul>
<p>I won&#8217;t go through the mechanisms of buying on Taobao in this post, except for my general search method:</p>
<ol>
<li>Search for the type of item you want.  Usually I&#8217;m looking for a thing like ‘coffee machine&#8217; rather than a specific brand/model.   If you are searching for a particular brand, you will get more results with the Chinese version of the brand name, together with the item type.  (e.g. search for 苹果 平板电脑 rather than Apple iPad2).  That&#8217;s pretty much the worst example I could have used, but you get the idea.</li>
<li>Sort the search results by sales volume.</li>
<li>Refine your search term until at least 4 of the top 10 (by sales volume) items are relevant.  You can refine by looking at the relevant listings  (assuming there are some) and adding keywords to your search, looking at irrelevant ones to find keywords to &#8216;exclude&#8217; and filtering by price.</li>
<li>Once you have a good list, look at the sellers for the top 10 items.   Is there a particularly popular seller?  If so, open his shop in a new window, and sort his items by sales volume.  Then browse all of his items.  Most sellers specialise in a class of items, and you may change your mind about what you want, or realise there are related items you need as well.</li>
<li>Check the delivery cost before you add something to your basket.</li>
<li>Check the delivery cost before you check-out.  Most sellers are reasonable about delivery costs, and have the system automatically combine delivery fees for multiple items.  However, some use the same tricks we see in the West, with a low headline price (e.g. 10RMB), expensive shipping (30RMB) and no shipping discount for multiple items.  I haven&#8217;t found a reliable way to know how the shipping is combined without going through to checkout.</li>
</ol>
<p>Anyway, back to the main point of the article&#8230; things I&#8217;ve bought on Taobao, that you might like too.  I&#8217;m not going to link to specific products, as the links are likely to break over time.  However, I *will* link to the seller&#8217;s main page.</p>
<ul>
<li><a href="http://tanglaoya.taobao.com/?search=y&amp;stp=1" target="_blank">Wii Mains Adapter</a></li>
<li><a href="http://beileisi.tmall.com/shop/view_shop.htm?search=y" target="_blank">Flowers</a></li>
<li><a href="http://aipinbu.taobao.com/?search=y&amp;stp=1" target="_blank">Various fabrics</a></li>
<li><a href="http://shop36060126.taobao.com/?search=y" target="_blank">Case for Kindle</a></li>
<li><a href="http://shop57081361.taobao.com/?search=y" target="_blank">iPad Camera Connection Kit</a> (cheaper than the Apple version)</li>
<li><a href="http://shop58587458.taobao.com/?search=y" target="_blank">Cushions</a></li>
<li><a href="http://asng.taobao.com/?search=y&amp;stp=1" target="_blank">Sewing Machine</a> (to make cushion covers)</li>
<li><a href="http://8080000.taobao.com/?search=y" target="_blank">Crates</a> (I&#8217;m told that Americans call these &#8216;plastic boxes&#8217;)</li>
<li><a href="http://huabu.taobao.com/?search=y" target="_blank">Frames for stretching canvas</a></li>
<li><a href="http://fengkuangtiyu.taobao.com/" target="_blank">Table tennis equipment</a></li>
<li><a href="http://4006686.taobao.com/?search=y" target="_blank">Purse/handbag hooks</a></li>
<li><a href="http://mountainpeak.tmall.com/" target="_blank">Bicycle helmets</a></li>
<li><a href="http://tool-s.taobao.com/?search=y" target="_blank">Soldering iron kit</a></li>
</ul>
</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F10%2Fthings-to-buy-on-taobao-%25e6%25b7%2598%25e5%25ae%259d-if-you-live-in-china-%25e4%25b8%25ad%25e5%259b%25bd%2F&amp;title=Things%20to%20buy%20on%20Taobao%20%28%E6%B7%98%E5%AE%9D%29%20if%20you%20live%20in%20China%20%28%E4%B8%AD%E5%9B%BD%29" id="wpa2a_24">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/10/things-to-buy-on-taobao-%e6%b7%98%e5%ae%9d-if-you-live-in-china-%e4%b8%ad%e5%9b%bd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chinese input methods for iPhone and iPad &#8211; any good ones for iOS5?</title>
		<link>http://blog.encona.com/2011/10/chinese-input-methods-for-iphone-and-ipad-any-good-ones-for-ios5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=chinese-input-methods-for-iphone-and-ipad-any-good-ones-for-ios5</link>
		<comments>http://blog.encona.com/2011/10/chinese-input-methods-for-iphone-and-ipad-any-good-ones-for-ios5/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 12:03:25 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=26</guid>
		<description><![CDATA[The built-in Chinese character input on iOS4 was OK.  Like most foreigners in China, I&#8217;m much happier using a pinyin-based phonetic input method than I am using a stroke-based method.  After all, we learn the pinyin for each character as &#8230; <a href="http://blog.encona.com/2011/10/chinese-input-methods-for-iphone-and-ipad-any-good-ones-for-ios5/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>The built-in Chinese character input on iOS4 was OK.  Like most foreigners in China, I&#8217;m much happier using a pinyin-based phonetic input method than I am using a stroke-based method.  After all, we learn the pinyin for each character as a by-product of learning how to pronounce words, so it&#8217;s natural to remember the pinyin more easily than the strokes.</p>
<p>There are lots of good pinyin input methods (输入法) for different platforms.  The user types the pinyin for a character (e.g. ni) or a phrase (e.g. nihao) and is presented with a set of options, e.g. ni might be 你，拟，呢，尼，泥&#8230; and nihao might be 你好，拟好，&#8230;</p>
<p>Anyway, the quality and presentation of the options can greatly affect how quickly you can type, so a good 输入法 is important.  The ones I&#8217;ve used and like:<span id="more-26"></span></p>
<ul>
<li><a href="http://pinyin.sogou.com/" target="_blank">Sogou (搜狗)</a> has a great set of tools, which I&#8217;ve used on Windows, Mac OS X, Nokia Symbian and iOS</li>
<li><a href="http://shouji.baidu.com/input/" target="_blank">Baidu (百度)</a> has a good one for iOS.  I&#8217;ve not tried it on <a href="http://shurufa.baidu.com/" target="_blank">other platforms</a>.</li>
<li><a href="http://wi.hit.edu.cn/" target="_blank">WI method</a> was the first one I used on iPhone, before I knew about the others.</li>
<li><a href="http://www.google.com/intl/zh-CN/ime/pinyin/" target="_blank">Google Pinyin</a> was originally for Windows.  After Google made an Android version, some members of the linux community <a href="http://code.google.com/p/scim-googlepinyin/" target="_blank">ported the source to work on Linux</a>.  (Interestingly, Google also makes an <a href="http://www.google.com/intl/zh-CN/ime/english/" target="_blank">English input method for Windows</a>, targeted at Chinese people.)</li>
</ul>
<p>After the release of iOS5, I upgraded 3 devices to iOS5, and tried to install different 3rd-party 输入法 software (after jailbreaking).  One (an iPhone 3GS) worked fine with the Sogou input method.  The others (iPhone4, iPad1) had problems (one wouldn&#8217;t boot, one gave errors about mobilesubstrate and &#8216;safe mode&#8217;) when I tried the Sogou or Baidu methods.</p>
<p>I don&#8217;t want to have to &#8216;restore&#8217; my devices again, so I&#8217;ll stick with the built-in 输入法 for now.  It seems better than the one in iOS4, in that it can recognise more phrases from just initial letters, but it&#8217;s far from Sogou (which will turn, e.g. wbxq, into 我不想去 &#8211; <em>I don&#8217;t want to go</em>).</p>
<p>What are you using?  Did you have to do anything special to make it work?  Was installing a good 输入法 your main reason for jailbreaking your phone?</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F10%2Fchinese-input-methods-for-iphone-and-ipad-any-good-ones-for-ios5%2F&amp;title=Chinese%20input%20methods%20for%20iPhone%20and%20iPad%20%E2%80%93%20any%20good%20ones%20for%20iOS5%3F" id="wpa2a_26">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/10/chinese-input-methods-for-iphone-and-ipad-any-good-ones-for-ios5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kindle newspaper subscriptions: Are they worth it?</title>
		<link>http://blog.encona.com/2011/10/kindle-newspaper-subscriptions-are-they-worth-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kindle-newspaper-subscriptions-are-they-worth-it</link>
		<comments>http://blog.encona.com/2011/10/kindle-newspaper-subscriptions-are-they-worth-it/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 15:07:44 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[newspapers]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=22</guid>
		<description><![CDATA[I get news from three places: The Economist Online articles recommended by friends via email, Twitter or other social tools RSS feeds to which I subscribe using Google Reader Although I consume almost all of this on my iPad, I &#8230; <a href="http://blog.encona.com/2011/10/kindle-newspaper-subscriptions-are-they-worth-it/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>I get news from three places:</p>
<ul>
<li>The Economist</li>
<li>Online articles recommended by friends via email, Twitter or other social tools</li>
<li>RSS feeds to which I subscribe using Google Reader</li>
</ul>
<div>Although I consume almost all of this on my iPad, I realise that not everyone likes to read on a backlit screen.  For some people, paper and/or an e-ink screen is better.  I had a Sony PRS-505 for a while and, after I had gotten used to the non-instant page-turns, was happy enough reading novels on it.</div>
<div>With this in mind, I recently bought a Kindle as a gift for someone, hoping <span id="more-22"></span>I could persuade them to abandon their daily (paper) newspaper.  It seemed easy enough, as Amazon sells a version for 10GBP per month (about US$15).  However, after buying the Kindle (but before buying the newspaper subscription) I read the reviews for the Kindle version of that specific newspaper (a UK quality daily).   Almost all of the reviewers complained about:</div>
<div>
<ul>
<li>Poor formatting</li>
<li>Poor navigation</li>
<li>Missing content (vs. the print version)</li>
<li>Lack of improvement in these two, despite the Kindle version having been released a long time ago</li>
</ul>
<div>This put me off, and I briefly considered returning the Kindle and buying an iPad instead.  However, I have an aversion to returning things I&#8217;ve purchased unless they are faulty and, although this particular item was not &#8216;fit for purpose&#8217;, I decided to see what else I could do.  I thought about:</div>
<div>
<ul>
<li>Subscribing to a different newspaper (whose Kindle edition had excellent reviews)</li>
<li>Using a set of RSS feeds in an effort to create a &#8216;curated news&#8217; experience which could be superior to the daily newspaper</li>
</ul>
<div>The &#8216;RSS feeds&#8217; approach had a few Pros:</div>
<div>
<ul>
<li>There&#8217;s lots of free content on the web, and much of it has associated RSS feeds</li>
<li>My Google Reader account already has a list of good news sources (both traditional and blog)</li>
<li>It would be free, and I wouldn&#8217;t feel bad if I had to backtrack later</li>
</ul>
<div>It also had a few cons:</div>
<div>
<ul>
<li>I wanted it to work offline (which ruled out Google Reader&#8217;s mobile site, which otherwise might have worked well)</li>
<li>Some good RSS feeds do not contain full article text, but just short summaries</li>
<li>The navigation would not be newspaper-like (when you&#8217;re bored  reading a newspaper you just turn the page and hope there&#8217;s something more interesting.  With an RSS reader you have to choose from many options.)</li>
</ul>
<div>It turns out that there are lots of tools which can turn RSS feeds into Kindle books (or Kindle periodicals).  Broadly, they do some or all of the tasks below:</div>
<div>
<ol>
<li>Get a list of &#8216;new&#8217; articles from a set of RSS feeds (maintained in the tool, or downloaded from Google Reader)</li>
<li>Download the text of the articles (some are clever enough to get the full text from the original site, rather than taking the summary version from the RSS feed)</li>
<li>Provide an online interface to customise delivery options (number of articles per feed per time, frequency of checking feeds, frequency of delivery)</li>
<li>Packaging the content into a single file, with different feeds being represented by different &#8216;sections&#8217; in the file</li>
<li>Sending the file to the Kindle&#8217;s email address</li>
</ol>
<div>I&#8217;m still looking for the right tool but, having looked at what&#8217;s out there, I find it hard to imagine why I (personally) would choose to pay US$15 per month to Amazon for a single UK newspaper, rather than paying US$2 per month to get a nicely-formatted book of my favourite RSS news sources, including both newspaper articles and blog posts.  That these services (like <a title="http://www.kindlefeeder.com/" href="http://www.kindlefeeder.com/" target="_blank">KindleFeeder</a>, <a href="http://www.tomykindle.com/" target="_blank">ToMyKindle</a>, <a href="http://kindle4rss.com/" target="_blank">Kindle4RSS</a>) exist suggests that Amazon may, over time, not be able to maintain its position as the (almost) sole retailer of content of the Kindle, even as the device&#8217;s popularity grows, thus increasing business opportunities for others.</div>
</div>
<div>If you are a current/past/future Kindle newspaper subscriber, I&#8217;d like to hear from you via the comments below.  Why did you decide to subscribe/unsubscribe?   How do you feel about the experience?   What alternatives did you, or will you, consider?</div>
</div>
</div>
</div>
</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F10%2Fkindle-newspaper-subscriptions-are-they-worth-it%2F&amp;title=Kindle%20newspaper%20subscriptions%3A%20Are%20they%20worth%20it%3F" id="wpa2a_28">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/10/kindle-newspaper-subscriptions-are-they-worth-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Debian Squeeze on your Buffalo Linkstation Live</title>
		<link>http://blog.encona.com/2011/10/installing-debian-squeeze-on-your-buffalo-linkstation-live/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-debian-squeeze-on-your-buffalo-linkstation-live</link>
		<comments>http://blog.encona.com/2011/10/installing-debian-squeeze-on-your-buffalo-linkstation-live/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 05:37:50 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[buffalo]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=18</guid>
		<description><![CDATA[I have a Buffalo Linkstation Live (HS-DH320GL).  It was sold as a NAS (Network Attached Storage) drive, but there is a community of people who have devised methods of using it for other things.  I&#8217;m a fan of Debian GNU/Linux &#8230; <a href="http://blog.encona.com/2011/10/installing-debian-squeeze-on-your-buffalo-linkstation-live/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>I have a Buffalo Linkstation Live (HS-DH320GL).  It was sold as a NAS (Network Attached Storage) drive, but there is a community of people who have devised methods of using it for other things.  I&#8217;m a fan of <a title="Debian" href="http://www.debian.org/" target="_blank">Debian GNU/Linux</a> so, naturally, one of the first things I did after unboxing the drive (a couple of years ago) was to install Debian Etch using <a href="http://buffalo.nas-central.org/wiki/FreeLink_for_the_LinkStation_PRO/LIVE" target="_blank">Freelink</a>.</p>
<p>A few days ago, I wanted to upgrade to the latest stable release of Debian (<a title="Debian Squeeze" href="http://www.debian.org/News/2011/20111008" target="_blank">Squeeze</a>), so I went back to the same site and tried to follow the <a title="Linkstation Debian Squeeze installation" href="http://buffalo.nas-central.org/wiki/Install_Debian_on_the_Linkstation_Pro/Live" target="_blank">current instructions for installing Debian</a>.  However, I got stuck<span id="more-18"></span> because:</p>
<ul>
<li>I already had Freelink installed, so I didn&#8217;t have the requisite version of uboot</li>
<li>I didn&#8217;t want to re-flash with the stock firmware (with a later version of uboot) as I feared I would then have to find some instructions for getting root access</li>
</ul>
<div>In the end, I used those instructions, but in a slightly different sequence:</div>
<div>
<ol>
<li>Unscrew the Linkstation, remove the SATA hard drive, plug it into a desktop computer, and delete all of the partitions.  Then put the drive back.</li>
<li>Download the Debian installation files:</li>
<ol>
<li><a title="uImage.buffalo" href="http://http.us.debian.org/debian/dists/stable/main/installer-armel/current/images/orion5x/network-console/buffalo/lspro/uImage.buffalo" target="_blank">uImage.buffalo</a></li>
<li><a title="initrd.buffalo" href="http://http.us.debian.org/debian/dists/stable/main/installer-armel/current/images/orion5x/network-console/buffalo/lspro/initrd.buffalo" target="_blank">initrd.buffalo</a></li>
</ol>
<li>Follow the instructions for using a <a title="Linkstation TFTP" href="http://buffalo.nas-central.org/wiki/Revive_your_arm9_box_from_scratch#General_Procedure" target="_blank">TFTP server for recovering a &#8216;bricked&#8217; Linkstation.</a>  However, before you run the TFTP server, overwrite the uImage.buffalo and initrd.buffalo files in the TFTP server folder, with the ones you downloaded.</li>
<li>Reboot the Linkstation, and use an SSH client to connect to it (you can guess the IP address, or look at your router&#8217;s list of DHCP clients).  Login as installer (password: install) and follow the normal instructions for installing Debian.</li>
</ol>
<div>If, like me, you add sound using a cheap USB audio adapter, after installing the requisite tools like alsa-utils, you will want to ensure that the USB audio adapter is not prevented from being used as the primary sound device.  Remove or comment the following line from /etc/modprobe.d/alsa-base.conf</div>
<pre class="wp-code-highlight prettyprint">options snd-usb-audio index=-2</pre>
</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F10%2Finstalling-debian-squeeze-on-your-buffalo-linkstation-live%2F&amp;title=Installing%20Debian%20Squeeze%20on%20your%20Buffalo%20Linkstation%20Live" id="wpa2a_30">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/10/installing-debian-squeeze-on-your-buffalo-linkstation-live/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Upgrade your iPhone 3GS to iOS5 without losing your unlock</title>
		<link>http://blog.encona.com/2011/10/upgrade-your-iphone-3gs-to-ios5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=upgrade-your-iphone-3gs-to-ios5</link>
		<comments>http://blog.encona.com/2011/10/upgrade-your-iphone-3gs-to-ios5/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 05:02:31 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[3GS]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[redsn0w]]></category>
		<category><![CDATA[SAM]]></category>
		<category><![CDATA[ultrasn0w]]></category>
		<category><![CDATA[unlock]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=16</guid>
		<description><![CDATA[A friend recently asked me for some advice about upgrading their iPhone 3GS to iOS5.  They were concerned that they wouldn&#8217;t be able to use it after the upgrade, as the phone was bought from a mobile carrier in the &#8230; <a href="http://blog.encona.com/2011/10/upgrade-your-iphone-3gs-to-ios5/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>A friend recently asked me for some advice about upgrading their iPhone 3GS to iOS5.  They were concerned that they wouldn&#8217;t be able to use it after the upgrade, as the phone was bought from a mobile carrier in the USA, and relied on a software &#8216;unlock&#8217; to work with a SIM card from a mobile carrier in China.  My brief reply is copied below:</p>
<p>If the phone was originally from AT&amp;T<span id="more-16"></span>, then:</p>
<ul>
<li>it&#8217;s probably unlocked with <a title="ultrasn0w" href="http://blog.iphone-dev.org/tagged/ultrasn0w" target="_blank">ultrasn0w</a> which is a piece of software which runs on the phone and fools it into working with a different carrier&#8217;s SIM card.</li>
<li>it will also have been &#8216;activated&#8217; using one of these methods:</li>
<ul>
<li>by inserting an AT&amp;T sim and connecting to itunes</li>
<li>by &#8216;hacktivating&#8217; during the jailbreak process with redsn0w or another piece of jailbreak software</li>
<li>by the installation of <a title="SAM" href="http://www.bingner.com/SAM.html" target="_blank">SAM</a> and <a title="SAMPrefs" href="http://www.bingner.com/SAM.html" target="_blank">SAMPrefs</a></li>
</ul>
</ul>
<p>When you upgrade to iOS5, you will need to jailbreak (allowing 3rd party apps to run) and unlock again.  The current jailbreak methods available for iOS5 are &#8216;tethered&#8217;, meaning that, if the phone needs to be (re)booted (e.g. due to loss of power), you will need to connect it to a computer and run some software (e.g. <a title="redsn0w" href="http://blog.iphone-dev.org/redsn0w-iOS5" target="_blank">redsn0w</a>). Not  only can redsn0w jailbreak a phone, but also has a &#8216;just boot tethered right now&#8217; option.</p>
<p>Some versions of iphone firmware updates contain not only updates for iOS, but also updates for the &#8216;modem firmware&#8217; in the phone.  Some versions of &#8216;modem firmware&#8217; (aka baseband/BB) cannot be unlocked with software.  There is no easy way to downgrade the baseband to one with a lower version number, so it&#8217;s important to be mindful of this before planning an upgrade.</p>
<p>Rough steps:</p>
<ol>
<li>Using iTunes, backup your phone.</li>
<li>Copy any important data (like photos) to your computer.</li>
<li>Create an iOS5 firmware update file *without* the baseband update.  To do this, you need:</li>
<ol>
<li>The latest version of redsn0w.</li>
<li>The original <a title="iOS5 firmware for 3GS" href="http://appldnld.apple.com/iPhone4/041-8356.20111012.SQRDT/iPhone2,1_5.0_9A334_Restore.ipsw" target="_blank">IOS5 firmware file for the 3GS</a></li>
</ol>
<li>Use iTunes to install this firmware file (click the &#8216;Restore&#8217; button whilst holding the shift key (windows) or the option key (Mac), and you will be able to browse for the file you created (called &#8216;NO_BB_iPhone2,1_5.0_9A334_Restore.ipsw&#8217;).  Otherwise, the restore button will download the original file from Apple, and you may end up with a baseband which cannot be unlocked).</li>
<li>Use iTunes to restore the phone from backup (this will restore phone/application settings and messages, but I&#8217;m not sure what else).</li>
<li>Run redsn0w and follow the instructions to jailbreak the phone.</li>
<li>Run redsn0w and follow the instructions to &#8216;just boot&#8217;.</li>
<li>When the phone is booted, make sure you are connected to wi-fi, and use Cydia (the brown icon should be there if you&#8217;ve done steps 5&amp;6 correctly) to install ultrasn0w and SAMPrefs.</li>
<li>Follow the <a title="SAMPrefs instructions" href="http://www.bingner.com/SAM.html#install" target="_blank">instructions for using SAMPrefs</a>.  Read them twice before starting.</li>
<li>Run redsn0w and follow the instructions to &#8216;just boot&#8217;.</li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F10%2Fupgrade-your-iphone-3gs-to-ios5%2F&amp;title=Upgrade%20your%20iPhone%203GS%20to%20iOS5%20without%20losing%20your%20unlock" id="wpa2a_32">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/10/upgrade-your-iphone-3gs-to-ios5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free calls to/from the USA: Using Google Voice to get a virtual USA phone line on your iPhone, iPad or computer</title>
		<link>http://blog.encona.com/2011/10/free-usa-phone-calls-using-google-voice/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=free-usa-phone-calls-using-google-voice</link>
		<comments>http://blog.encona.com/2011/10/free-usa-phone-calls-using-google-voice/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 04:45:21 +0000</pubDate>
		<dc:creator>rahim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[free phone calls]]></category>
		<category><![CDATA[google voice]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://blog.encona.com/?p=8</guid>
		<description><![CDATA[If you live outside the USA (or are away temporarily), but have people with whom you want to keep in contact there, having a way to make calls to the USA for free, and having a real phone number which &#8230; <a href="http://blog.encona.com/2011/10/free-usa-phone-calls-using-google-voice/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p>If you live outside the USA (or are away temporarily), but have people with whom you want to keep in contact there, having a way to make calls to the USA for free, and having a real phone number which people can use to reach you, can be convenient.  If you fit into this category, read on&#8230;<span id="more-8"></span></p>
<h3>What is Google Voice?</h3>
<p>Google Voice is Google&#8217;s US-only telephone service.  It is not a standalone service.  It adds some functionality to your existing USA mobile and/or landline:</p>
<ul>
<li>They assign you a real USA phone number (you can choose a number in New York, San Francisco or wherever).</li>
<li>From the Google Voice web site (<a href="http://google.com/voice">google.com/voice</a>), you can set this number to forward (for free) to any other USA number.  If you don&#8217;t live in the USA, then see below (&#8216;But I don&#8217;t have a USA phone number!?!&#8217;)</li>
<li>The web site also lets you make free calls to USA numbers.  All you have to do is enter the number you want to call.  Google will then call you on your number, wait for you to answer, and then call the other person.</li>
</ul>
<h3>But I don&#8217;t have a USA number!?!  I don&#8217;t live in the USA!</h3>
<p><strong></strong>You can get one easily by combining two different free services:</p>
<ul>
<li>A free SIP (internet phone) service.  (like the one provided by <a href="http://www.iptel.org/">http://www.iptel.org/</a>)</li>
<li>A free incoming-only USA number which can forward (for free) to your SIP (internet phone) service.  (like the one provided by <a href="http://www.ipkall.com/">http://www.ipkall.com/</a>)</li>
</ul>
<h3>How do I sign up to Google Voice?</h3>
<p>You can only sign up if you appear to be in the USA.  To do this, use a USA-based VPN, go to the Google Voice site, and follow the instructions.</p>
<h3>But how do I receive the phone calls?</h3>
<p><strong></strong>You need to install some software.  Which software depends on your platform:</p>
<ul>
<li>For Nokia: Nokia smartphones have a SIP client built-in.</li>
<li>For iphone/ipad: <a title="Acrobits Softphone" href="http://www.acrobits.cz/4/acrobits-softphone-for-iphone" target="_blank">Acrobits Softphone</a> (There are other SIP clients for iphone and ipad, but this one lets you initiate an outbound call using Google Voice, making it more convenient than the rest.  If you are happy to use the Google Voice web app to initiate calls, you can use the free <a title="3CXPhone" href="http://www.3cx.com/VOIP/softphone.html" target="_blank">3CXPhone</a> instead)</li>
<li>For Windows/Mac: <a title="Blink Lite" href="http://icanblink.com/" target="_blank">Blink Lite</a> or <a title="X-Lite" href="http://www.counterpath.com/x-lite-download.html" target="_blank">X-Lite</a></li>
<li>For Android: <a title="Sipdroid" href="http://code.google.com/p/sipdroid/downloads/list" target="_blank">Sipdroid</a></li>
</ul>
<h3>So, what exactly do I have to do?</h3>
<ol>
<li>Go to <a title="iptel.org" href="http://iptel.org/" target="_blank">iptel.org</a>.  Sign up for a free account.  Make a note of your SIP username and password, and also of your SIP address (something like <strong>yourname@iptel.org</strong>).</li>
<li>Choose which software phone you want.  Install it and configure it to use <strong>iptel.org</strong> as the server, with the username and password you noted down above.</li>
<li>Go to <a title="IPKall" href="http://www.ipkall.com/" target="_blank">IPKall</a> and sign up for a new number.  Tell it that the destination is your SIP address (the one you noted down in step 1).</li>
<li>If you are able to make calls to the USA from a different phone, you can call yourself, to check that everything up to now is working.  If you aren&#8217;t able to check, just keep going.</li>
<li>Connect to a USA-based VPN.</li>
<li>Sign up for Google Voice.  Choose a new phone number.  Forward it to the number you got in step (3).</li>
<li>Go to the Google Voice web site and make a test call to a USA phone number.</li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.encona.com%2F2011%2F10%2Ffree-usa-phone-calls-using-google-voice%2F&amp;title=Free%20calls%20to%2Ffrom%20the%20USA%3A%20Using%20Google%20Voice%20to%20get%20a%20virtual%20USA%20phone%20line%20on%20your%20iPhone%2C%20iPad%20or%20computer" id="wpa2a_34">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.encona.com/2011/10/free-usa-phone-calls-using-google-voice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

