Simple Elements and Bug Fixes

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!

Joe

WinUI Comes to Ink Calendar

Ink Calendar now makes use of WinUI with version 1.26. In addition to this new modern UI framework comes many changes and bug fixes throughout the app. One of the elements of Ink Calendar which has been improved is when tapping the canvas even when Ink is not selected the Ink Actions menu appears to make you more productive and bring information to your fingertips.

Previously tapping on the inking canvas would just select ink. Now tapping the canvas invokes the Ink Actions menu with a new day button. This button when tapped shows appointments and the ability to quickly jump to different views. The new improvement to the Ink Actions menu means you can more quickly see appointments and can more fluidly switch between days.

When in the year view tapping on any day will enable the Ink Actions menu to show appointments for that day. Quickly zoom into a view or skim a quick list of appointments. In addition to this working on the year view, it also works when tapping the month days shown on the day view. Quickly peak into another day and see what you have going on.

In addition to these changes there have been many bug fixes throughout the app. One major change is handling the way Ink Calendar interacts with the Windows 10 Calendar data. Now when Ink Calendar does not have access to the calendar data the user is notified with a list of steps to take.

If you have any feedback about Ink Calendar don’t hesitate to email support at inkcalendar.com

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

Finally, Custom Views

From the first prototypes of Ink Calendar over two years ago I have wanted to add the ability to create arbitrary views representing specific projects or seasons. Now that time has come with version 1.25 of Ink Calendar.

Why use Custom Views?

Planning long term projects is never easy. Looking forward and plotting out when and how to get work done seems like it should be easy. Hopefully with Custom Views Ink Calendar can become a tool which makes long term planning easy and pain free.

At work I have a few long term projects which span several months. Being able to start a new view dedicated to this project enables me to see where I am and where I need to go. Not flipping through months but one unified view for everything.

Planning for a marathon? Planning travel schedules? Use a Custom View to see the schedule. Keep it as organized as you need. Be flexible and ink the way which feels natural.

How to use Custom Views

  1. Click the “All Views” button which opens a pane on the right side of the app
  2. Switch to the “Custom” section of the pane
  3. Click “+New Custom View” at the bottom of the pane
  4. Set all of the details as you want them and click “Done”
  5. Now the view you created will open and now be visible in the All Views Pane

This is the beginning of this feature and I plan to add more details and features to custom views over the coming weeks and months. Please let me know what you are most interested in seeing what is not working.

Joe

Day View Agenda and Better Settings

Work is coming along quite nicely on the next version of Ink Calendar. This next update has two major features.

1. Day View Agenda

The Day View has been reworked to be more useful and powerful. Now every day see a break down of what is on your calendar for today. Use the agenda to organize time over the day and plan your time well. There is a customizable hour by hour area, a place for all day appointments, and a bottom area for notes.

If you prefer a standard dot grid, that is still an option. This new view will be the default, but the setting is there to change it back to the dot grid if you prefer.

2. Better Settings

The advanced settings area is now more intelligent and works better. But more noticable are the new background options available to everyone! Pick from a gallary of new choices. Mostly landscape and nature shots, with all custom backgrounds included as well.

Background Image Options
Background Image Options

If none of these suit your needs then feel free to add your own background as always. These images were chose for their diverse and rich color pallet which should make a great background behind the acrylic calendars.

That is it for now, thanks again for using Ink Calendar.

Joe

Swiping Coming Soon!

Update 1.19 is rolling out to the Microsoft Store now. This update brings a highly requested features: natural swiping between views. Now you can change the view by swiping or by clicking the next/previous buttons as always.

This change introduced a fairly major change to the way Ink Calendar handles the different sets of ink + calendars. I have done lots of testing for performance and found it to be acceptable. However it is impossible for me to test every device. I’ll be watching the crash statistics and will continue to optimize Ink Calendar with future updates.

Hopefully this update makes Ink Calendar more natural and easier to use. If you have suggestions, comments, or feedback then please reach out by email (support@inkcalendar.com) or twitter (@thejoefin).

Thanks again for using Ink Calendar.

Joe

P.S. If you are a digital artist using Ink Calendar and are interested in being paid for some promotional artwork please reach out and we can work something out.

Current Time and Bug Fixes in 1.18

Current Time and Textures

In the latest update there are two visible features added to the Week View. The first is a line showing the current time (of the current week). The other visible change is a texture given to calendar appointments to distinguish between different states of ‘busy.’ These textures mirror the ones provided by Windows for continuity and clarity. 

The current time indicator for the month view looks the same, but now will move to the next day if Ink Calendar is left open over night. In the same way the Week View current time indicator will move to indicate the current time when the app is left open. This makes it easy to locate where “NOW” is when glancing at a week view. 

Other than these changes I have made improvements to the way the Week View displays appointments. There was some odd behavior happening when there were several overlapping appointments. Also appointments sometimes not showing the correct end time when the appointment crosses over between weeks has also been fixed.

Thanks for using Ink Calendar. Let me know what you think and what you’d like to see improved.

Joe

Summer ’18 Update

Summer has been a busy time. I have been working on big changes to Ink Calendar. Mostly these changes have been in the way new calendars are generated. I moved a lot of the code around and have been working on getting it functioning the way it should.

The reason I’m making these big changes to Ink Calendar are to enable swiping between views. I’ve been breaking all the different UI elements into their own User Controls and abstracting the code which generates a view for the given date range.

So far it has been very successful but I still need to do a lot of work to optimize the experience. I don’t want to push an update which slows down the app while delivering no new functionality.

In addition to these architecture changes I’m working on little fit and finish elements like scaling the print out to fit, more keyboard shortcuts, and other suggestions from users.

Thanks for using Ink Calendar and if you have any questions or suggestions please let me know.

 

-Joe

Organized Settings and Appointments On This Day changes in 1.15

Appointments On Changes in 1.15

Two areas of focus for 1.15 have been organizing the app settings and improving the ‘Appointments on this day’ dialog. Organizing the settings and changing how it is displayed gives space to add more features and give users the ability to customize their experience.

Settings in Pivot for 1.15
Settings in Pivot for 1.15

The changes to the ‘Appointments on this day’ dialog are focused on adding more appointments without a pen. This makes Ink Calendar span the usage scenarios more gracefully from pen & touch to keyboard & mouse.

As always there are small improvements and bug fixes wherever I can find them.

Thanks for using Ink Calendar!

-Joe