Getting ready for beta testing Ink Calendar & Journal v3.0

Work has been underway for months now on switching over from the Windows appointment API to the Microsoft Graph API and rebuilding all of that infrastructure. I am starting to use test builds myself and they are getting good!

If you would like to test a beta build of Ink Calendar and Journal version 3.0 fill out the form below and I’ll add you to the testing group!

It is exciting times with many improvements to the app on the horizon! If you have any feedback please reach out!

Joe

Major breakthrough with calendar events!

For years now Ink Calendar & Journal has been plagued with the unstable and frequently broken AppointmentManager as the method for adding events to calendars. This week I have been able to use the Microsoft Graph to bring in events from your Outlook calendars.

Using the Microsoft Graph API will enable a reliable experience for all users. The Graph API can be used to view events from all calendars, create/edit events, see event details and more! This API is already being used by Ink Calendar to do the OneDrive syncing so adding calendar permissions is simple permission accept screen.

Since Microsoft introduced the “New Outlook” the API was completely broken with no intention of fixing it. The previous API was used because it relied on the Mail & Calendar apps for authentication, and enabled multiple accounts. Version 1 of the Graph API will only support one Microsoft account.

Let me know how events on the calendar have been going for you? Also what are you looking for in a new events system?

Joe

Fixes and Efficiencies

An updated was submitted to the Microsoft Store yesterday which contained a few key fixes bringing efficiencies to Ink Calendar. A newly discovered issue with Ink Calendar happened to be the way the Appointment Store was being used. Now I am calling a single instance of the Appointment Store which improves loading speed, memory usage, and appointment reliability.

There is more work to be done in this area and there are still strange behaviors with the Appointment Store API surrounding change notifications. I am trying to figure out what might be causing duplicate notifications when an appointment is added to the calendar.

Work to be done

I discovered today that adding appointments to the Windows calendar does not work well without an internet connection. Ink Calendar in the future will not enable appointment adding if the internet is not available. This should improve the experience as a whole because today the API simply fails with no warning or error.

Extra writing space has been a requested feature for some time, and it is a feature I have experimented with. Also adding text and hyperlinks to the canvas will eventually make its way to Ink Calendar.

As always thanks for using Ink Calendar!

Joe

Custom View Appointments and Bug Fixes

After releasing Ink Calendar 1.25.3 work began on bringing appointments to the custom views. No major issues were found with the custom views, but there have been nagging bugs within Ink Calendar which have been very difficult to understand what is happening. In addition to rewriting the appointment render logic I have been focusing on every error I see in Microsoft AppCenter.

Appointments

Adding appointments to custom views meant writing as a patchwork of controls which held the smallest size of a appointment canvas. For example the month view shows appointments for a single day, but multi-day appointments stretch over a single day. This means there needs to be a control which displays a week of days and overlays appointments correctly.

Fighting Bugs

With all new features there is the possibility of bugs and crashes. One of the more common crashes I was seeing after introducing Custom Views was “The added or subtracted value results in an un-representable DateTime.” It is unclear why or when this happens. I have several theories but none of them seem to remove this issue altogether.

The issue can be mitigated by making sure the DateTime isn’t of year 0 which would not work when adding a previous year. However maybe this issue happens because the ViewStateHistory list crashes due to File Access Violations. This is also unclear because the actual failure has nothing to do with the ViewStateHistory. What makes me think the ViewStateHistory could be involved is a blank ViewStateHistory could drive the main view constructor to start from a DateTime of 0,0,0.

All this to say bugs are tricky and the hardest part is finding what is failing. Hopefully 1.25.9 will bring an end to this bug and small improvements all over Ink Calendar. Thanks as always for reading.

Joe