Alice has passion for three things: 1. Building software for solving all kinds of problems in her daily life; 2. Reading and writing. She is interested in technology, literature, education, culture, philosophy, social affairs, etc, etc. 3. Photography. She basically does documentary and street photography. Her idols in photography includes Henri Cartier-Bresson, Robert Capa, Sebastião Salgado, etc., etc.
She builds "enterprise" software for a living. The technological landscape in that field changes rapidly. Things are constantly advancing for good reasons. She must and she enjoys non-stop studying in that field too.
She has a family with a small child. She does not enjoy, but has to, handle household and personal chores such as doing laundry or filing her tax. She enjoys spending time with her child, teaching him programming, and teaching him some foreign languages.
She has a problem: There seems never enough time for her to do all the things she has to do and enjoys to do.
She has seen enough apps for "project management", which claim to enable "seamless team work" etc. etc. But her problem has nothing to do with team work, she needs tools for better managing her solo activities. Put it in another way, she needs a tool for maximizing time for her business and personal goals.
Last year when Google Calendar launched the "Setting Goals" feature, she actually liked the idea and tried it out. She set three goals: "Learn Kubernetes", "Complete reading all Shakespeare's works" and "Finish editing photos I shot in last year", set 20 minutes per day for each goal, and let Google Calendar find time for goal-achieving activities.
Google Calendar does find time for her. But....it suggested reading Shakespeare in-between two technical calls, and also suggested editing photos when Alice is out and about, away from her workstation.
No, suggestions like that are not smart enough. Improvement of the quality of the suggestion should be made from both sides.
Alice could setup a list of activities. For each activity, she could specify attributes in the following aspects:
- Which field does this activity contribute to? For example, reading a rhetorically well written book on algorithms or latest app framework can contribute to both fields of "technical skill" and "writing skill". And, reading Michael Freeman's books definitely contribute to "writing skills" and "photography's skills".
- How much does she enjoy doing this activity?
- Is this activity something she has to do? Deadline?
- The context of doing this activity? For example, Alice is used to edit her photos with Lightroom on a desktop or laptop computer, she does not use the mobile version of Lightroom. So, for the activity "editing photos", she could specify the context as "with a workstation".
- What other activities can be done simultaneously? For example, when Alice is editing her photos, she can simultaneously listening to Robert Greenberg's lectures on music, or simultaneously listening to a discussion available in media library of a TV sender about some social affairs. Or, when Alice is ironing the laundry for the whole family, she can simultaneously watch video lectures on Machine Learning or Model Thinking. In fact she has watched almost all her Machine Learning lectures when she was doing household chores.
- Is this activity more physical or more mental?
- How physically intense or mentally intense is this activity? Everyday shortly before sleep, Alice just wants to read some beautiful poems. Since reading a soothing lyrics is less mentally intense. Activities such as "Sorting out the context boundaries of a client's legacy application, which has some 200k lines of code", "Debugging a client's SAML integration code" or "Implementing and Testing the Item-Item Collaborative Filtering engine for a client" are much more mentally intense, Alice feels like doing those things when she feels well with a very clear head.
- The shortest span of concentration this activity requires? Some activities require only very short concentration span. For example, editing a single photo takes Alice about one minute. What can she do when her patch to a system is getting compiled and tested in the continuous delivery pipeline? Maybe she can edit 5 or 10 photos while waiting.
- Which field of her interest is more important? This priority list does not have to be constant, she could modify the priorities from time to time.
- The time in a day, when she is most physically or mentally fit? For Alice, everyday after breakfast, her mind is very clear and fit for some intense coding work. Everyday after lunch, that is the most "stupid" time for Alice. Actually she would really like to take a nap after lunch. If no nap possible, then just some brainless work.
Now with a rich "activity base" provided by Alice, Google Calendar should do her job much better. Google has more than one way to figure out which a context the user is just in. For example, if Google knows the user is sitting in a train with her laptop(workstation) for the next 3 hours, it should not suggest "jogging" in this timeslot. Instead, according to the time and the mental fitness interday-pattern provided by the user, it should pick a mental activity (or a list of suitable activities) based on the urgency of the activity, the mental strength level of the user at that particular time, and some other criteria. This way, the Google Calendar can become a truly useful life coach for people.
I hope such a tool set will be available in the near future.