Minimal Counter 1.5
During these past few months I’ve been deep at work making the new version of Minimal Counter. You’ll find that it has so many new features that it feels like a 2.0 without actually being one! I thought multiple times if I should call this 2.0 cause it really feels to me like a 2.0 release, but at a mere 5 months after the release it seems a bit premature. That said the version number is not that relevant, unless you go for paid upgrades which I wasn’t going to for this version anyway.
Notice: Most of the new features require the Full Version. The update is free for paying customers and the old “Unlock More Themes” has been renamed “Full Version”. The in-app purchase “Remove Ads” has been rolled into the “Full Version” and has been removed from sale. (I removed it from sale months ago actually when I first thought about doing this.) If you bought “Remove Ads” you will be happy to know that I haven’t increased the price of the “Full Version” so you won’t spend a cent more than you would have done before. If you’re not a paying customer everything will still work as before, but you’ll miss out on most of the new features.
- The App has been completely revamped! Read the rest to find out how.
[More in depth explanations after the patch notes.]
- FIX: Fixed Layout Issues on iPhone 6 Plus and iPhone 6S Plus on Landscape Mode
- FIX: Fixed Layout Issues on iPads
- FIX: Fixed a small bug in the onboarding tutorial
- FIX: Fixed a memory leak when cancelling an in-app purchase.
- FIX: Updated the font used across the app along with the main theme and feel of the app. You’ll find that it’s way more consistent now.
- FIX: More than 60+ minor bug fixes!! + A ton of little improvements under the hood. ;)
Enough with the fixes, let’s take a look at the new features:
- NEW: Full Support for iOS9 Multitasking on the iPad (SlideOver and SplitView) + Full Landscape Support (iPhone & Plus and 6S Plus included)!
- NEW: Support for multiple counters! [This was by far the most requested feature]
- NEW: All New Mode selectable for each counter: Goal Mode. With Goal Mode you can count up to a specific goal! To find out more head to “Settings” -> “Advanced” and check it out. [Or just continue reading]
- NEW: Decrement your counter by swiping down in full screen mode!
- NEW: Edit and Delete any counter.
- NEW: Keep your counters in sync between all of your devices [Requires to be logged in with an active Internet Connection.]
- NEW: You can now Create an Account and Log In (Logging in through Facebook or Twitter is also supported if you want). Of course you can also use the app without logging in, although you will lose access to most of the new features in this version. Mind that the app is fully usable offline once you log in. [You can also sign up and link your account to Facebook or Twitter later if you so desire. As before you’ll find more infos on this below.]
- NEW: Added a section in “Settings” to manage your account and your data. Remember: All your data is and remains YOURS.
- NEW: All new loading screen.
- NEW: Added 10+ new themes!!!
NEW: Improved In-App purchase, now everything will be unlocked with only one in app-purchase! The price hasn’t been increased to match the old price so consider it as a discount for everyone! [And nope it’s not a launch price, it’ll stay like this for the reasonable future.] You’re Welcome.
- NOTICE: Your data is and will remain yours. You can delete your account and all your data from “Settings” -> “Account” -> “Delete Account” while logged in. Please mind that doing so will result in everything being deleted forever with no way of getting it back. You can also just delete you data and start anew without deleting your account from “Settings” -> “Account” -> “Delete All Data”. Deleting your Data or your Account will delete it across all of your devices.
The rest of this article will focus on the Full Version of the app.
Your counters will be linked to your account and won’t be accessible by anyone else, under any circumstances. You stay in control and can delete all your data at any time. The account is only used to sync your data, nothing else.
Differences Between Facebook, Twitter and Normal Login
The three login systems are equivalent. The only difference is what happens if you forget your password. With Facebook / Twitter there is no password so to log in you just need your account on Twitter / Facebook, but of course if you lose access or delete those accounts you will be locked out. With the normal Login Minimal Counter can send you a reset password link to your email in the event that you lose your password. Your email won’t be used for anything else, nor shared to anyone. I hate spam as much as you do.
Obviously once you log in the app will save your login token and automatically log you in each time. If you want to have the option to log in manually each time (maybe for security purposes) feel free to send me a support ticket explaining the reasons — otherwise I don’t plan to support that.
Your data will be migrated from the previous versions automatically and effortlessly to a brand new counter. The ‘Reset To’ value (which is the value to which the counter resets to when you press the “Reset” button) will be set to zero. Everything else (including creation and last modified dates) will be migrated over. After the migration the counter will be like any other, you can freely edit it, increment it, decrement it and so on. ;)
Notice: The migration will happen as soon as you log in (regardless of the fact that you’re online or offline at the time). There may be instances where the migrated counter won’t appear right away, don’t panic your counter has been saved. [Usually it will appear in seconds, if it doesn’t restart the app].
In “Settings” -> “Advanced” -> “Tutorials and Resources” you will find a link to read the on-boarding tutorial again if you missed a part and a link to this very article. Notice that the tutorial is aimed to provide an introduction for the free users and it doesn’t cover much at all of the full version of the app.
If you need any information you can — apart from continuing reading this post — check the [Knowledge Base].
Now that your counter has been migrated feel free to play around with it for a while, once you feel a bit more familiar with the various screen we can dive right in:
Creating a New Counter
After you log in you will be redirected to the main screen of the app where you will find a list of all of your counters. If you are a previous user you will find your old counter that has been migrated to a whole new improved counter.
But let’s go ahead and create a new one. Tap on the plus on the top right corner of the screen and you’ll be taken right into the counter creation screen, from here you can choose a name (that will get capitalized once saved), the start value for your counter and a Step By value, how much to increase the counter each time it’s tapped. You can also change the theme for each counter or just use the default one (customizable from “Settings”).
If you want to enable Goal Mode for this counter go ahead and do so because that’s your only chance, once you’ve created it your decision is final, you’ll need to create a new counter if you wanna try out Goal Mode. Remember that to enable Goal Mode you need to have it enabled from “Settings” first.
Once you click “Save” your counter will be added, notice that if your counter is in Goal Mode you’ll have a nice blue completion bar at the bottom that marks your progress (in %). From here you can either click on the square on the left to increment it or click anywhere else on the cell to get taken into the fullscreen view.
From the fullscreen view you can swipe left to go back or tap anywhere on the screen to increase the counter. To find out all the other gestures available check out the “Changes in Gestures” section.
With every change your counter gets synced and will be available on any device you log to.
Let’s now take a look at the new Settings screen. It’s now reachable tapping the “Settings” button at the top left of the main screen. There you will find an all new Account screen where you can manage your account.
For free (and non logged in) users most of the app will stay the same. The Settings screen is still reachable by swiping on the counter. You will notice that “Custom Themes” has been renamed, but for you it will keep the same functionality as before.
For the full version you will notice that most of the counter related settings have been moved into the counters themselves, that means that each counter is fully customizable. Settings is now the place for global settings or default values only.
From here you can manage everything about your account:
That’s it, I didn’t want to over bloat the Settings with useless crap and I feel like there is a good balance between customizability and ease to use. If there’s something missing, [let me know].
Once you log in you can continue to use the app while offline (assuming that you don’t press log out, but you just use the app while in airplane mode or without internet connectivity). Everything will still work and your changes will be synced to the server once an internet connection becomes available again. If it doesn’t the app will continue to work indefinitely offline.
Please mind that there is a limit on how many changes can be queued to be synced to the server while offline. At the moment Minimal Counter will keep a list of all the changes to push to the server up to 10 MB, passed that it will start dropping the oldest requests. [This will basically (almost) never happen since 10MB of sql instructions is a lot, just be mindful that there is a limit.]
The “Legacy Version” settings from “Settings” -> “Advanced” will keep the app looking and behaving as it was in 1.4 for those people who don’t want to it to sync nor have multiple counters, but want the full version as it was before. [Please mind that this legacy version may be dropped at some point in the future. I currently plan to keep it around, but that may change.] You need to be logged out to turn on “Legacy Version”.
One of the most peculiar features of Minimal Counter was the limitation that I put in place for which free users that their theme will reset to a random color after a while. It turns out that a lot of people liked the idea! Now you can select Random Color when creating a new counter and your counter will assume a new random color each time! I tweaked the text color to always be white or black (depending on the background) so the counter always stands out from the background, no matter what. You can always edit your theme from the “Edit Counter” screen.
Editing and Deleting Counters
You can Edit or Delete a counter by simply swiping from the right border of the cell to the left (in the main view). You can’t edit a counter from the fullscreen view. The main point of the app is allowing anyone to count without distractions, because of that while in fullscreen the only activity available is to count without any distraction. Period.
The editable fields on counters are:
- Title (doesn’t need to be unique)
- Step By
- Reset To
The other fields are NOT editable for obvious reasons. Note that at the bottom of the “Edit counter” screen you can find more information about the goal for the current counter (if it has one) and when it was last synced to the server.
Changes are synced to the server after a short while (usually less than a minute) so if you change a counter on one device it might take a short amount of time for the changes to be propagated to another device. This is done mainly to limit the load on the server and not to clutter the internet connection.
The latest change always wins. Timestamp is taken by the server at the moment of finished upload of an edit.
Uniqueness is enforced by a random ID, so 2 objects with the same name, but created by 2 different devices or at two different times will appear as different objects (this solves a whole area of problems with sync conflicts). [Of course once you get them both synced to one device you can decide if you want to keep them both or delete one.]
NOTE: Once the changes have been saved to the server you can use pull to refresh to force the sync from the other device.
A note on Created At / Last Modified Dates
The dates are based on the system clock. I use different, server based dates for keeping track of which object to sync of course, but those are not accurate of when the object was created or modified since you might be offline while creating new counter or performing changes or it simply may take a while for the changes to get pushed to the server. Just notice of course that if your clock is not correct the date will obviously be wrong.
NOTE: You can choose between absolute dates such as “November 1st, 2015” and relative dates like “a minute ago”. Please mind that relative dates are not precise by the second.
Every once in a while, if background fetch is enabled and if you’re logged in, Minimal Counter will silently sync all your data in the background so that the latest data is ready for when you open the app without the need to wait.
You can always disable it from the stock “Settings” app from Apple if you don’t want it active.
In-Depth into Goal Mode
Goal Mode is an exciting new features of Minimal Counter 1.5!
With goal mode you can set a goal for any counter and count up to that goal. Mind that you can’t count backwards in goal mode, you can’t switch a counter from normal mode to goal mode and you can’t change the value of the goal. Once it’s set it’s set. The only way to undo it is to delete the counter. You also can’t change the “Step By” or “Reset To” values to something else (but you can reset the counter, for example if you miss your goal and want to start over).
All of this is done so that once you commit to complete a goal you can’t back off and change it to something easier and say oh I’ve done it, the only way would be to fail this goal (deleting the counter) and start a new one.
The switch “Enable Goal Mode” from “Settings” allows you make the option of creating a Goal Mode counter available from the counter creation screen, it doesn’t automatically set your new counters to Goal Mode. When you create a new counter you can choose to enable “Goal Mode” for each one of them. Try it out, I really hope it helps people sticking with their goals. Notice that you can go beyond 100% and surpass your goal if you manage to! (Congrats if you manage to do so).
You will also have a nice visual representation of your current progress towards your goal which really inspires you to push forward.
The possibilities are endless, but here’s some ideas to get started:
- How many days without smoking
- How many days straight you’ve been exercising / running / …
- How many books you’ve read this year
- How many projects you started / completed this year
- How many days in a row you’ve written an article for your blog
- And much more…
When you complete your goal you will be rewarded! How you ask? With rocking fireworks!
You can find settings for the reward screen in “Settings” -> “Advanced”
You have completed a goal and wanna brag about it? [Let me know], I’m always happy to hear new and interesting goals!
Changes in Gestures
The gestures have been completely changed from the free version since most of them are now irrelevant since the related function can be accessed more easily and intuitively from somewhere else in the app.
Main Screen (the one with the List of counters)
These gestures act on a single counter, just swipe the whole cell right or left.
- Swipe Right: Swipe Right to reveal the “Reset” button to reset the counter. You can change the value it resets to by editing the counter (how to edit it you ask? You’ll find out in a second ;) ), remember that for counters in “Goal Mode” the “Reset To” value can’t be changed after creation.
- Swipe Left: Swipe Left to reveal the “Edit” and “Delete” buttons. Remember that for counters in “Goal Mode” some edit options are unavailable.
Full Screen View (for each counter)
- Swipe Up: Swipe Up is the only gesture that keeps its functionality intact -> Share Sheet for the current counter. The share sheet has been updated to include goal mode for those counters that support it.
- Swipe Down: Swipe Down now decrements the counter. Only works for counters that are NOT in goal mode as previously mentioned. To edit the title of a counter go back to the initial screen (the table with all the counters) and swipe left to edit or delete a counter and right to reset it.
- Swipe Right: Swipe Right obviously makes you go back to the previous screen (the one with the List of counters).
- Swipe Left: Swipe Left doesn’t do anything at the moment. Let me know if you have any ideas ;)
If you don’t like gestures check the next section on how to avoid them ;)
The app is fully accessible! (Let me [know] if there’s anything that doesn’t work.)
All the actions that needed a swipe are now available as buttons visible to the Accessibility system. The buttons will be also visible if the user turns on the option to “Show Accessibility Buttons for Gestures” from Settings -> Advanced. Please note that doing so will not turn off the gestures (if voice over is off) but you can use the button instead of the gestures if you prefer.
iPad iOS 9 Features
Minimal Counter 1.5 has full support for iOs 9, also including iPad Split View and Slide Over + iPhone Landscape and 3D Touch.
While developing Minimal Counter I also needed swipeable cells, you can find the repository for it on [my github page].
Known Bugs and Workarounds
The list of counters may appear empty even if you have counters: 1. Click on Settings and go back, this will force the sync once again 2. If it doesn’t work, close the app and reopen it.
- Minimal Counter requires iOS 8.0+
There are a few limits on the Full Version, mainly related to server load and to keep a reasonable speed for every user. These limits are subject to change, if necessary. Any change will be communicated to you through a [blog post] or/and email newsletter before it goes into effect.
The current limits are:
- Fetching is limited to 100 counters, if you create more they will be saved to the server, but you will lose access to some of them. Each time you edit a counter it will bump to the top (they are sorted using the last edited timestamp as default) so the ones the have the oldest “edited at” date will not be shown anymore. You can delete some counters to avoid that.
- Server requests are rate limited due to server loads concerns.
Thanks for making it this far. If you have any other question feel free to ping me up anytime ;) [ [Support] ]
I hope you’ll enjoy using Minimal Counter as much as I enjoyed making it.