Slack’s Most Requested Feature is Bad for Business

This article is also available on Medium.

Slack needs no introduction. It’s the new generation’s IRC, but private, and user friendly. And perfect for business! (and more.. fun fact: our group of friends became closer again thanks to Slack).

It allows you to customize it through multiple add-ons, such as the essential tableflip add-on, or the roll bot.

It also flips words, not just tables

There is one feature that sounds so standard you’d assume it’s probably hidden in a menu somewhere but you never bothered to look for it: “Read receipts”.

But a lot of people did search for it. And the reason I’m writing this post is that I’m indirectly involved in this 5 year discussion that started with this tweet in 2014:

Which resulted in this reply:

Which was quickly followed up by Slack:

Notice the small hint in their tweet? Also notice how 100+ people are talking about this, and this is just one thread?

Anyway, Slack replied multiple times with the perfect solution:

But people weren’t happy. It’s not a proper read receipt. And they’ve been on about it on Twitter for years.

Read Receipt Troubles

Apple introduced this feature to iMessages back in 2011. Wonderful. You actually know if the person’s read your message. But then what?

Suddenly you have an expectation. An obligation and responsibility is put with the other party. Go on then, reply!

If you see someone’s read your message but hasn’t replied, I’m pretty sure you assume this person is ignoring you. But are they though? Might they not have glanced at the message, in order to reply later? Maybe they were driving, cycling, in the middle of a conversation? We tend to forget the person has stuff going on that does not involve us. This “always online” way of life has made us very impatient.

This puts stress on the receiving end as well. I saw the message. I should not forget the message (why do not more apps have a “set to unread feature”). I should reply ASAP. Suddenly that casual conversation the person is having, or that trip in the car, becomes stressful. You’re taken out of the moment (the problem with notifications is a whole other story of course). Your mind cannot let go.

I. Have. To. Reply!

Now, some of us are stronger, and some of us are weaker when it comes to fighting these urges or feelings. It’s all easier said than done. And sure, we shouldn’t put stress on our friends and partners like that. I think we can agree on that. But … this is a personal issue.

(By the way, Apple allowed users to disable it in 2015, in case you’re still stuck in the obligatory receipt reply cycle).

But what about business?

Remember when I said:

If you see someone’s read your message but hasn’t replied, … Maybe they were driving, cycling, in the middle of a conversation?

That’s a big no-no at work, right? Suddenly when you’re not replying to a message, well… the only logical thing to assume is that person is not working! Hell, maybe they’re not even at their desk! (this becomes a bigger issue if the person is … working from home!)

Hence, the read receipts! A subtle but effective way of checking up on your people.

First of all, if your boss has no trust in what you do (at work or remote), it’s time to look elsewhere. But you can’t blame your boss on “logical” conclusions, such as: if it takes you hours to see the message, what are they actually up to? They can’t be working! (Assuming your work mostly consists of reading Slack messages and not doing any actual work…)

But privacy is an important thing. Even in work environments. And so is trust! If you cannot trust your team members, maybe you have hired the wrong people. Or maybe you should reevaluate your perception of people. Yes, look inward.. You’re also causing unnecessary stress on your employees. Which in turn can lead to burn-out, depression.. (Ok I’m jumping ahead but still).

I can’t but think Slack is partially considering the problem from this perspective. Automating activities on behalf of the user without user control can create these situations in which people start expecting specific user behavior. It’s already hard not to misinterpret people’s messages (and feelings) through text channels, it might be best not to give people another method of reading online behaviors wrong. (Also, just pick up the phone if it’s THAT important).

