For years I’ve been adding features to Ink Calendar making it more complex. At the same time I’ve been tracking and squashing bugs. This is the classic cycle of app development. With Ink Calendar 1.27 I’ve broken the UI elements into smaller chunks making it easier to reuse them and to find exactly where the bugs are happening.
Since Ink Calendar uses calendar data from Windows 10 that means many of the calendar views are drawn using async methods. Understanding failures in async methods via AppCenter can be tricky. By breaking down the rendering of each UI component into their own UserControl I’ve been able to narrow down exactly where errors are occuring.
Another way 1.27 is more reliable and robust will be in the settings page. The page loading sequence has been reordered to put the longest running tasks at the back and let data validation occur while those long running tasks are happening. Now working hours, agenda start/stop, and week start/stop times should all validate before saving bad data. This was an issue which can be hard to find on my development machine because usually the settings page loaded so fast, but personal usage on my Surface Go highlighted this problem.
The work done in 1.27 doesn’t bring any new major features to users, but should enable me to do some cool view blending in the future. Now that each of these controls are broken out on their own they can be inserted into different views in different ways. Look forward to a possible new blog post about how views could be changing.
As always, thank you for using Ink Calendar. If you encounter any issues please email support at inkcalendar dot com, and if you have any suggestions or ideas I’m always interested to hear!
Users have asked this question a couple of times. If you have ink on a day in the month view, then switch over to the week view, shouldn’t you be able to see what is written on the month view? Currently there is no mixing between views and this was a design decision but also a technical/UX roadblock.
The way I use Ink Calendar drove the way I designed the app. Year view represents my long term planning. When will I be traveling, when holidays land and how I’m going to use my vacation time. I use month views for daily tracking, jumping quickly between months and looking at what’s coming up in a couple weeks.
Week view is for hour by hour planning of the work week or weekend. When to expect things to come and go. Day view is used when I need to nail down a specific agenda for a day. Like there is a lot going on and I need to know where people are going to be and what is going on.
By these standards I have no need to see all of the different views overlapping each other. Generally I view Ink Calendar as a way to organize my thoughts and plans quickly and easily. When I need to share an event with someone or let it span views, then I add an appointment to my calendar.
Distraction and clutter free planning has always been a core design intent of Ink Calendar. I want to make it easy to jot down timelines and move them around. Overlapping ink from all different views on to a single view would not mesh with this design. Views would become extremely crowded and busy.
Technical and UX Roadblocks
Currently Ink Calendar relates one view to one ink file. Each ink file is loaded into an InkCanvas control. If I were to show week view ink on top of month view ink then any new ink would be added to the week view ink file. Parsing user intent on where they expect the ink to save and load gets complicated and nearly impossible to disentangle.
If the InkCanvas views were not overlapping, but laid out in some sort of side by side arrangement then there would need to be an InkCanvas control for each view. This could work, but it would make for a confusing user experience where a single pen stroke could not span the different views.
Ink Calendar currently can use a lot of RAM from loading views to the right and left of the current view. If one view contained the ink of four different views, then the RAM needs would be much larger. Since I typically use Ink Calendar on a Surface Go, I have no expectation that it would preform well, especially if there is a lot of ink.
It may be possible to have a merged view which shows all of the different views for a particular day. I have been looking into how to render views out as .jpg files. This could help the performance problem and give a unified view to show what is going on at every level for a single date.
If you are reading this and believe I have completely missed something or have a novel idea on how to solve this tricky situation then please let me know. I am going to experiment with adding ink between different views in different ways to see how it feels and looks, however I do not know how it will turn out.
Finally, throughout the development process decisions get made at every fork:
Should the ink be editable in a different InkCanvas or just view only?
Should year view ink be shown in the day view calendar?
Should I add a truncated week to the top of the week view?
What about the partial weeks at the end of a month, merge or overlap them?
Show the view-only ink as transparent?
Could users ink over the view-only ink?
Should that ink get shown on the month view?
All things considered this is a tricky problem where every users might have unique expectations. I’m not ruling this out as a possiblity, but I do not want to spend hours and hours on this feature which is only important to a small set of users. My time will probably be better used working on a cloud sync service or some other more broad appeal feature.
Please let me know what you think about all of this, and as always thanks for using Ink Calendar!
The latest version of Ink Calendar is out and it is packed with new features, bug fixes, and very little else! Customize the fill of your calendars with the color of your choice. A new history pane now lists the most recent views which have been visited. Finally a new beta setting enables month ink to mix from previous and upcoming months.
Ink Calendar is all about customization! In this theme 1.24 brings the ability to change the background fill however you choose. Adjust the transparency, color, and it’s intensity to get a background fill which looks perfect! Also there is now a preview which shows you what your options will look like as you pick them.
Sometimes when I’m using Ink Calendar I find myself switching between a few different views frequently. The previous view button is nice, but sometimes I want to see where I’ve been so I can get back to it. Now a button next to the view change button shows a pane of recent history! This pane will continue to evolve into the home for a few new features which I’m personally very excited for!
I had a user leave a review where they requested the ability to show the previous month’s ink where the days overlap. This is a natural way to get a heads up when the days are show, why not also show the ink? Well now there’s an options to see the previous and upcoming month’s ink overlain onto the current month. This ties the different months together and gives continuity in the ink.
Finally I have improved the stability of Ink Calendar in a few different ways. The addition of AppCenter crash data has opened a window into the crash reports; what is causing crashes and where. hopefully Ink Calendar 1.24 is more stable than ever before. There are still a few bugs which I’m taking care of but they are within my sights!
As always, thanks for using Ink Calendar and I do hope you send me an email at support [at] inkcalendar [dot] com to let me know how you use Ink Calendar and how it could work better for you!
In update 1.22.1 Ink Calendar will gain the ability to UNDO with the undo button and by pressing ctrl + z. There is not much more to say on this, most programs have this ability and now Ink Calendar does too!
Also you can highlight working hours on the Week and Day view. These can be turned off or adjusted to reflect your specific working hours. Let me know what you think!
I’ve been investegating an issues with quick drags freezing Ink Calendar, but the bug is hard to pin down. If you have experienced this please email support (at) inkcalendar (dot) com.
Ink Calendar 1.21 is rolling out now with a few different features in tow. As I used the day view I found myself wishing that there was a current time indicator on the agenda, and now there is!
Also the month view appointment layout engine has been reworked to better display appointments which span more than one day. This design is similar to the built in Windows Calendar app. Hopefully it is more obvious when multi-day events begin and end.
Finally now you can filter which calendars show up in each view. Currently Windows only gives a minimal amount of information about the origin of the calendar, but hopefully the color coding helps. Now you can reduce the number of calendars shown on month view or set aside day view for work only. Totally up to you!
Let me know what you think of 1.21 on twitter I’m @TheJoeFin or email support [at] inkcalendar [dot com] for issues, suggestions, or anything else.
This week I was busy and insipired by the reception of Ink Calendar by this Reddit post I decided to push out a quick update. In update 1.12.2 I address a few bugs and a couple new features. Nothing huge, but little things which make the overall experience better.
Outline around the current day in Month View
Clear selected ink when adding an appointment
Acrylic background. (not supported on mobile, sorry ☹)
Midnight Week View crash
Week View background crash
Text wrapping in settings on mobile
Let me know what you think! Thanks again for using Ink Calendar,
Version 1.10 will not be a big release from forward facing features but it will provide some much requested advanced settings. These are settings for people who are interested in making backups of their ink and deleting all their ink.
Another big element of this release is using the roaming app data service to sync ink between devices. I’ve named this ‘slow sync’ because this service is very slow. While slow it does work and is free for me to implement so I decided to add this as a feature for those who want to try to use it.
With the slow sync come the risk of overwriting ink from one device by inking on another device. To reduce this issue I’ve added the ability to backup and load ink, and the ability to set a device as a view-only device. These view-only devices will not save the ink and this should reduce the risk of ink overwrite.
There are many little things which can go wrong when implementing features like these so please be careful and let me know if something doesn’t work the way you think it should.
Thanks for using Ink Calendar,
P.S. The support@InkCalendar.com email was broken because of a domain name thing, but it is fixed now.
P.S.S. Microsoft is having technical troubles with flights so I don’t know when this update will get pushed out.