Weekly Progress: 9 November 2017


It’s time for another weekly update. As I’ve said previously, there is no fixed date for when these’ll appear, but they’ll be once a week. And this week, it’s on a Thursday. (Well, Thursday here in the US).

So let’s go over all the things I’ve worked on since my last report!

High Contrast Mode

This was actually a feature I wasn’t going to implement until later on in Shine’s development, but it’s good to get it done. Accessibility is something that every major computer program should put effort into working on, and even smaller computer programs should spend some thought on it too.

Accessibility, of course, refers to implementing features and changes into your program that makes it usable (accessible) by those with disabilities, such as partial or full blindness, deafness or hard of hearing, or color blindness.

Windows already has a lot of accessibility features jam-packed into it, which is absolutely wonderful. One of these features is called “High Contrast”, and when enabled, will remove most colors from the screen, leaving only a basic set of colors such as white text on black backgrounds, and other highly-contrasting colors, for those who are partially blind. It helps aid in visibility as the highly different colors show up well against each other.

Many programs will work fine in Windows’s High Contrast feature without much modification needed, but Shine is an exception. Since Shine creates its own custom windows, Windows isn’t able to change Shine’s colors when the user turns on High Contrast. So instead, I’ve added in High Contrast Mode as an option within Shine itself.

Two images of Shine's main window, one with high contrast mode off and one with it on.

While High Contrast Mode is on, Shine will display itself using the same basic colors that Windows uses for its High Contrast feature. You can see the difference in the image above.

High Contrast Mode still isn’t working 100% great yet; some things still don’t color themselves correctly (especially the Options window) and I want to spend more time working on visual indicators of things you can click on and making sure you can read text you have your mouse over. It’s like 90% of the way there, so I want to get it up to 100%.

In the future, I’ll add a feature where Shine will detect if Windows’s High Contrast is turned on, and offer to turn on Shine’s High Contrast Mode for you.

In terms of other accessibility features, I already ensure that Shine can be used by keyboard navigation alone, and Shine also never gives out information only through audio cues. I’ll be working in the future to see how Shine interacts with Narrator.


I’ve begun work on the offline cache for Shine.

I explain what a cache is on the help page for the related option, but basically, a cache is an offline copy of your data that a program will use so it doesn’t have to download the same stuff over and over. Web browsers use caches to keep a copy of images, code, and text from the websites you visit super-often, and Shine uses caches to keep a copy of your online calendars while you have Shine open.

The cache work isn’t fully done, so Shine isn’t actually using caches quite yet, but it’s getting there! Keep tuned to more progress in future weeks.

Other Small Things

Again, I’ll rely upon a bullet list:

  • Another new icon! See if you can tell me which one it is in the image above. 😉
  • Beginning the process of moving to an updated library to connect to Office 365/Outlook.com. The updated version is notably different, although I’m sure they’re mostly improvements.
  • Shine’s calendar format now uses the file extension “.shl” rather than “.shc”. The change was made because Photoshop uses “.shc” for something, and I didn’t feel like competing with it.
  • Added the option to move and copy calendar files from within Shine itself.
  • Fixed a small bug in the color picker.
  • Fixed a bug related to how Shine does math with dates and times. As it turns out, Shine does the math fine; the problem was that what I use to input the dates and times wasn’t in UTC. (Which is a problem because Shine does all its work with dates and times in UTC.)
  • Added a diagnostic feature that can be used to learn more about a person’s setup if they encounter an error and ask me to help.
  • Began work on reorganizing the About window. I’m unhappy with how it looks lol.

For Next Week

I want to continue working on caches through the rest of this week and into next week. As well, it turns out that Shine has been unable to create or load events from local calendars, and so I’ll be spending some time working on that too. Some quick looks into what causes the errors haven’t really revealed anything yet, so I’ll need to keep at it.

(To be honest, I don’t think I’ve changed anything recently to how Shine reads or writes local events, so I’m unsure why I’m getting these errors now. … That’s how programming goes, though; something works one moment and doesn’t another moment.)

Anyway, talk to you more next week!


EDIT: Added and changed a few things. I usually proofread my things before I publish them, but that didn’t occur this time.

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.