Two weeks live
by Olaf 5 min read
Spleen went public on 5 September. Two weeks and nineteen releases later, the editor was fine. Almost everything around it needed work.
I thought the editor would be the difficult part
Spleen went live on 5 September. The first release had the editor, projects, notes, snapshots, exports, share links, billing, and all the other things I thought had to be there before anyone could use it.
That had taken nearly two years to build.
Later that afternoon I put out the second release because the site was loading more fonts than it needed. That set the tone rather well.
After two weeks I had put out nineteen releases, and almost none of the work was on the editor. The place where people actually write stayed quiet. What needed fixing was everything around it: arriving, paying, accepting an invitation, and signing in.
Those are the parts that look finished when you build them for yourself. Then another person walks in and finds the seam.
My phone found almost everything
The first three days were mostly spent fixing screens I had not looked at closely enough. Headings did not feel like they belonged together. Panels broke on a phone. Introductions did not fit. The footer was too wide and the header did not behave.
The home and folder icons in the project header simply ignored a tap. On a computer they changed on hover, so they felt like controls. A phone never hovers, and the icons gave no sign that the tap had failed.
None of this was exciting work. All of it was the difference between an app I had built and an app someone else could use.
Then nobody could pay
On 6 September, the day after launch, choosing a paid plan ended in an error instead of opening the checkout. If you had to choose one button that should always work, this one would be near the top of the list.
Two days later I found a stranger one. When a payment failed, the account page called it a free plan. It was not trying to make the situation sound better. It simply had no proper way to say that the payment had not gone through, so it fell back to the safest answer it knew.
A plan that was ending did not say so either. Cancelling looked as if nothing had happened. The free plan even showed a place for a renewal date, despite having nothing to renew.
It is hard to ask someone to trust you with a payment when your own account page is confused about what they bought.
The invitations took four releases
Spleen opened with six founding places. People could apply for one or receive an invitation. That invitation was often the first thing someone saw, which made it a poor place to look unfinished.
The email showed an internal address instead of spleen.page. The link worked, but it looked like it had escaped from a test version. The page it opened did not fit properly on a phone.
Then came the more worrying one. The page that turned an invitation into an account was sitting on the public side of Spleen, so the account was created on the wrong host. Your initials appeared on the public website, where nobody should ever look signed in. Nothing anyone had written was at risk, but the line between the public site and the writing app was not as clean as it should have been. I went back through every check that kept those two sides apart.
The next release fixed an invitation that kept hold of an email address after the account was deleted. The one after that fixed invitations that offered a founding place without actually saving it for the person.
Nobody lost a place. The places would have had to run out between sending an invitation and accepting it, and that never happened. Finding it before that moment was luck, not proof that the code was right.
I needed a way to hear about problems
By 8 September I realised that I was finding bugs by walking around Spleen and happening to notice them. That is not much of a plan.
So alpha.10 added a way to report a problem from inside the app. It includes the page and a few useful details, so the person reporting it does not have to explain where they were or what kind of device they were using. Two releases later, the button was easier to find from the projects list, the account pages, and the menu on a phone.
Those two releases made it easier to hear what was wrong. That has been more useful than adding two new features would have been.
What the first two weeks taught me
Alpha.19 fixed something that had been wrong since May. If you signed up, never confirmed your email address, and later reset your password, Spleen still refused to let you in because the address was unconfirmed.
The reset link had just arrived in that inbox. It had already proved the address was yours. Spleen simply did not count it.
That is what most of these two weeks looked like. Not dramatic disasters, but small assumptions that seemed perfectly sensible until a real person met them.
Four of the six founding places were taken by the end of the fortnight. There was no date for 1.0, and I was not going to invent one. The next job was not to make the feature list longer. It was to keep finding the places where Spleen was sure of something it should not be.
From alpha to beta
Spleen is still in alpha. I am hoping more people will sign up, use it for real work, and tell me when something feels wrong or breaks. I can test the things I know to look for. Other people find the assumptions I no longer notice.
That is how I want Spleen to move into beta. Not because a date arrived, but because the alpha has become quiet enough to trust. A few beta releases will follow, giving me time to see whether the fixes hold and whether the whole app feels ready.
After that comes 1.0.0. I do want to get there. I just want the number to mean something when it arrives.
I know there are more bugs to find first. If you find one before I do, the button to report it is inside Spleen, and the changelog shows what happened next.