Kushal Das

FOSS and life. Kushal Das talks here.


Communication tools and submitting weekly reports

I work for Fedora Engineering team. There are around 17 people in my team, and we cover Australia to USA geographically. Most of us are remote, only a hand few members go to the local offices. I did a blog post around 3 years back just after I started working remotely. In this post, I am trying to write down my thoughts about our communication styles.

Communication Tools

IRC is our primary communication medium. I am in around 42 channels dedicated to various sub-projects inside Fedora. We have a few dedicated meeting channels. As all meetings involve community members, the meeting timings are based on the availability of many other people. This is the only thing which is difficult as I have many meetings which go after midnight. Any other discussion where we need more participation and also to keep a record, we use our mailing lists.

A few of us also use various video chat systems regularly. It is always nice to see the faces. As a team, we mostly meet once during Flock, and some get a chance to meet each other during devconf.

Weekly reports

All of our team members send weekly work status updates to the internal mailing list. Sometimes I lag behind in this particular task. I tried various different approaches. I do maintain a text file on my laptop where I write down all the tasks I do. A Python script converts it into a proper email (with dates etc.) and sends it to the mailing list. The problem of using just a plain text file is that if I miss one day, I generally miss the next day too. The saga continues in the same way. Many of my teammates use taskwarrior as TODO application. I used it for around 6 months. As a TODO tool it is amazing, I have a script written by Ralph, which creates a very detailed weekly report. I was filling in my text file by copy/pasting from the taskwarrior report. Annotations were my main problem with taskwarrior. I like updating any TODO note on a GUI (web/desktop) much more, than any command line tool. In taskwarrior, I was adding, and ending tasks nicely, but was not doing any updates to the tasks.

I used Wunderlist few years back. It has very a nice WEB UI, and also a handy mobile application. The missing part is the power of creating reports. I found they have nice open source libraries to interact with the API services, both in Python and also in golang. I have forked wunderpy2, which has a patch for getting comments for any given task (I will submit a PR later). Yesterday I started writing a small tool using this library. It prints the report on STDOUT in Markdown format. There is no code for customization of the report yet, I will be adding them slowly. My idea is to run this tool, pipe the output to my report text file. Edit manually if I want to. Finally, I execute my Python script to send out the report. In the coming weeks I will be able to say how good is this method.