My Day Today – my Power App for your calendar, tasks, and Pomodoro timer

Just over a year ago I blogged about a Power App I had built that consolidated my calendar and tasks in the one view for improved at-a-glance visibility of what I had coming up for the day.

Full credit where credit is due: when I say “I had built” – I mean fellow Microsoft MVP Rene Modery built for me and I made some minor adjustments. Back then I simply couldn’t get my head around Power Apps sufficiently to build it myself.

The original app showed my agenda for the day as well as any tasks due the day and any update / refresh needed to be done manually.

New & updated features

Since the initial build of the app I’ve been working with Power Apps a lot more and have been comfortable enough to experiment and make some adjustments to the app.

As I have ADHD, these adjustments were designed to go beyond giving me a clear view of my day, but also a clear view of right now. However, you don’t need to have ADHD to benefit from them.

Visual appearance

One small tweak was the addition of the Bing image of the day as the canvas background. As the day goes on, you see more of the background, kind of like a ‘light at the end of the tunnel’.

Another tweak was to have the app automatically refresh every 5 minutes so that any changes are updated without me having to worry about remembering to refresh.

Additionally, I thought it important to put a large clock front and centre so that at a glance I could see where I was in the day. This is important because sometimes it’s easy to get hyperfocused and lose all track of time.

Appointment vs. meeting icon

Having a list of calendar items showing was good, but I couldn’t tell if they were an appointment (just me) or a meeting with other people. I added an icon to automatically display which of those the item is, so again at a glance I can tell what’s coming up.

Additionally, I’ve added the location of the meeting so I can tell if it’s in-person or online.

Daily progress

Across the day we have a lot of meetings and perform a lot of tasks, so I felt it was important to show that.

In the column headings for Calendar and Tasks I’ve added some basic statistics to show how many appointments and tasks have been completed and how many remain.

Pomodoro timer

I’ve really gotten into the Pomodoro technique as a way of being able to burn through a task with no distractions. I don’t necessarily use it exactly as designed but having the ability to challenge myself and ‘race the clock’ helps keep me focused when I can sometimes become easily distracted.

When I press the Start Pomodoro button, the app shows a different canvas with a 25-minute countdown. It updates each minute, and at the end goes back to the main screen.

There is also the ability to cancel earlier, should the task be completed faster.

Integration with Microsoft Teams and Windows 10

One thing I wanted from the Pomodoro timer was for it to change my ability to receive notifications. The best way to do this in the Microsoft world is to use the MyAnalytics “Focus plan” feature in Microsoft 365. When this is activated, the presence in Microsoft Teams is changed to “Focusing” (an equivalent of Do Not Disturb) and the Action Center in Windows is set to “Focus assist” which effectively suppresses all notifications.

The issue I had unfortunately was that the Focus time appointments that MyAnalytics creates (which trigger your presence in Microsoft Teams to change) are very specific, and I wasn’t able to replicate them manually. While there are three attributes I could see (title, description, category), manually creating an appointment with these same settings would have no effect. However, copying existing Focus time appointments would have the desired effect, so the challenge became how to automate that and integrate it with my app.

While I put this on the backburner, fellow MVP Stale Hansen had been working on his own Pomodoro timer system using PowerShell and had cracked the Focus time challenge by utilising Power Automate to copy existing Focus time appointments and modify them at will.

Thankfully he had made the workflows available on GitHub, so with some small modifications I was able to connect them to my Power App and have the appointments get triggered when the Pomodoro button was pressed.

As you can see below, here is my unassuming calendar before I press the Pomodoro button:

After I press the Pomodoro button an additional appointment is created:

When the 25-minute timer ends or finish earlier and press the Cancel button, the appointment is removed:

The workflows

There are two workflows required that are triggered by the Power App: the first creates the appointment, the second removes it.

I had to modify Stale’s workflows as his are triggered by PowerShell, so some of the items were not required.

Creating the “Focus Time” appointment

Ending/Cancelling the Focus Time appointment

Conclusion

This method was so successful for me, I opted for having a dedicated monitor to run the app:

I previously had this running with dedicated external monitor, but felt it was a waste as I wasn’t using the Surface screen for anything other than Outlook (which I hardly use now anyway).

Effectively I have the app open all day taking up an entire Surface screen, and on my primary monitor I don’t even need to keep Outlook or To Do open unless I’m actually working in them.

My productivity has skyrocketed since implementing this reduced distraction approach combined with the My Day Today app.

The next step is to have this set my mobile phone to Do Not Disturb status. I have actually figured that part out for Android, but it was not exactly a smooth solution, so I’ve got some more work to do there and will come back to it later.

You can download the solution file from GitHub, which includes both the app for Power Apps and workflows for Power Automate.

The importance of Windows 10, OneDrive, SharePoint and Microsoft Teams together – session from Microsoft Ignite 2019

At Microsoft Ignite I presented a short session on something that I had been thinking for a couple of years as relatively obvious but from many conversations with clients it had become obvious to me that it was not so.

What I’m referring to is a feature called OneDrive Automount, and how this small setting can help with migrating files to SharePoint Online as well as the user experience when using Microsoft Teams.

In fact, back in June of this year fellow MVP Alistair Pugin and I discuss this small but important piece of functionality on our 365 Unplugged show:

In this session at Ignite, I talk through the dependences of Microsoft Teams on SharePoint Online, OneDrive for Business, and at a minimum build 1709 of Windows 10. For simplicity, I introduce the term “WOST” (Windows 10, OneDrive, SharePoint and Teams).

I also demonstrate how using Microsoft Endpoint Manager (formerly known as Microsoft Intune) these can all be stitched together.

You can watch the recording of the 20 minute theatre session as well as access the slides here: https://myignite.techcommunity.microsoft.com/sessions/79301

The session was actually repeated the following day due to the volume of registrations for the first session, so here is a link to the second session which is largely the same but probably a bit better as I had made some tweaks from the previous day’s session: https://myignite.techcommunity.microsoft.com/sessions/89229