Shine Calendar is a calendar program with a focus on customization and flexibility. For about 4 years, this was the primary hobby project of mine. However, I never truly accomplished my goals with this program before I decided to shelve it. For the sake of preservation/posterity and the ability to look back on old projects I've made, I have made Shine Calendar available for download here.
The old blog and incomplete help section is still available on a separate site.
Goals for Shine Calendar
When I created Shine Calendar, my primary goal was to provide a calendar program and experience other than what was being offered. Thus, I created the (totally humble) tagline "a better calendar experience".
More specifically, I had five pillars originally (based upon the idea that I would also create a mobile app version of Shine as well):
- Customizable: the UI can be changed to match what the user wants
- Connected: works with what you already use, such as Google Calendar and Office 365
- Attractive: Shine Calendar should look good, regardless of how its set up
- Approachable: anyone should be able to pick up and use Shine with minimal issues
- Everywhere: Shine should be available on Windows, and via mobile apps
While the last pillar ("Everywhere") obviously never came to fruition, I'll leave you to judge how well I did on the other remaining pillars.
Shine Calendar was only ever released in incomplete states, so certain features were not present. Here are a list of features that do work, for those who are curious to look:
- Create local calendars on your computer, or connect to calendars on Google Calendar or Outlook.com
- View events and create events, and attach files or websites to an event
- Customize the appearance of Shine, including colors, the toolbar, and the layout of various aspects
Certain online aspects may stop working over time, such as the connections to Google Calendar/Google Drive, Outlook.com/OneDrive, and Dropbox.
Reflection on Shine Calendar
The reality of the situation was I was a bit over my head with the goals I wanted to achieve with Shine Calendar. There were features I wanted to implement and things that I wanted to do, that rivaled what was available in, say, Google Calendar or Outlook. However, there was no reasonable way that one single person could compete with the work of an entire dedicated team. I started Shine Calendar at a time where I felt like my needs and others' needs were not being met by a mainstream calendar program, and I wanted to address that. By the time that I shelved the project though, these other programs improved enough to meet what was needed, and there just wasn't much of a clamor or need for something different.
My work on Shine Calendar lives in through my UI library I built to complement it, and its core code and base ideas and concepts are being reworked into a new calendar program that will be revealed at some later point.
I've personally learned a lot from working on Shine Calendar as well, not only with the code I've been able to reuse with new projects, but it's also helped me understand the process of building an entire complete package, from first install all the way to when it is uninstalled. While I've released other projects in a less formal sense via GitHub, CodeProject, and other locations through the years, this was the first time I worked on packaging together actual releases with the actual infrastructure to make it a smooth experience for others.