(if you totally disagree, and if you really must, there is a read receipt solution:

Did you get that?

But there remains the problem that pretty much every Slack team I’ve seen consists of multiple channels. Multiple channels with walls of text. Some more important than others. And messages do get lost. How does one keep track of it all?

Sure, Slack could introduce read receipts. Maybe at a Slack team owner’s level, enforcing it on all their employees. Or at a user specific level. But good luck explaining to your boss why you chose to turn it off.

Slack has multiple solutions though: you can star messages, pin them to the channel, or even easily set reminders! Need to know if someone read a message? Ask them to add an emoji reaction!

This solution is ideal. It puts the responsibility with the receiver. It doesn’t automate the process, so something “read” is really “read” and “processed”. (and if it wasn’t, at least now you have proof the person is.. slacking, pun intended)

Confirmation of a message received should be part of the conversation. Just like I need to ask my five year old daughter several times to confirm she heard what I said. Nope, I cannot assume she heard me, no matter how much she nods…

Photo by Priscilla Du Preez

Real-Time Dashboards to Support eSports Spectating

This must have been my favorite project during my time at academia.

This article is also available on Medium.

The League of Legends and Counter-strike: Global Offensive dashboards in action! Read on to learn more.

My PhD was funded through multiple (European and smaller) projects, on topics such as Learning Analytics, Digital Humanities, and Unemployment. And they were interesting: I designed data visualizations on tabletops, desktop, and mobile, I researched the user’s perception and experience… all fun and games.

But no, not games.

I’ve always had a soft spot for games. I moved abroad for two years (and had my wife give up a great job) just so I could live the dream and be a game developer (a story for another time perhaps). And combining my research with games was something I had dreamed of for quite a while.

Alas, no funding to support this research. But life finds a way, right? ;)

Students to the Rescue

Students! Of course! Every year we had new Master in Engineering students working on both fun (and sometimes boring) Master thesis topics. So I introduced a new one: eSports dashboards to support spectators. The high paced action of different players across large battlefields is not easy to follow. So how could we help spectators get better insights in what was going on, real-time, during these hectic games played by professional gamers.

A huge success among students, but sadly enough spots were limited, and two students “won the lottery” (we have no say in the matter. It’s quite random): Hans Cauwenbergh and Bram Luycx.

And we got lucky. This turned out to be one of the best collaborations with students ever.

The Dashboards

Hans jumped on League of Legends, while Bram took on Counter-strike: Global Offensive. We designed and set up a couple of surveys on Reddit in order to get insights in spectators’ motivations and perceived usefulness for different statistics provided by the respective games to inform the design of the dashboards. And then, they were off!

Viewer preferences (167 responses for League of Legends, 596 for Counter-strike: Global Offensive)

League of Legends

a) Gold distribution, b) Damage dealt, c) Vulnerability.

The dashboard is the result of five iterations: two digital non-interactive designs, two interactive prototypes, and the final fully functioning prototype developed with React.js and D3.js. Iteration one to four were developed using the interface design tool Figma. 22 participants took part in the evaluations of the iterations of the prototypes.

The main view is split in three modules: Gold, Damage, and Vulnerability. All modules are continuously updated in real-time. Gold and Damage are quite obvious. Let me explain Vulnerability.

Vulnerability provides an indication of how vulnerable each player is. A simple linear equation combines the position disadvantage of the player to the rest of the team and/or enemies, current health and mana points, defensive statistics and summoner spells availability. These values are combined and visualized around the player icon as a summary indicator. This view lets spectators make predictions regarding the state of the game.

Hans also added an interesting Jungler visualisation:

Counter-strike: Global Offensive

a) Round progression, b) Economy button, c) Map button, d) Scoreboard, e) Money Distribution, f) Average Damage per Round

This dashboard is the result of three iterations: a paper prototype, a non-interactive digital prototype designed using Figma, and a fully functioning prototype developed with React.js and D3.js. 14 participants took part in the evaluations of the iterations. The dashboard consists of Round Progression, Economy, Map, Scoreboard, Money Distribution, and Average Damage per Round.


Through semi-structured interviews and eye-tracking we managed to get further insights into the perception and experience of participants spectating these eSports games while using our dashboards. It resulted in an interesting list of design goals for spectator dashboards that we published and presented at CHI PLAY 2018 in Melbourne, Australia.

LoL and CS:GO eye tracking results from each participant after the evaluation. The attention heatmap indicates the areas of interest where participants focused more during the whole match.

I’ll refrain from turning this digestible blog post into a long scientific article. But if you are interested in the guidelines, you can find the article here. Or go through the slides below!

If there is enough interest, I’ll post a summary of the guidelines on Medium ;) Just let me know in the comments!

