Stiva 1.1.0: pick up where you left off
Stiva 1.1.0 is out. It's the first minor version since the public launch, and it's built around a problem I kept running into myself: the articles I start and never finish.
There's also a bug fix in here, and some groundwork for the next release that you won't see at all. More on both below.
The pile of half-read articles
A read-later app could become a place where articles go to be forgotten.
An article you've never touched is a clean decision: read it or delete it. I'll be introducing a few things around that in upcoming releases, because I think they'd help.
An article you're 40% through is different. You've invested something in it, so you don't want to delete it, but it looks identical to everything else in the list, so you never pick it back up either. It just sits there, quietly costing you something.
So 1.1.0 puts them at the top, in a section that answers one question: what was I reading?
It sorts by when you last opened an article, not by how far along you are and not by when you saved it.
An article only enters after 10% of progress. Opening something and scrolling a little to see what it is isn't starting to read it. I'd rather miss a few genuine resumptions than fill the section with articles you merely glanced at, because a section like this lives on trust: the moment it shows noise, you stop looking at it.
And each card tells you how many minutes are left from where you stopped, not what percentage you've read. The question in your head is "can I finish this right now?", and a percentage doesn't answer it.
If you've decided you're not going back to something, you can remove it from the section without archiving or deleting it. That's the escape hatch that keeps the whole thing honest.
Every action, right from the list
The second change is smaller: the three dots next to each article now open everything you can do with it, without opening the article first. Archive it, mark it as read, add it to favorites, drop it in the playlist.
Before, some of those actions only existed inside the reader, which meant opening an article just to file it away. The list is where you make those decisions, so that's where the actions belong.
The short article that could never be finished
If an article was short enough to fit on a single screen, Stiva could never consider it read: reading progress was measured from scrolling, and with no scrolling possible there was no progress to measure. Those articles sat at 0% no matter how carefully you read them.
The fix needed more care than it looks. "The content doesn't scroll" can mean three different things: it fits on the screen, or the page hasn't finished measuring itself yet because images are still loading, or there's nothing to scroll at all. They look identical at any single moment. The only thing that separates them is time, so Stiva now waits until the layout has settled and you've actually spent a few seconds on the page before calling it read. Open something by mistake and leave, and nothing happens.
What you can't see in this release
Part of 1.1.0 is invisible on purpose: some of the work in here is groundwork for what comes next.
I'm rethinking how you move through the app and what states an article can be in. Right now that flow has more turns in it than it needs. I'd like it to be a straight line: you save something, you read it, you archive it, and that's the whole story.
The goal is for your library to be the place everything starts from, rather than one of several places you have to check.
As always
If something doesn't look right, an article that extracts badly, a section that shows you the wrong things, tell me. This release exists because I paid attention to what annoyed me in my own use, and your annoyances are the ones I can't see from here.