Warning: foreach() argument must be of type array|object, string given in /home/public/blog/wp-includes/class-wp-theme-json.php on line 1109

Reading a book is one of my favourite activities, yet starting to read a book has more friction than necessary. I find myself jumping between multiple tools to explore a potential read, get access to it, and eventually commit to reading it. This is particular cumbersome on a phone, which has become my primary reading device and hence the source of most new reading prospects. In e-commerce, long or complicated check-out has been show to account for 28% of cart abandonment. I wonder how many people didn’t read a book because of the hassle. This is a brainstorm post of how to make this better.

A bit more on the frictions I observe. For me, there are four phases to reading a book: discovery, evaluation, reading, sharing. Discovery happens in a variety of context (conversation with a friend, conference talk, podcast, blog / article), mostly not when I’m sitting in front of a desktop computer. So I track to-read books in a pinned note in Google Keep, because it has a simple mobile client and syncs across devices. The main friction here is having to type the book name on a mobile keyboard.

To figure out if a book is actually worth reading, I hop over to Goodreads, Amazon and Google Search for reviews. Because I live in Canada, Google usually only shows me amazon.ca results. So I often have to manually visit amazon.com to get the full set of reviews. This means typing the book name a few more times in a variety of search boxes, often using a mobile keyboard. Fortunately Google is relatively forgiving of typos; otherwise it will be more frustrating than usual. Moreover, I often look into other contextual information to evaluate a book such as biography of the author, other publications of the same author, longer form reviews or summaries of the book, such as blogs, and other books in the same category. Amazon reviews cover some of these information, but not organized in an easy-to-explore way. Amazon is optimized for making a purchase when you know exactly the book you want to get.

I buy almost all my books on Kindle. This used to be relatively easy when I was an Android user. Since switching to an iPhone, I can no longer buy books directly in the Kindle app. This necessitates an additional sign-in at Amazon. Sometimes I also buy directly on my Kindle device, but this also incurs a device-switch cost from the previous evaluation step. Once in a blue moon, the Kindle price is inexplicably but significantly more expensive than alternative sources. I’ve bought books in Google Play Books and considered iBooks. This is not ideal though, because I can’t read them on Kindle (which is a very nice reading device), and can’t share them with my husband in our family plan. Toronto Public Library is in theory another source of ebooks. In practice, the wait time is often longer than a month, and it requires downloading yet another app (OverDrive’s Libby) to access the books. These frictions mean I have yet to check out an ebook from the library. The fragmentation of ebook sources is adding friction to reading.

Sometimes after reading a great book, I want to share it with friends. In the olden days, I could have just given them my paper copy. With ebook this is essentially impossible. I briefly entertained the idea of buying a Kindle just to lend it out to friends, but decided against because there is no way to restrict access only to a subset of books, or prevent purchases. Kindle is really only designed for the account owner.

How would I make this better?

I’d like to have a central place to track my book wish list. It should have these properties:

  • Mobile friendly since most of my book discovery happens away from a desktop computer.
  • For each book in my wish list, surface all contextual information in one place, i.e. reviews, summaries, author biography.
  • Ability to make notes about a book and organize books into collections.
  • One-click links to my library to borrow or third-party sites to buy the book.

I’d also like to be able to share a book. IP rights is complicated and I do support authors getting compensated properly. Maybe we can start with just sharing a book preview. Perhaps the new Web Packaging standard be used to support DRM-friendly sharing of full content. Perhaps better DRM schemes will enable interoperable ebook formats so I can have a single collection regardless whether it’s from Amazon, Play Books for iBooks.

I’m terrible at side projects because I can never seem to find time to work on them. So I decided to track my time for a week and see where it all went. Here is the tally.Time tally from Mon, May 14 to Sat, May 19, 2018.The top two categories are not too surprising:

  • I’m a sleeper, so can’t go very long without 8 hours a day.
  • Work clocked in at exactly 40 hours, which is actually a little bit less than I felt. I suspect it’s the commute that tricks my brain into feeling those as work hours as well. But this time is not all wasted as I’ve been listening to a lot of podcasts.

The other categories have a few surprises:

  • Entertainment took a bigger fraction than I expected. This is basically the evening TV watching with my husband. Apparently we watched just a bit over an hour each day, which is actually quite a bit. We watch a variety of YouTube channels and Netfix, but I’m hard pressed to say they are necessarily all high value. So this may be an area that I can reduce a bit.
  • My existing volunteer commitments are actually a bit more time-consuming than I internalized. The two commitments added up to 9.25 hours, which is an extra work day.
  • Meal preparation and cleanup took a lot less time than I expected. I felt that I’m constantly cleaning the kitchen, but it seems that in this particular week, it only took about 2 hours. A caveat here is that I started this week after a thorough cleaning of the house (which took me 4+ hours). So in steady state, the cleaning category may be more time consuming than what’s reflected here.
  • Apparently we walk a lot. Since we live downtown, my husband and I ran most of our errands walking. When weather is nice in Toronto (which it is now), some weekends we walk over 2 hours. It’s still surprising that we walked 4.5 hours in a week. These walks tend to be our conversation time as well. So although it is not necessarily an efficient form of exercise, I suspect I won’t be able to compress this too much.