Hans (full-time) and I (freelance part-time) haven’t stopped here though and are working for GRID eSports Gmbh where a lot of eSports data magic is happening!

Next to that, I’m a Freelance Data Visualisation Experience Designer/Adviser. I’m for hire, so if you have any dataviz needs, send me a message!

Wait. Invoicing has language requirements?

Photo by Conor Luddy

This story is also available on Medium

As a freelancer, you kind of have to do and think of everything. My accountant is a great help, but it’s not always easy to ask the right questions. Certainly not when you’ve just made the jump into the world of freelancing (like me).

Invoicing scared me a little. The laws around it are quite strict, invoices MUST contain specific fields and words or they’re just not valid. Sure, if your customer still pays you, that’s great. But the tax man can issue fines if specific information is missing or incorrect.

As paranoid as I am, and wanting to make sure I didn’t make any huge mistakes during my first few months of freelancing, I checked and double checked all the requirements. And as I have both local and foreign customers, I ran into this annoying rule:

Your invoice must be written in the language of the area where your business resides.

However, for customers abroad, laws have recently changed, and English is acceptable (disclaimer: check your government website for the correct rules).

An example

When I am sending an invoice to Germany, I can use English. Great. But in Belgium (where I live and my business resides) we speak 3 languages: Dutch, French, and German. You’d be tempted to send an invoice in English to your customers in the French and German speaking parts, right? Well, no, to make sure your invoice is legal, it must be in Dutch. Sure, you can add a French copy, but the Dutch one is valid, the French isn’t.

Are you a British freelancer with a legal address in France
(or any other country, but do check local laws), doing business locally? . Make sure those invoices are in the local language, and not in English.

Invoicing apps

There are plenty of apps out there that take care of your invoicing. But with all these legal limitations, I decided I’d need a locally developed tool, as that would most likely guarantee the legal correctness of my invoices.

Teamleader looked promising, with lots of functionality, multi-language invoices, and even built-in support for correct taxing and phrasing (regarding VAT). But at 50 Euro per month (to get the invoicing, and a bunch of tools I would not use) I decided to look elsewhere (for now).

My accountant uses Yuki. It seems to be a pretty standard tool that everyone uses (in Belgium and Netherlands?), although I can’t say I’m a huge fan. Its visual and user experience design give me headaches (it’s been a while since I got vocally angry at an application). But it’s amazing feature-wise and does pretty much everything you need. Yep, also invoicing.

But what it generates… well. Your clients’ first reaction will be that an invoice from the 90s got lost and decades later reached their inbox.

My current love: Harvest

No feature bloat. Just time tracking and invoicing. Good looking invoices even! I first ignored Harvest due to its language limitations. Sure, it has a translation option that allows you to translate/rename every single label on your invoice, but there is no way to switch back and forth without needing to refill the complete Translations page on the Harvest website every time you need to switch languages.

But I found a way around that: this free Chrome plugin I threw together to solve my problems. Fill in your custom labels, save it. And repeat. As many versions of the labels as you like. It’s still not perfect. Between every invoice you send out you need to head back to the settings, load the labels you want, save, head back to invoices. But it beats having to type it all in again. And the biggest bonus: I can use Harvest for all my time tracking and invoicing needs <3

Yes, I’m aware other solutions exist. I sometimes just like to create things. The bonus of this plugin is that it’s not limited to specific languages, gives you more control, and different wording can even be used across languages.

It’s a temporary solution. I’ve already asked Harvest about this and they’ve jotted my feedback down. Fingers crossed! But in the mean time, if you’re a Harvest user, feel free to use the plugin.

Hope this information helps some of you out there. Do share your invoicing woes in the comments below! And .. happy invoicing!

LISSA: a student-facing Learning Analytics dashboard based on readily available higher education data

This article is based on the paper “Learning Analytics Dashboards to Support Adviser-Student Dialogue”, published in IEEE Transactions on Learning Technologies in June 2017. I presented this work recently at the Dataviz Belgium Spring Meetup 2019, Mechelen, Belgium. It was originally published on Medium, but deserves a spot on my own blog…

