<?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>Threepress Consulting blog &#187; toc</title>
	<atom:link href="http://blog.threepress.org/tag/toc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.threepress.org</link>
	<description>Threepress creates software for publishers, educators and authors.</description>
	<lastBuildDate>Tue, 27 Jul 2010 16:34:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Slides from &#8220;Survey of Current E-Readers&#8221;</title>
		<link>http://blog.threepress.org/2009/02/17/slides-from-survey-of-current-e-readers/</link>
		<comments>http://blog.threepress.org/2009/02/17/slides-from-survey-of-current-e-readers/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 12:56:37 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[ebooks]]></category>
		<category><![CDATA[toc]]></category>
		<category><![CDATA[ereaders]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[survey]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=359</guid>
		<description><![CDATA[I had a lot of fun putting this presentation together, and not just because it was an excuse to play with toys.  It was also nice to see the PlasticLogic device up close, even though I suspect the final marketable product may be quite different from these early prototypes.
Keith and I beat pretty hard [...]]]></description>
			<content:encoded><![CDATA[<p>I had a lot of fun putting this presentation together, and not just because it was an excuse to play with toys.  It was also nice to see the PlasticLogic device up close, even though I suspect the final marketable product may be quite different from these early prototypes.</p>
<p>Keith and I beat pretty hard on <a href="http://ebookstore.sony.com/">Sony</a> and <a href="http://fictionwise.com">Fictionwise</a> (and <a href="http://lexcycle.com">Stanza</a>, by extension), but only because we want commercial ebooks to succeed.  We want publishers to make money and readers to make use of a convenient service.  </p>
<p>Here&#8217;s a quick summary of our conclusions:</p>
<ol>
<li>Your ebook purchasing process should be as much like the Kindle as possible. </li>
<li> Buy your own ebooks through every device and channel you offer.  Identify points of friction and fix them.</li>
<li> Consider the mobile purchasing experience.</li>
<li> Have empathy for your customers. </li>
</ol>
<div style="width:425px;text-align:left" id="__ss_1030474"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/lizadaly/survey-of-current-ereaders?type=powerpoint" title="Survey Of Current E-Readers">Survey Of Current E-Readers</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=surveyofcurrentereaders5fbe6e6ed-1234719943604094-3&#038;stripped_title=survey-of-current-ereaders" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=surveyofcurrentereaders5fbe6e6ed-1234719943604094-3&#038;stripped_title=survey-of-current-ereaders" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/lizadaly">lizadaly</a>. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/ereader">ereader</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/ebooks">ebooks</a>)</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2009/02/17/slides-from-survey-of-current-e-readers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools of Change twitter visualization</title>
		<link>http://blog.threepress.org/2009/02/15/tools-of-change-twitter-visualization/</link>
		<comments>http://blog.threepress.org/2009/02/15/tools-of-change-twitter-visualization/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 18:51:42 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[toc]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=342</guid>
		<description><![CDATA[Geeks love raw data, so I couldn&#8217;t resist a text dump of all #toc tweets that occurred during the conference.
Here&#8217;s the quick visualization I threw together (warning, it loads very slowly):

It skips any images that are broken or any that were listed as having the Twitter default icon.  For some reason the raw data [...]]]></description>
			<content:encoded><![CDATA[<p>Geeks love raw data, so I couldn&#8217;t resist a <a href="http://toc.oreilly.com/2009/02/very-raw-dump-of-all-toc-2009.html">text dump of all #toc tweets</a> that occurred during the conference.</p>
<p>Here&#8217;s the quick visualization I threw together (warning, it loads very slowly):</p>
<p><a href="http://threepress.org/static/toctweets/"><img src="http://blog.threepress.org/wp-content/uploads/2009/02/picture-71-300x235.png" alt="TOC tweet visualization" title="TOC tweet visualization" width="300" height="235" class="aligncenter size-medium wp-image-343" /></a></p>
<p>It skips any images that are broken or any that were listed as having the Twitter default icon.  For some reason the raw data included a lot of default icons it shouldn&#8217;t have &#8212; for example, all of my tweets were listed with the default instead of my profile photo.  Those are missing.  I recommend starting with the XML instead (posted after I wrote this) and getting the profile icons directly via Twitter.</p>
<p>Source code that generates this from the raw text (not from the XML) follows:</p>
<p><span id="more-342"></span></p>
<pre class="brush: plain;">
#!/usr/bin/python
import re, copy, urllib, sys

# Pattern-match the twitter username
p = re.compile('^([^:]+):(.*)$')

data = []
tweet = None

for line in open('toc-tweets.txt'):

    # If we're not currently in a tweet, start a new record
    if not tweet:
        tweet = {}

    # Skip the useless relative date values
    if line.endswith('ago'):
        continue

    # This is an end-of-tweet marker, so push it on the stack
    # and reset the temporary datastore
    if line.startswith('*'):
        data.append(copy.deepcopy(tweet))
        tweet = None
        continue

    # Grab the user's image
    if line.startswith('http://'):
        tweet['img'] = line
        continue

    m = p.search(line)
    if m:
        # If we matched the regexps then we have a line containing a valid tweet
        tweet['name'] = m.group(1)
        tweet['message'] = m.group(2).replace('&amp;', '&amp;amp;')

# Put in chronological order
data.reverse()

print '''&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
  &lt;head&gt;
    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=UTF-8&quot; /&gt;
    &lt;title&gt;#toc timeline&lt;/title&gt;
    &lt;script src=&quot;http://www.google.com/jsapi&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
      google.load(&quot;jquery&quot;, &quot;1.3&quot;);
    &lt;/script&gt;
    &lt;script src=&quot;jqueryui/jquery-ui-personalized-1.6rc6.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;style type=&quot;text/css&quot;&gt;
       .tweet span { display: none; width: 300px; height:200px;  }
       .tweet { display: inline; z-index: -1;}
       .drop { width: 240px; height: 135px; padding: 0.4em; position:absolute;background:white;z-index:99;}
       .drop h3 { margin: 0; padding: 0.4em; text-align: center; }

    &lt;/style&gt;
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;jqueryui/theme/ui.all.css&quot;&gt;&lt;/link&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
    jQuery(document).ready(function() {
      $('.tweet').click(function() {
        $(this).find('span').toggle('fast');
      });
    });
    &lt;/script&gt;
   &lt;/head&gt;
&lt;body&gt;
'''

images = {}

for t in data:
    if 'default_profile' in t['img']:
        continue
    image = t['img'].replace('mini', 'bigger')
    if image not in images:
        sys.stderr.write(&quot;Checking %s\n&quot; % image)
        i = urllib.urlopen(image).read()
        if 'Error' in i:
            sys.stderr.write(&quot;Skipping...&quot;)
            continue
        images[image] = 1

    print '''
&lt;span class=&quot;tweet&quot;&gt;
  &lt;img src=&quot;%s&quot; alt=&quot;%s&quot; width=&quot;73&quot; height=&quot;73&quot; /&gt;
  &lt;span class=&quot;ui-widget-content ui-corner-all drop&quot;&gt;
    &lt;h3 class=&quot;ui-widget-header ui-corner-all&quot;&gt;&lt;a href=&quot;http://twitter.com/%s&quot;&gt;%s&lt;/a&gt;&lt;/h3&gt;
    &lt;blockquote&gt;%s&lt;/blockquote&gt;
  &lt;/span&gt;
&lt;/span&gt;
''' % ( t['img'].replace('mini', 'bigger'),
       t['name'],
       t['name'],
       t['name'],
       t['message'])

print '''
&lt;/body&gt;
&lt;/html&gt;
'''
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2009/02/15/tools-of-change-twitter-visualization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On TOC: Read anything on the Kindle</title>
		<link>http://blog.threepress.org/2008/08/26/on-toc-read-anything-on-the-kindle/</link>
		<comments>http://blog.threepress.org/2008/08/26/on-toc-read-anything-on-the-kindle/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 16:25:58 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[devices]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[toc]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=38</guid>
		<description><![CDATA[As part of an on-going series on exploring the hidden corners of the Kindle, a post on using an undocumented image browsing feature to read complex PDFs or image-based documents:  How to Read any Type of File on the Kindle (Almost).
Of course, going from text to scanned images is exactly backwards from the way things [...]]]></description>
			<content:encoded><![CDATA[<p>As part of an on-going series on exploring the hidden corners of the Kindle, a post on using an undocumented image browsing feature to read complex PDFs or image-based documents:  <a href="http://toc.oreilly.com/2008/08/how-to-read-any-type-of-docume.html">How to Read any Type of File on the Kindle (Almost)</a>.</p>
<p>Of course, going from text to scanned images is exactly <em>backwards</em> from the way things ought to be.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2008/08/26/on-toc-read-anything-on-the-kindle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Recent posts to the O&#8217;Reilly TOC blog</title>
		<link>http://blog.threepress.org/2008/08/13/recent-posts-to-the-oreilly-toc-blog/</link>
		<comments>http://blog.threepress.org/2008/08/13/recent-posts-to-the-oreilly-toc-blog/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 14:22:47 +0000</pubDate>
		<dc:creator>Liza Daly</dc:creator>
				<category><![CDATA[bookworm]]></category>
		<category><![CDATA[devices]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[oreilly]]></category>
		<category><![CDATA[toc]]></category>
		<category><![CDATA[tools of change]]></category>

		<guid isPermaLink="false">http://blog.threepress.org/?p=32</guid>
		<description><![CDATA[


On the O&#8217;Reilly Tools of Change blog recently:

Processing the deep backlist at the New York Times, a report from OSCON
Optimizing web content for the Kindle, using Bookworm screenshots

The latter is part of a series of Kindle articles that I&#8217;ll be putting out in the coming weeks, including those on getting inside the device&#8217;s operating system [...]]]></description>
			<content:encoded><![CDATA[<p align="right" style="padding-left: 1em"><a href="http://blog.threepress.org/wp-content/uploads/2008/08/kindle-1.jpg"><img class="alignright size-medium wp-image-33" style="float: right; padding-left:1em; padding-right:0;margin-right:0;" title="bookworm-kindle" src="http://blog.threepress.org/wp-content/uploads/2008/08/kindle-1-200x300.jpg" alt="Bookworm on the Kindle browser" width="200" height="300" border="0" /></a>
</p>
<p>
On the <a href="http://toc.oreilly.com/">O&#8217;Reilly Tools of Change blog</a> recently:</p>
<ol>
<li><a href="http://toc.oreilly.com/2008/08/processing-the-deep-backlist-a.html">Processing the deep backlist at the New York Times</a>, a report from OSCON</li>
<li><a href="http://toc.oreilly.com/2008/08/optimizing-web-content-for-the.html">Optimizing web content for the Kindle</a>, using Bookworm screenshots</li>
</ol>
<p>The latter is part of a series of Kindle articles that I&#8217;ll be putting out in the coming weeks, including those on getting inside the device&#8217;s operating system (based on <a href="http://igorsk.blogspot.com/2007/12/hacking-kindle-part-3-root-shell-and.html">Igor Skochinsky&#8217;s amazing work</a>).</p>
<p>(You can also read <a href="http://toc.oreilly.com/liza_daly/">earlier posts by me on TOC</a>.)</p>
<p>I&#8217;m also happy to announce that I will be on this year&#8217;s <a href="http://en.oreilly.com/toc2009/public/content/home">TOC Conference </a>program committee.  Proposals for the 2009 conference are due August 25th.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.threepress.org/2008/08/13/recent-posts-to-the-oreilly-toc-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
