created: 20210215024632766
creator: soren
description: Show sources you might want to read soon.
modified: 20210920155102294
modifier: soren
tags: Tool
title: $:/sib/Tools/ReadingInbox
tooltype: aggregator
type: text/vnd.tiddlywiki

\define tableRow(dueFragment)
<tr>
	<td><$list filter="[all[current]has[url]]"><a href={{!!url}} class="tc-tiddlylink-external">go</a></$list></td>
	<td><$link to=<<currentTiddler>>>open</$link></td>
	<td>//{{!!caption}}//</td>
	<td>{{!!author}}</td>
	<td>{{!!medium}}</td>
	<td>{{!!bibliography}}</td>
	<!--<td>$dueFragment$</td>-->
	<td>
		<<read-status-selector>>
	</td>
	<td>
		<$button class="tc-tiddlylink tc-btn-invisible">
			<$macrocall $name=inbox-postpone ivlExpr="1"/>
			tomorrow
		</$button>&nbsp;|
		<$button class="tc-tiddlylink tc-btn-invisible">
			<$macrocall $name=inbox-postpone ivlExpr="5"/>
			in 5 days
		</$button>&nbsp;|
		<$button class="tc-tiddlylink tc-btn-invisible">
			<$macrocall $name=inbox-postpone ivlExpr={{{ [all[current]get[ivl]else[5]multiply[2]] }}}/>
			later
		</$button>&nbsp;|
		<$button class="tc-tiddlylink tc-btn-invisible">
			<$macrocall $name=inbox-postpone ivlExpr={{{ [all[current]get[ivl]else[5]multiply[3]] }}}/>
			even later
		</$button>
	</td>
</tr>
\end

This table first lists anything in progress; try to limit this to a handful of works. Then it lists items that are unread and potentially interesting, but have not been postponed. Postponing uses //exponential backoff//, to use MrAndyMatuschak's term: if you pick //later// or //even later//, the time until you see the item again doubles or triples from its previous value. This allows you to get items that presently seem of low value out of your way without requiring you to decide you will certainly never read it; perhaps some time later, they will look interesting again.

The table does not include [[lifetime reading items|LifetimeReading]] unless they're currently in progress, as it would then become miles long and cease to function effectively as an “inbox”; those items are a separate queue.

<table>
	<tr>
		<th style="width: 3.5em;">Text</th>
		<th>Tiddler</th>
		<th>Title</th>
		<th style="width: 15%;">Author</th>
		<th>Medium</th>
		<th>Biblio</th>
		<!--<th style="width: 6.2em;">Due</th>-->
		<th style="width: 6.5em;">Status</th>
		<th style="width: 18em;">Postpone</th>
	</tr>
	<$list filter="[!days:due[-1]] [days:due[0]] +[sort[due]] [!has[due]] +[tag[Source]readstatus[partial]!is[draft]]">
		<<tableRow """(reading)""">>
	</$list>
	<$list filter="[!days:due[-1]] [days:due[0]] +[sort[due]] [!has[due]] +[tag[Source]readstatus[unread]!bibliography[LifetimeReading]!is[draft]]">
		<<tableRow """<$view field="due" format="date" template="YYYY-0MM-0DD"/>""">>
	</$list>
</table>

See also RecentlyRead for completed items.