Prior to tracking, I had thought that house cleaning and meal preparation is my biggest hurdle to finding time for side projects. But it seems that family time (meal, entertainment, walking and parents visit) and volunteering are actually the bigger categories. This is not bad news, because for the most part, these activities are aligned with my life priorities – except the TV part; we can probably do a little less of that without sacrificing quality couple time.

What’s unusual about this week is that we had no scheduled meet-ups with friends and I had done the big house cleaning the weekend before. I also lost track of time on Sunday, as it was the usual flurry of community time, cleaning, and personal rest. These need to be accounted for better going forward to get a more accurate picture.

P.S. For anyone interested, I created a simple Google Form to track the time. It has just two questions: a multiple choice for activity and time spent. I kept the form open in my phone browser, so whenever I finished an activity, I’d log it right away. The responses were saved into a Google Sheet and I used a pivot table to create the summary. I found it was essential to log the time right away because the few times I didn’t have my phone handy (e.g. on the subway or on Sunday), I didn’t end up logging details. If I spend more time on the subway, I may try creating a PWA tracker app so it can cache results offline and send. Another excuse to try a side project. 😀

Thanks! I mean to poke at Ingenious at some point. First I want to get an Aperture instance running, so I have a reference design to compare to. My PHP is rusty and I’m getting an error on startup. So I’ll reach out. Appreciate the offer.

This week I took a mini-sabbatical from work to explore the IndieWeb movement and really liked what I found. It’ll be exciting to see what future holds for this vision of creating people-focused technology to enable social interactions on the open web.

Aaron Parecki’s Building an Indie Web Reader strikes a chord particularly close to my heart. Currently I manage my information influx clumsily via a combination of Feedly, email newsletter (mostly Medium), Nuzzle, Google Now, a couple of magazines and the family/friends network on WhatsApp and WeChat. I have quit Facebook 7 years ago, have been pondering about going back as a particular community I’m now involved with is more active there, but am worried about the deluge there. I’m new to GitHub and IRC but haven’t figured out a good way to incorporate them into my information consumption. This leaves me feeling overwhelmed often. The Microsub server abstraction seems like a great idea. Normalizing various data sources will not only improve organization, but also provides a perfect seam for more “magic”, such as personalized algorithms for classifying and summarizing content for the user. I see this is distinct from the current social silos’ “algorithmic timeline” model because 1) it works across the web, and 2) the algorithm is a hackable module that the user can tinker with to their liking. This is an area I’d like to work more in.

I also followed Chris Aldrich’s Setting up WordPress for IndieWeb Use to set up this blog. The title says it all. It’s a very accessible step-by-step guide for getting a basic IndieWeb-compatible site up and running. It was amazing how much the community has already built up that I was able to post a cross-site reply using webmention and post to this blog from a 3rd party editor (Aaron Parecki’s Quill) using Micropub without writing a single line of code. Having abandoned many silos because of the lack of interoperable tools, this completely blew my mind.

I also found several interesting conversation within the community. How to design web services that properly respect user privacy yet still promote openness is something I’d like to learn more about. Sebastian Greger’s The IndieWeb Privacy Challenge is a great starting point.

Overall, I feel the time this week has been well spent. These are the main accomplishment:

  • Staked out my own IndieWeb presence at http://www.stillmuchtoponder.com. Tested that IndieAuth, Micropub and Webmention setup work on this domain.
  • Created a Microsub test server using Node.js (new to me too). It responds to /timeline, /channels and /follow API calls using canned data. I was able to create a simple Mocha test suite to verify these APIs.
  • Introduced myself on the IndieWeb IRC. People are super friendly. I hope to interact with this community more.
  • Wrote the first public blog entry (this one) in many years! This is a public commitment for me to continuing on this project.

Both the IndieWeb vision and the principles resonate a lot with me. So I’d like to continue in the following directions:

  • Microsub related:
    • Create a compliant Microsub server implementation.
    • Experiment with existing Microsub clients.
    • Explore algorithmic feed processing in the Microsub server so I don’t feel overwhelmed by my influx feed.
  • Micropub related:
    • Figure out how to post private messages via Micropub (may just need a small tweak). Bookmarking pages I’ve read is a typical use case for me, and I don’t feel comfortable yet to make all of them public. Especially that my current WordPress theme shows bookmark posts as regular posts. I feel this introduces clutter to the blog timeline.
    • Experiment with other Micropub clients.
  • Privacy and permissions:
    • Research more about permission model in the IndieWeb framework. Right now everything is based on public posts. An important use case for me to migrate out of the silos’ is being able to communicate with my close friends and family, and I wouldn’t feel comfortable sharing all information there publicly. So some kind of permission model that I can express on my site to manage data requests would be useful.

Setting up WordPress for IndieWeb use by Chris AldrichChris Aldrich (Chris Aldrich | BoffoSocko)

I spent some time this morning doing a dry run through setting up a suite of IndieWeb plugins on a fresh WordPress installation.

Thanks for such a detailed walkthrough! I watched the video version at 2x speed and find it still quite easy to follow. Being able to see the screen is useful, especially around filling out metadata for Post Kinds. I think this also serves well as a WordPress 101 for newbies like me. I popped out of the video a few times just to try what you’re showing.

This reply is a test run of webmention. Hopefully it works! 🙂