Protect your calendar, save your sanity

Our workspace is full of interruption these days and it has become harder to do work that requires focus. Are you among those people who avoid the interruption by blocking some time in their calendar? How long before someone comes along and double books you? A similar story is people inviting you to a meeting while you are away on leave or dropping kids at school.

Calendar-meme

You can’t train everyone to use the ‘Find a time’ feature of Google Calendar. One solution is to auto-decline invites for that 7am meeting without you moving a finger.

The rest of this article is about Google Calendar, you may stop reading if you use something else 😉 There used to be “Automatically declining events” configuration in Labs, but it doesn’t seem to be available anymore (at least to me). However, it is still easy to do simple automation like this using “Google Apps Scripts”. Have a look here to see how it works.

Update: Google has released a new feature that allows you define a special type of event called ‘Out of office’, which will allow you to automatically decline any new invites or existing events during that period. Unfortunately, you can’t define a recurring ‘Out of office’, which hugely limits its benefits.

I had used Apps Scripts before, so I wrote one (using this as a starting point) to do what I needed. It tracks my out of office hours and declines all the incoming invites with a polite response. This is how my calendar might look like when I define out-of-office events in it.

calendar-with-ooo

Check it out here on GitHub, copy and modify it to fit your purpose. When you run it for the first time, you will need to grant access to manage your calendar and send emails as you. Set it to run every few minutes and you are all set. No more meetings when you are away.

Advertisements

Relay ME is now open-source!

This entry has been cross-posted in Codolution’s blog.

After recently announcing end-of-life for Relay ME, I have got a lot of responses from people who were using this app and relied on it for their business, and couldn’t find any alternatives to it. Unfortunately, or fortunately, texting is still a big thing and we don’t have a proper bridge to bring it to our online world. I was wondering if I could do something so we could keep this app working for as long as possible, given the fact that we can’t spent much time maintaining it. As a result, we have this app and its server-side components (used for OAuth flow, linking to GMail) open-sourced. You can find them on GitHub now (here, and here). You can now start contributing to this app, fix issues, and add features to it by sending pull-requests in GitHub. There will also be a public Trello board to track tasks and issues, to give visibility about what is happening in this space.

In terms of app maintenance, it will be kept alive but I don’t think any technical support can be provided at this stage. We hope that we can fix bugs and improve the app by getting help from developer community in the future.

EOL for Relay ME

This entry has been cross-posted in Codolution’s blog.

It was a few years ago that I started working on an Android app called Relay ME, just to learn how to write an Android app. Its aim was to forward texts as emails, and allow the user to reply to them using email.

Screen Shot 2017-04-26 at 12.38.54 AM

Despite lack of proper resources it didn’t take me a lot of time to make it work. It was the time of apps with black background, if you still remember it, and expectations weren’t high. If your app just worked you were in a very good shape 😉 However, a lot of things changed while I was keeping this app alive. I did things that are now taken for granted, dealt with things that are history (ActionBarSherlock, ADT Plugin, and Google OAuth 1 for example), implemented best practices to become obsolete next year, and scrambled to fix issues caused by new releases of the platform. Creating and maintaining a mobile app requires a decent amount of effort these days, especially if there is big pile of historical baggage to carry around and technical debt to pay. The time has come for me to close this project to be able to focus on the current work at hand. The biggest take away for me was to never underestimate the time you need to spend on customer support and investigating issues.

Pictures

I have already open-sources the codes for the Android app in https://github.com/codolutions/relay-me-android-studio-project. I hope it can be useful for someone who wants to do something similar to this. If you are a developer interested in maintaining Relay ME and supporting its user base on Google Play, get in touch with me at info@codolutions.com. All I need from you is interest and commitment.

A starter web app using Java and React

As a back-end developer, every time I start a web application with front-end code it becomes a mess. I usually start with something very simple in Node and it quickly reaches a point where I can’t really manage it. This time I tried to organize my web app so that:

  • Its back-end code is in a language I’m more familiar with, i.e. Java.
  • It uses a proper dependency injection, i.e. Spring.
  • It uses a modern front-end framework, i.e. React.
  • The same templates are used in server and client side code, i.e. it is isomorphic.
  • It isn’t ugly, at least using some LESS styles and Bootstrap.
  • It has basic wiring for database access.
  • It can run in Docker.

If you think you can use this starter app, please feel free to clone/download the code from https://github.com/n0rm1e/spring-react-starter-app/. Please feel free to give feedback and/or contribute back. Its front-end code is based on Facebook’s comment box tutorial, you may already be familiar with. Credits to Benjamin for the idea and starting point.