Funkce Porovnání Ceník FAQ Roadmapa Blog

How much does it take to “finish” an app

Source of this equation: Sean Allen

Source of this equation: Sean Allen

Quite strange equation, don’t you think? But in a developer’s world, math works in unexpected ways.

Six months ago, I decided to build the best EPUB reader for Apple devices. I started immediately and, in four months, I had a working prototype with about 90% of the functionality. Everything worked as expected. Without fear, I launched my first TestFlight.

I expected anything and everything, but not this: I slid back to 10% done.

Somewhere in 2025, I watched Sean Allen’s video on the “90/90 rule.” Now I truly know, what that second 90% means.

TestFlight revealed two truths to me:

These two things forced me to rethink the app’s internals, design, and UI.

I spent the last two to three weeks working harder than in the previous four months. I spent nights fixing bugs, unifying the interface, working on promised features, and making sure, that basics are there (like a consistent close button: top-right X, always).

And even now, I’m not “finished.”

Since this series is about www.justread.app. development, here’s the latest state with tech details.

What was fixed

The killer problem was simple: the app was freezing and crashing. Something I didn’t experience in development, something TestFlight users experienced a lot.

justRead loads epub files from the cloud, often buried deep in subfolders (not yet downloaded). When folder with books is selected, it ran three heavy processes:

  1. Analyze all the (sub)directories for epub files (no files downloaded)
  2. Extract thumbnails and some accessible data from those files (still no files downloaded)
  3. Parse metadata (downloading of files starts now)

Users saw a “frozen” app, they tried everything, then app then crashed. What was worse: on relaunch with a selected library, it repeated the exact same cycle with the exact same result for user.

The fix:

The app is running the same processes, but now in the background with clear user progress indicators. Users can read downloaded books while those three processes are running. Simple and completely avoided with better testing.

Smaller bugs got fixed too: streak calculations, read-time tracking, bookmark saves.

Loading of books.

Loading of books.

What was changed

Non-crashing users gave me around 20 ideas like:

I experimented with all the ideas, iterated on users feedback and implemented what was the best fit.

Settings and external font loading.

Settings and external font loading.

What was added

No breakage risk here. Those were added:

Plus about 50 other small things, like highlighting your current TOC chapter.

Statistics (still in beta) with reading streak.

Statistics (still in beta) with reading streak.

TestFlight #2

It’s live today.

This time, I’m expecting crashes, freezes, and issues.

As a user, why is this all important?

You want polished apps, no crashes, intuitive user interface. You are expecting a developer who cares about the app, because he uses it.

That’s why TestFlight matters. Apple enables it, testers refine the app and the users get app as polished as possible.

The voting roadmap builds on this: you shape justRead’s future, prioritizing what you want.

justRead roadmap with voting and commenting.

justRead roadmap with voting and commenting.

As a developer, why is this all important?

We build apps and systems because we love to.

Sean’s rule reminds us: the final 90% polish is the app.

Rush development and release, and you ship a prototype.

Deliver the app polished, and you create something users love.

That’s why 90% + 90 % makes 100%.

And to answer the question in the beginning: it does take a lot more that what you have planned. Even if you have years of experience in development.

justRead is an EPUB reader for iPhone, currently in TestFlight.

www.justread.app.

Peter
Reader, Developer, justRead Creator

← Zpět na blog

Zůstaňte v obraze

Připojte se k čekací listině a dostávejte upozornění na nové články a spuštění aplikace.

Success

Your changes are saved successfully

Error

Something went wrong. Please try again

Warning

Your session will expire in 5 minutes

Info

New update available for download