KashCal knows what day it is, and what changed while you were away
A calendar should know two things without being asked: what day it is, and what happened to your plans while you weren't looking. KashCal's last two releases teach it both.
A calendar should know two things without being asked: what day it is, and what happened to your plans while you weren't looking. KashCal's last two releases teach it both.
KashCal is stubborn about exactly one thing: it answers to the person holding the phone and nobody else. This week we aimed that same stubbornness at a new audience, the people who want to help build it.
People kept asking if KashCal was on Google Play. Now it is.
Android 17 added a welcome permission optimization. Reaching a device on your local network, like a calendar server on a machine in your house, is now its own permission, separate from internet access. An app that can reach the internet no longer reaches your home network by default; it has to ask for that on its own.
KashCal needs it for one thing: syncing with a CalDAV server on your own network. We implemented the new permission, and while wiring it up we noticed KashCal's permissions had ended up spread out, each one surfaced only where its feature lived: contacts near birthdays, notifications near reminders, and now local network near sync. There was nowhere to see them all at once.
So we put them all on one screen. It is called App permissions, and it is in your account hub.
Someone asked us the other day, "What makes a good calendar?" Not which app, not which features. Just: what makes one good. We started to answer with a list and stopped, because a list is the easy version of the question and a bad answer to it. So we sat with it for a while.
Here's the short version of where we landed. You reach for a calendar in small, unglamorous moments, to jot down that the dishes are your job tonight or that the dentist moved you to Thursday. A good one makes those moments easier and doesn't add a chore of its own. Everything below is a version of that idea, and you can see each part of it in KashCal.
Google keeps a privacy and security checklist for Android developers. Five lists, covering permissions, location, how you handle data, device identifiers, and the privacy controls your app hands back to the user. It's the rubric Android itself recommends you grade against. So we did. Every item, one at a time.
We came out the other side with nothing to fix. Here's the walk-through, because a claim like that is only worth as much as your ability to check it.
An event starts as a sentence. "Dentist next Thursday at ten." "Standup every weekday at nine." "Rent, last day of the month." You already have the whole thing in your head, in order, done.
Then most calendar apps make you take it apart. Title in this box. Tap the date field. Spin a time wheel. Open a second screen labeled "Repeat" and hunt for the right radio button. You arrive knowing exactly what you meant and leave having filled out a form about it. KashCal just reads the sentence.
Software has one move: get you to do more, faster, with fewer gaps. Calendar apps are the sharp end of it, and we make one. So the obvious thing for us to build is another way to pack your day tighter.
Instead we built a feed whose only job is to put a note on your calendar that asks for nothing. No time, no place, no task. We called it Unscheduled Thoughts, and we are giving it away. Probably no calendar company has put out a joke as a subscription feed on purpose. We are not proud. We are a little proud.
Most apps greet you with a wall: sign in, or create an account. A calendar app doing that is quietly asking you to route your dentist appointments, your interviews, and your "lunch??" through a stranger's servers so it can hand them back to you later. KashCal never asks. There is no account, because there is nothing to sign into.
Since the beginning of KashCal, your events have been sorted the way a coat check sorts coats: by which calendar you flung them into, and not one thought more. This release lets you label them yourself. Meet tags.