Sunday, November 30, 2014

Online Drum Practice Log

I recently attended a weekend drum camp with Thomas Lang. where I learned a lot of things about drumming in general, but one thing very specific:  Practice time is everything.   This is also a motto of the amazing drum teacher Mike Johnston, who recently posted this simple truth video about practice.

My own modest experience as a struggling drum student certainly mirrors Thomas' and Mike's teachings and underscores the importance of persistent and consistent practice.   I think that I have been practicing a good amount, but I have been relying on my own memory for the number of hours practiced rather than a real log of my time.     At camp, Thomas spent a bunch of time teaching the importance of a detailed log and gave some great advice on what should be in the log and why.   I will attempt to summarize the teachings and then give details about an online tool for keeping a drum log practice log.     If you are not a drummer, keep reading, this tool could easily be adapted as a practice log for any instrument, or any skill that could benefit from a practice log.

What should be in a practice log?

  • Duration - This one seems pretty obvious.   How much time was spent practicing.   I choose to log each time that I sit down at my kit rather than summarizing at the end of the day.
  • Mood - Did the practice feel great or awful?  Some days are better than others, and for many people the time of day effects their mood and productivity.    By keeping track of the mood or general productivity in a detailed format, the log can help identify the best times or days to practice in the future.
  • Time of day - The time of day is recorded so that the mood can be correlated.     With enough data it should be possible to see what time of day is the most productive time to practice so that future practice sessions can be optimized.
  • Date - This allows for the correlation of mood as well as knowing how many minutes are practiced each day.
  • What - What was practiced in general.    If consistent categories are used, the tool can tell how many minutes are practiced on a given category over time.
  • BPM - "Beats Per Minute" track the speed of a given exercise so that progress can be tracked on rudiments, grooves and other exercises where building speed matters.   This may not apply to all practice sessions but is useful for many.  
  • More Details - A place to record specific details about what was practiced, problems, successes and any other notes that might be useful

There is a lot of data to record and I am notoriously bad about keeping paper records, so I immediately started to look for digital versions of a practice log.

My wish list for a digital practice log are:
  • All of the data points listed above should be easy to capture
  • The tool must work on a variety of platforms including: PC, MAC, Android and IOS
  • The data needs to be centrally hosted or synced among all the application instances so that I can record practice time from anywhere.    It definitely cannot be trapped on my phone only.
  • The data should be exportable so that I can put it into a spreadsheet or another program to get better insight into the data.
  • It shouldn't cost too much. :)
I was not able to find anything that met all of my criteria, so I started to investigate how difficult it would be to make my own.      One of my goals is that the data should be exportable to a spreadsheet, so I started my process by looking at my favorite collaborative spreadsheet program, Google Sheets. Google Sheets is part of Google Docs/Drive and is similar to MS Excel.     I knew that if I was able to get all the data into Google Sheets I would be able to meet most of my criteria since it is a cross platform centrally hosted program.   I knew that I would not be happy manually entering the data, so I started looking for ways to make data entry easy.       It turns out that Google Sheets has  a programming API that allows for mobile or web apps to query and enter data, but as I started working on a web app I realized that it was going to be a fairly involved effort.    I started researching some more and found that Google sheets has a very cool "forms" mode that I had never used before.    The more I played with it, the more I realized that it would be the simplest and most effective method to build the log tool with.  

Try out my solution

I ended up writing a new solution myself that works well for me.  Would you like to try it out?     The data entry form is here and the back end spread sheet is here

When you go to the data entry form you will notice that you do not need to enter the date or time of day, because that information will be automatically captured at the time you submit the form.    If you need to enter data for a prior day, simply log the information with the form and then go to the spreadsheet and change the date.    

The spreadsheet provides all the tools needed to graph practice time over days, months and years.    And since the data is in a standard spreadsheet program it is easy to export to any other program.    Since Google sheets is cross platform, the form and spreadsheet can be accessed from any device, mostly through a web browser, but also through the Google drive mobile app.

Set it up yourself

If you want to set this up for yourself, follow these steps.
  • Make sure that you already have a Google Drive account set up.
  • Go to the shared spreadsheet here
  • In the "File" menu choose "Make a Copy..."
  • Give the file a new name and save it.   It will now be in your Google Dive account.
  • Select the sample data by clicking and dragging and use "edit->Delete Values" to clear it.
  • Under the "form" menu, choose "Go to Live Form".   This is your entry sheet and can be used from any web browser on a computer, phone or tablet.    Save a bookmark to it.
  • Start practicing and log each practice session using the "Live Form" to make it easy to use.
  • Visit the spreadsheet to see all your sessions and graphs of your practice over time
  • You may also want to edit the input form to customize it for your name.   Go to the "form" menu in the spreadsheet and choose "edit form".   Change "Music Practice Log" to "YOUR NAME's Practice Log"
