This is a summary of the first section of the text, and I think this is nice
We reach point number two of the argument
Concluding that i am right

A tool to help you listen more

6 minutes  |  Jul 20, 2020  |  7 rewrites

You talk too much. Waaaay too much.

You need to stop for a moment and listen to what other people have to say.

That’s what WhatsappTool helps you accomplish.

WhatsappTool analyzes your whatsapp conversations and tells you how good you are at listening. Do you talk too much? Do you ask enough questions? If you can’t measure it, you can’t improve it.

By using WhatsappTool you’ll have a clear metric. Then you can analyze, improve, rinse and repeat.

Here’s how WhatsappTool works:

  • First, you need to export your whatsapp chats. You can either use the official functionality (you’ll have to go chat by chat) or export all your chats at once with this Chrome extension.
  • After you’ve downloaded your chats, upload them here.

WhatsappTool will process your chats and give you four metrics:

  • PASSIVE LISTENING SKILLSDo you talk too much? Metric: percentage of the time you talk instead of listen.
  • SELF-CENTEREDNESSDo you always center the conversation around you? Metric: percentage of the time talking about you instead of talking about the other. [available only for chats in English]
  • ACTIVE LISTENING SKILLSDo you ask enough questions? Metric: percentage of the questions asked by you.
  • POSITIVENESSAre you positive enough? Metric: percentage of the time you are being positive instead of negative. [feature not available yet]

These four metrics together are a proxy for how good you are at listening. The least you talk –and, when you talk, the least you talk about you–, the better. The more questions you ask –and, when you talk, the more you are being positive1–, the better.

To reduce variability and seasonality, all four metrics are computed as the average of the last 7 days2.

To help you focus on long-term improvement you’ll also get, for each of the four metrics, a little chart with its progress for the last 60 days (so, the 7-day rolling average for the last 60 days). These little charts have orange bands that mark where you should aim to be: talk 20 to 40% of the time, about you only 20 to 40% of the time, ask 60 to 80% of the questions and be positive 60 to 80% of the time.

Use WhatsappTool’s left menu to select which chats to take into account for the calculations. Group chats are by default unselected because it wouldn’t make sense to mix them with private chats (talking 70% of the time is way worse in a 10-people chat than in a 2-people one).

In the left menu you also get the metrics at an individual chat level.

That’s the gist of it.

WhatsappTool is already available. Click here and try it out now.

A note on data privacy Don’t worry about your privacy: your data never leaves your computer, so I have no way of knowing who is using the tool and I can’t access your chat files. Don’t believe me? Visit WhatsappTool’s page, switch off your internet, and only then upload your chat files. You’ll see that the tool still works normally. Still don’t believe me? Ask a programmer to review the source code and he’ll tell you that there’s no http request being made in the background. Your data is safe. Still don’t believe me? Click here.

If you have already used WhatsappTool and would like to know more, keep reading.

Some improvements that I have in mind:

  • Implement the Positiveness metric, which is not available yet. I’ll simply make WhatsappTool look for common positive and negative words in the chats and compute a positiveness score. Not sophisticated but good enough.
  • Add non-English-language support for the Positiveness and Self-Centeredness metrics. After all, most of my chats are in Italian, Spanish, or even Catalan3, not English. Adding support for other languages seems pretty straightforward for Positiveness but fairly difficult for Self-Centeredness. Self-Centeredness is all about detecting the person of the sentence, and while in English the person is explicitly stated as a pronoun (“I run” “You run”, “He runs”), in latin languages the pronoun is often omitted because the person is already encapsulated in declinations of the verb (“Corro”, “Corri”, “Corre”). Hence, it is trickier for a computer to detect.
  • Ability to download the data at an individual chat and day level. It’s your data, you should be allowed to fiddle with it! [Already available]
  • Provide a Google Spreadsheet template where you can upload and further analyze your chat data.

In case you like to code, here come some details about WhatsappTool’s implementation:

  • To count the number of words (for the talking-%), I just split the messages by spaces with the good old
    String.split(" ")
    .
  • To calculate the Self-Centeredness score I use these two simple regular expressions:
    1. /* About You */
    2. /\b(i|my|me|mine|myself)\b/gi
    3. /* About the other */
    4. /\b(you|your|yours|yourself|yourselves)\b/gi
  • To count questions I use the regexp:
    /[\\?+][!?¿?]*/g
    . Note that this correctly counts things like “??”, “¿?” and “?!?”.
  • Like I said, all the processing is made client-side to protect your data. I thought this would make development difficult, but it turns out that you can easily read files client-side via Javascript. Awesome. Also neat that Javascript lets you generate and download text files on the go. This is all the code you need:
    1. let fContent = base64EncodeUnicode(a_very_long_string);
    2. let href = "data:application/octet-stream;charset=utf-8;base64," + fContent;
    3. anchor_element.setAttribute("href", href);
    4. anchor_element.setAttribute('download', filename + ".csv");
    5. anchor_element.click();
  • Although the Chrome extension to download chats mostly mimics the behavior of the official Whatsapp chat-export feature, in some instances I chose to deviate from it. Here are the differences: xyz.
  • The Chrome extension is just a simple script that does some scrolling and clicking for you. It would go faster if I had used servlets instead, but I don’t even know what a servlet is, so I had to stick to scrolling and clicking. If you don’t know how to develop Chrome extensions, I encourage you to Google it: it is surprisingly easy! No need for new obscure programming languages: it’s just your good old Javascript. If you know about servlets, I’d love some pointers on how to redesign the Chrome extension to make it faster.

The way WhatsappTool calculates the 4 metrics might be naive but, hey, who cares? Getting a somewhat inaccurate 81% Positiveness score instead of the real 83.4% doesn’t really matter. This is all about having an approximate metric to track your progress. Improving WhatsappTool’s precision would take me a lot of time but would not add much value. I have other, more important, things to work on

What do you think of WhatsappTool? Have you used it? Was it helpful? How would you improve it? Hit me up at , I’m all ears.

If you value this project and you'd like to help, there's a way.

1
1

Here’s how positiveness relates to listening: if you are always negative, people won’t talk to you. If people won’t talk to you, you will have no one to listen to.

2
2

Why seven days? Because seven days is a week, and we all organize our lives in week cycles.

3
3

yep, I live in Barcelona and I’m learning Catalan. A poc a poc.