Programming to assist with mundane work tasks is always a win. With Tasker and it’s extensions you can create a setter and getter for a Google Doc. This Google Doc should be one used at any regular interval. With this concept, I created a Google Docs Daily Report Setter and Getter Project. And now I can’t live without it.
Field Engineer And Daily Responsibility
Most Important Daily Responsibility
My current job as an Engineer has one major responsibility. While mainly being at the construction site, my primary duty is a daily report at the end of every day. The daily report summarizes the contractor’s work performed. Consequently, my company provided a laptop and MS Office to get it done. I began writing my daily reports by hand while constantly going to my laptop in the car to keep it updated. Because of this, I was not able to maintain observation in the field. Writing my reports was difficult if I had to constantly stop observing the contractor’s work efforts to write my daily report.
My Google Docs Daily Report
Since converting to Google Docs, I work faster. The most noteworthy reason I use Google Docs is because of it’s sync capabilities between my phone and laptop. Hence going back and forth to my car decreased and contractor observation time increased. Now writing my daily report happens almost instantly while primarily using my mobile device. I copy the previous day’s report, change the date, and continue writing as the work transpires. Also, Google Docs integrates with Google Apps Scripts for when I need it. While at the construction site, I constantly reference other documents and cannot always keep the daily report Google Doc on the screen. Having to locate the report through the Google Drive or Docs app caused an accessibility issue. Creating setter and getter Tasker tasks fixed the issue immediately.
Supercharging My Daily Report With Tasker, AutoShare, and AutoShortcut
The setter assigns distinct daily reports for each work day. Sharing a Google Doc provides a share link URL containing a unique file ID string: https://docs.google.com/document/d/[FILEID]/edit?usp=drive_web. Sharing to an AutoShare Command captures the link and parses out the unique file ID to a Tasker local variable. Finally, the task appends the date and converts to a Tasker global variable.
The getter retrieves the daily report under specific circumstances. When the daily report is set, the Tasker task opens the Google Doc. The getter task parses the file id and date from the above created global variable into separate local variables. And then the task opens the Google doc using AutoShortcut. The file id variable replaces the file id string in the “shortcut intent string” of the “Drive Shortcut” AutoShortcut action. Additionally, the getter compares the date local variable with today’s date. If they do not match, the getter task throws a snackbar message stating so.
Work Site Utility
The daily report getter is only accessible while at construction work sites. Similar to the Evernote Workout Log, I have a specific method to access the daily work site report getter. A distinctly named geofence is placed around the construction work site using AutoLocation. Once inside I can get the geofence name. And as a result, the getter is available programatically one of two ways. First, it is placed in a custom AutoNotification Notification Button. And second, it is a homescreen shortcut on my custom KLWP Work Site homescreen.
Google Docs Daily Report Project
The Google Docs Daily Report setter, getter, and access makes my job easier. I set the day’s daily report upon arrival to a construction site. As a result, I can get my daily report at a moment’s notice from more than one location. My project works at any construction work site assuming I previously established the geofence. It frees my time at the construction site when used every day. Because of this I can observe the contractor for longer periods to time.
The setter and getter concept for Google Docs applies to more than my example. It also applies to workout logs, to-do lists, and/or any other iterative document(s). And finally, the document doesn’t have to be daily as any length of time is configurable.