Within the spreadsheet are several tabs along the bottom that contain summary graphs for different time periods.    They are made using pivot tables and summarize the data based on the following:
  • Last 60 Days - Time summarized by day
  • Days   (All days for the entire practice log)
  • Months - Time summarized by month
  • Years - Time summarized by year
All of the graphs are embedable in web pages in case you want to put up a page that shows your progress.

Advanced notes

If you are interested in using this tool for anything other than a drum log, or to expand the functionality, this section is for you.     You can easily change the names or headings of the data collected by using the form editor in Google Sheets.   Open the spreadsheet and look under the "form" menu.   The form editor will allow you to change the name of the items being collected and will allow you to add new items to the form.    If new items are added, a new column will be created in the spreadsheet automatically.    If you know how to use Excel or another similar spreadsheet program, you will be able to add to or analyze the data in almost any way you can imagine.    The benefit to the data being in a spreadsheet is that it is easy to manipulate and graph.


Feel free to post a comment below if you have any problems getting the spreadsheet to work, or if you have other questions about changing the spreadsheet to work for your needs.   I will try to reply as soon as I can.

Tuesday, October 7, 2014

Moto 360 Review

As I write this I have had the Moto 360 watch for 4 days, so I am not yet a seasoned pro, but I'm now starting to get used to it.

(Update after 2 weeks is below)

What is it?

In case you have not seen it, the Moto 360 is a smart watch that is paired with your phone.   It is far from the first smart watch, but it is the first watch that I thought was good enough to buy.   A big part of "good enough" is that it looks like a real watch, being round, and it looks great.

How I use it

Mostly I use it as a second display for my phone.   It is much easier to see a notification on my watch than it is to pull out my phone and see what just came in.   The most useful alerts are text messages.   I have also gotten a bunch of Facebook messages and call notifications.       There is a setting to ignore messages from certain apps that I have configured for games, LinkedIn and WiFi notifications.  
You can reject or answer calls from the watch.   If you answer the call and are on a Bluetooth headset you can start talking right away.   If your phone is needed, you still have to pull it out of your pocket. I have a Bluetooth speaker and mic in my ski helmet, so I think this will be a very useful feature while skiing.

Google Now provides alerts for many of my interests.    It will display the SF Giants score as it is happening (configurable for spoilers), tell me when I need to leave to drive to an appointment and other interesting news and event.

Other great uses

I have set up my watch to alert me if I leave my phone somewhere.     Whenever I walk more than 20-30 feet from my phone, my watch alerts me to it.    I'm using Wear Aware.  

My phone unlocks automatically when I am near it.   I set up my watch as a trusted device so that I can skip the lock screen or fingerprint reader.    The phone locks automatically if I leave it somewhere.     Try this or this.

Not so great

Technically, you can initiate actions using the watch.   You can say "Call Fred Phelps" and it should make a call.   Or you can make Google searches or a bunch of other things.   All of this must be done by speaking to the watch, which I find aggravating and error prone.  I find it to be much slower than just pulling out my phone.    I may try to make the call initiation work when I'm skiing, but I'm not really optimistic that it will work in a noisy outdoor environment.

Battery Life

This was the one area I was most concerned about, but fortunately I have not had a problem.    I charge it every night on the included wireless charging stand and I usually have between 40-50% battery life left at the end of the evening.    This is in the default configuration.    There is an "ambient mode" which keeps the screen on all the time that I would prefer to use, but I heard it will drain the battery to fast so I have not tried it yet.    I will try it sometime in the future and report back.


Overall I impressed and am liking the watch even more than I thought I would.    The display is beautiful, the UI works and the battery life is fine.    I have lots of great mechanical watches, so I'm not sure if the 360 can take over completely, but I should know in about a month if it is a "must keep" device or just a toy.

2 Week Update

I have had the watch for two weeks now and I have found the battery life to be way better than expected.   I was able to put the watch into "ambient" mode and never run out of battery.    Ambient mode makes the watch behave much more like a real watch, without any delay in updates or glance capability.    Lots of people are asking about the watch and really like it.