As Kairos 2 for iOS 10 gets closer to completion I wanted to take a moment and write-up a post detailing what to expect once it comes out.
First off, it's a complete rewrite. If I were to show you the source of Kairos you'd understand why. I won't show it at this time, mostly because I'm embarrassed by its state, but I'll break down a couple points which forced this rewrite.
- The UI was extremely amateurish
- There was a lack of polish to almost every aspect of it. Especially the schedule view and its cells.
- I dumped almost everything into one large .xm file
- This made going back to fix bugs and add features very tedious and hard to manage. I'm not very proud of having done this :/
- I DRAGGED CHATKIT INTO SPRINGBOARD!!!
- If you've used the original Kairos and regularly use FaceTime I am 100% certain you encountered a bug caused by this and will appreciate this rewrite more than anyone. To access ChatKit inside of SpringBoard I relied on some nasty hooks to give SpringBoard permission to use some ChatKit classes. I used this to create CKCompositions, CKConversations, etc all the while sending the messages from within SpringBoard. A completely boneheaded move which has been handled better this time around to keep things where they need to be and avoid any ChatKit bugs. (Interprocess Communication, hereon referred to as IPC)
With those shortcomings in mind, I'd like to show off the new Kairos, aptly named Kairos 2.
So Whats New?
Scheduled Message Editing
This seems like a no-brainer right? With this update, you'll be able to select a scheduled message and edit the time and date it's sent.
One of the most requested features in the past has been the ability to schedule a message repeatedly on certain days of the week. This is now possible from the message schedule view. Tapping on a message cell will present the editing detail controller which among changing the trigger date, will allow you to select any arbitrary day of the week to schedule the message for.
Love it or hate it, iOS 10 UI is beautiful. It'd be a shame for me to keep the old outdated look. With user experience being a priority focus when doing this rewrite, I've tried to keep things looking nice and as close to stock as possible.
Taking queues from the stock Messages app cells I've designed the new scheduled message cells to look like they are part of the Messages app. By recreating the look it really drives the point of belonging. I wanted to create an experience which doesn't have the feeling of leaving Messages and entering some janky extension on top of it.
I've also taken the time to read up on the latest API's for UIViewController transition animations. This helped add the new scheduled message detail editing controller presentation animation.
Overall Better Performance
As I mentioned above, I've better engineered Kairos to keep processes in their place to avoid any inadvertent behavior. With this much cleaner code base, I've managed to improve on just about every aspect of it.
If all goes well I plan to have a beta available via my subscriber repo this week. I planned to have it available Sunday night but I discovered a bug which although fixed relatively quickly, made me make the decision to regroup for a couple days to test everything fully again just to make sure the beta drops smoothly.
Once my subscribers thoroughly test it, I will submit to BigBoss as a paid package.
In the past, I've normally priced my packages at the lowest possible price; $1. I did this knowing 95% or more would simply pirate whatever package I came out with. By pricing at the lowest price I could, I aimed to bring in as many sales as possible. In previous jailbreaks, this worked out just fine because there were enough users that this 5% of legit purchasers meant spending hundreds of hours on a tweak meant a couple grand. For transparency and to further drive the point I'm trying to make here, these are the numbers for Kairos.
As of right now, May 23rd 12:29 am EDT, there have been 2058 sales of Kairos for iOS 8 & 9. Priced at $0.99, this means Kairos has made a gross revenue of $2,037.42. After SaurikIT's merchant fee, this leaves a net profit of $1,425.90.
Also as of right now, my latest Cydia package for iOS 10  has a piracy rate of 92%. Judging by the tweets of other developers, here, here, here and here; this is a very common occurrence. In January of this year, there were 22,930  jailbroken users on iOS 10. Although there is not an updated number to base off of right now, I can't imagine it changed much. If anything it went down due to users not wanting to deal with the pretty horrible jailbreak experience this cycle brought with it. (It literally takes up to 10 minutes sometimes for me to boot my iPhone 7 into a jailbroken state :/)
For this reason, expecting the same 90% piracy rate, I have no choice but to price Kairos 2 higher. I cannot continue this race to the bottom pricing my packages at the lowest possible price to incentivize users.
Kairos 2 will likely be priced at either $2.99 or $3.99. I know what you're thinking, and frankly, the loss of sales will not bother me. I've priced my work at a reasonable price, a price lower than most pay daily for their coffee/soylent/weed, and that's all I can do. If you choose to support my work I greatly appreciate it, it truly does mean a lot. If not, well so be it.
If you are a subscriber to my Tweak Subscription, thank you! You, of course, will not have to pay and will be getting this update as part of your subscription.
Edit: Previous purchasers of Kairos will get a discounted price to be determined once the final price is determined.