During my PhD I mainly focused on Learning Dashboards. Most of these the research on these dashboards focuses on teachers and researchers as users, but my goal was to empower the students, by giving them insights into their own process through data visualisation. I designed and evaluated a number of dashboards, but one stood out: LISSA, or “Learning dashboard for Insights and Support during Study Advice”. LISSA supports the conversation between study advisers and students, and has been deployed across campuses of KU Leuven.

We involved 17 study advisers in our study. These study advisers are responsible for both the study advice and content-related support for first-year students in a particular program. They are experts in both the content of the first-year courses, the current organisation of the program, and the regulation, both program-specific as university-wide.

The study advisers helped us get insights into how they work, and what their requirements were during these advising sessions. These sessions are private conversations with a student (occasionally with parents) taking place in an office environment. These students typically do not have a flawless study career: they have trouble studying, would benefit from a personalised program plan, did not achieve enough credits through the year, or simply wish to re-orientate towards a new program.

The study advisers have multiple tools and websites to their disposal. But combining and interpreting these multiple channels of information for each specific student requires effort and time, and is error-prone. In addition, data is often incomplete.

The dashboard

Using a user-centred, rapid-prototyping design approach, we started of with Sketch for our initial designs and D3.js / Meteor to create our final interactive prototype. Here are two screenshots of the final design (in the meantime current PhD students redesigned the interface):

Year Overview

LISSA provides an overview of every key moment in chronological order up until the period in which the advising sessions are held: the grades of the positioning test (a type of entry-exam without consequence), mid-term tests, January exams, and June exams. A general trend of performance is visualised at the top: the student path consists of histograms showing the position of the student among their peers per key moment.

Every course is represented by its name and grade (out of 20). A green, orange, and red colour coding represents successful exams, tolerable grades (students can request to pass a limited number of 8–9/20 grades) and failed courses. The course is accompanied by a histogram visualising the performance of peers and the position of the student among them (black highlight).


For June sessions, it is important to plan the re-sits during September. Too few exams result in a credit threshold issue, while too many will most likely result in failure. The check-boxes next to the failed exams re-sit planning let adviser and student select several courses. The “re-sit exam success rate graph” uses historical data to provide insights into the number of students succeeding the selected number of exams in the past.


The stacked prediction bar provides historical data of students with a similar profile (based on the number of exam passed or failed) to the student: it shows the distribution of the duration of the bachelor program (three-four-five years or drop-out/ “NIET”) with similar September re-sits.

Data Sources

To visualise the key moments, data regarding student grades is required. This includes all first-year students of the current year to populate the courses and course histograms, the student path, and course histograms. All grades regarding the January, June and September periods are available in the KU Leuven data warehouse.

The stacked prediction bar is based on the first-year student grades of previous years. This provides the data needed to predict the three, four, five, or more years length of a Bachelor degree.

We created a data process pipeline using Python scripts to convert the different files and formats into a simple representation that is imported into a MongoDB.

Lessons Learnt

The role of the Learning Analytics data

LA dashboards are often developed for specific institutions with certain data requirements. The Learning Analytics data necessary to deploy LISSA is very basic: grades of students across key moments and data regarding student success (derived from historical grade data). This data is usually available in most higher education institutions, but limited to staff. Yet, we have shown that this data placed in a student advising context, can help support students, provide insights into their progress and help plan their future.

LISSA is based on factual data. Exam success rate and bachelor duration show what has happened historically as facts and provide no calculated estimations. This reliable way of visualizing the data provides reassurance among both study advisers and students about the advice they are giving and receiving.

Personal background data regarding socio-economic status, parents’ education, gender, and high school achievement can provide further insights and help the study adviser understand the student’s situation better. However, this unalterable data does not provide the students with actionable insights. It is therefore important to investigate how to integrate this data in an ethical manner.

The role of the Study Adviser

