Digital Wall Calendar | MacRumors Forums
But I suddenly had the seeds of an idea. I was in the process of replacing my desktop monitor as the old one was discolored in places and didn’t look very good anymore. We all discussed how to get rid of the old one and couldn’t come up with any plausible ideas. So this aha moment hit me when I thought, “Hmm, is there a way to make some sort of digital calendar with this?”
I had already heard about DAKBoard and its software. I already knew that when most people say “calendar” they mean their events for the coming days and months and want them all listed on the actual calendar, meaning that the actual number representing the day of the month is is relegated to a small corner of the box while the rest is occupied by the list of the day’s events. You know how Google Calendar displays them, and so does DAKBoard. But somehow I’m not a friend of it. I would like a good old fashioned calendar with large block numbers for the days of the month that would be easier on the eyes even for the elderly. I’m not such a busy bee that I have to see what’s on my plate every day. I just need to see what day it is. A silly paper calendar we used to date doesn’t even show that. It just shows the days statically and leaves you to figure out what day it is!!
So I started searching with only minimal requirements in mind:
- It should show the current month and day in a different format, like the number enclosed in a box
- It should have a large space for the picture holder that can be filled with any picture of my choice
I found Magic Mirror and knew right away that this was the place for me. But Magic Mirror’s default view is pretty boring. Which is understandable as this software was primarily written for use behind a mirror surface used to view a person’s reflection and therefore displays minimal text information with the entire display being black so as not to disturb the reflection.
But Magic Mirror is an amazing piece of software that is fully customizable with a large number of plugins to make its look the way you want it. So I started looking because I love programming and creating new software myself.
I had to do some searching as I still found calendar displays similar to DAKBoard with integrated Google Calendar showing all daily events along with the actual date digit. Certainly not what I needed.
But then I came across this plugin:
As soon as I tried it I knew this was what I was looking for all along (did it sound too romantic?). I mainly used it myself in its unmodified state, with only tiny changes in font size and color to make it more visible against a wallpaper background.
Oh, and I forgot to mention that I had strayed from my original plan of having a separate space for a picture and the calendar underneath on a white background like a traditional paper wall calendar. I was now thinking more of a mobile home screen where we have a full display background and icons and text against it. So I searched and found another plugin:
This would give me nice background images on my screen and also let me shuffle them at fixed intervals. You no longer have to look at a single picture all month long! There were also a variety of image sources, so I tried them all to see which ones had the prettiest images. In the end I settled on the firetv source. I was happy with this setup for a few months after wall mounting my monitor in portrait mode (which makes it look more like a traditional paper calendar, rather than landscape mode, which only makes it look like a computer wall display or TV display ) and running the Magic Mirror software on a Raspberry Pi Model 4B.
But you know, all of us doers just have a drive to make things better. And I saw the same wallpapers looping over and over again so after a period of time there was nothing new about the setup. And I was like, ‘Hmm, this thing has internet access. And there is a huge, inexhaustible supply of images on the Internet. Then why do I have to look at a small number of images over and over again? Can I do something? about that?”
So I rolled up my sleeve and went in search of wallpaper pages I liked. I found a few and examined the HTML structure for each of them. Then I wrote a simple Python script and used Selenium and Beautiful Soup to extract the wallpaper category list from the website. As a side note, I’ve also created a super simple Android app that has just a dropdown menu and a button. I did the install so that the python script was exposed to the world as a REST API and when the android app started it called the API and got a list of all these categories that went into the dropdown Menu entered menu. From here, if I select a category and hit the button, the python script would go to work and download a bunch of wallpapers from that category into a folder that would be monitored by the MMM wallpapers module in Magic Mirror and displayed in a rotating fashion.
This has been my journey so far. But now I’m itching again and I want to improve that further. For example, in a regular paper calendar, we can turn the pages to view other months, and even in our phones, we can swipe to other months. This is not the case with a monitor display. I tried for a while to extend the MMM wallpaper module to accept external requests to change the displayed month, but it proved complex and generally not worth the work. But now I’ve started learning some web development and I had this idea to create my own version of a digital wall calendar that would have certain features that I can’t find anywhere:
- Ability to show any month of any year I want to see
- Change the font and color of text and digits
- Color code specific days based on a task or reminder (I know I said I hate showing tasks, but I’m just talking about a simple block of color around a date that would give me an idea of what’s coming up, or in the case of previous months, how long ago was something)
- All of the above would be controllable via a companion app if on a non-touch display. But if it’s a touchscreen, it should be controllable directly from the screen
- The app would also be able to change the items displayed like temperature, time, courses, etc. on the go
I just got this idea and I’m just getting started. As soon as I know enough about web development, I’ll start doing this for myself, because that’s my motivation: to do something cool for me, something that people get excited about. Already my digital wall calendar is turning heads and the more tech savvy appreciate that this is not something that anyone can create. That alone gives me the urge to create something better and learn something along the way.
Please let me know how you found my idea.