LISSA facilitates insights at multiple levels, but these insights benefit from guidance by the study adviser. Even though the data is objective, there is still a need for critical and reflective interpretation by domain experts . Overconfident students might interpret an overall negative result as a surmountable problem, whereas the study adviser could advice and plan a more achievable program, preventing the student from wasting years on incorrect choices. LISSA can portray a student in a negative way, while a discussion with the student might reveal problems that are easily resolved, e.g. a change in study method, a new program, or a change in attitude. Without the study adviser’s guidance, such students might choose not to continue their Bachelor program.

LISSA still leaves room for personal opinions and tacit experience, as they still play an important role during advising sessions by allowing study advisers to e.g. emphasise certain results to push them on the correct path. Many external factors, such as information gathered through discussion and previous study adviser experiences with students, impact the decision to deviate from the factual data or interpret it differently.


During the semi-structured interviews and workshops, ethical issues arose regarding confronting the students with the data.

Some study advisers did not show LISSA to students with a very high number of failed courses. While some students might benefit from an “eye-opener”, study advisers prefer to use LISSA as a motivational tool.

An important role of LISSA is the ability to position a student among peers. In general, the use of histograms was considered very useful and positioning had positive effects such as motivating the student when a bad grade is still good among peers, or a course failure rate is very high. Some study advisers worried about demotivation: a student on the low end of the histogram might see succeeding the course as an unachievable goal.

There is however a demand by students to gain access to LISSA outside the sessions. But study advisers fear that the data visualised can be greatly misinterpreted without their guidance: students with fear of failure or over-confident students might interpret the data incorrectly. Parents can play a negative role into either pushing too hard, or interpreting mediocre results as insurmountable. The lack of knowledge about higher education with parents without a degree might stop a student pursuing an achievable degree. These problems might result in wrong decisions regarding exam and study career planning. Study advisers do see potential in providing reduced information, but what this reduction entails must be further discussed and evaluated.

For more details regarding the process, evaluation and findings, check out the original paper. Need help visualising your data? Send me an email, I’m for hire!

Why Deepfakes are a good thing

[Also on Medium]

If you should believe the media, Deepfakes equals the end of days. Fake news, fake evidence, this technology will create a world of disbelief, blackmail,… trust goes out the window, we’re all doomed. Period.

The media likes to scare us, as, well, scary stories sell. And for once, it might actually help get the positive message across.There’s a way to use Deepfakes for good, and I’m not just talking about my wife on the Tonight show.

We believe everything

Whether it’s the news, a magazine, a book, gossip, it’s all just words, spread around, by friends or “reliable” sources. And we (should) all know to take everything we hear and read with a grain of salt. Yet, we let them lead our thoughts and our beliefs, which influence important life choices such as who we vote for, who we love, who we hate. Words are the most easily manipulated form of message (why not buy a book on how to manipulate people). And still, millions of people live by words that cannot be proven to be true, on a daily basis, and would even give their lives for them.

Roswell’s Flying Saucer 1947

We used to consider photographs real. Then Photoshop happened.

Trump & Saruman

Video is real. Even though we know 90% of what we see in Hollywood movies is fake, every other video is real right?

We must become more aware

Fake news is a big topic. While we know in our hearts never to trust politicians and news outlets, we still do, we still believe every word they say but go crazy when we finally find out it’s all lies. We don’ blame ourselves, though.

Deepfakes just added another level of worries. Video can be faked?.. Is anything we see and hear real anymore?

No. Nothing is. Just as you shouldn’t believe every single word on tv, in the newspaper or [insert your favorite religious book here], video is just another medium ready to be manipulated.

But don’t blame Deepfakes. Don’t demonise the technology. Thank Deepfakes!

Think about this: If someone was able to create this technology in their bedroom throwing together a bunch of existing tools, someone with a bigger budget must have pulled it off a long time ago. There’s no doubt large organisations with massive resources haven’t explored these techniques. Who knows, maybe we’ve seen some of their work, on the news, without knowing it.

So thank Deepfakes, for making us aware of this, making us realise once again that we can’t take everything we see and hear for granted. For creating a problem for us to solve, early on, before it becomes so big, and has influenced so many of us incorrectly, that it’s too late.

It will take time. A new skill we must all learn. So doubt that next video you see on the Internet. Hell, doubt everything you see, read, or hear. Be more critical! Think for yourself.