Sometimes it is debatable to say that two language varieties are two different languages, or that they are two dialects of one single language. It comes down to the concepts of "language" and "dialect". Among various criteria to distinguish between a language and a dialect, mutual intelligibility may be the most popular one, and appears to be easy to follow. But is it really easy?
1. First of all, we have to absolutely refrain from any political and nationalist influences if we are determined to adopt the mutual intelligibility criterion. They are not conducive to a technical or linguistic study. Although non-linguistically based definitions serve other, pragmatic purposes, they are not part of the following discussion.
2. Mutual intelligibility requires mutual understanding of the speaker or author. One-way or uni-directional understanding may only serve as an intermediate step in measuring the degree of understanding.
3. Mutual intelligibility itself does not stipulate the modality of the source language production. It is generally interpreted as understanding of speech. But that's only because the majority of world languages use the alphabetic writing system so that speech and written text are generally consistent. (There is the concept of orthographic depth, which measures this consistency.) But in case of the character-based writing system, strictly applying the mutual intelligibility criterion requires separate analyses with regard to modality, one for speech, the other for writing. In the case of Chinese and Cantonese, it is generally agreed that a person speaking a variety of Chinese (typically Mandarin) with no ability in Cantonese and a person speaking Cantonese with no ability in the Chinese variety that the other person speaks cannot verbally communicate. Therefore Chinese and Cantonese are said to be different languages in terms of oral mutual intelligibility. From this point to the end of this blog posting, let's discuss written mutual intelligibility only.
4. To test whether two language varieties are languages or dialects of one language, we must not fall for the fallacy of contrived test materials cherry-picked to prove a pre-supposed conclusion. This practice is particularly widespread when people, not just language amateurs but also professional linguists, argue for the two-language-verdict of Chinese and Cantonese. The correct test should be based on a very large language corpus. In giving materials to volunteers in a test, the sentences must be randomly selected from a comprehensive corpus, ideally the whole Internet content, probably supplemented by some text commonly produced but rarely uploaded to the Internet. Notably, in case of Cantonese, if the test materials contain a higher ratio of Cantonese-specific characters and words than average, the test is biased and becomes invalid.
5. To check for percentage of understanding of the materials given in the tested language, the multiple choice questions should have a relatively high number of choices (at least 4), to avoid random-guess correctness.
So far I have outlined an experiment to check whether Chinese and Cantonese are languages or dialects by strictly applying the mutual intelligibility criterion. We can see that the result is not a Yes or No, but a percentage, unless you arbitrarily declare that above a certain cut-off value they are dialects and below that they are languages.
I personally only know Chinese, specifically its Mandarin and Sichuanese dialects, and don't know Cantonese at all. In terms of written mutual intelligibility, I don't know how much percentage of an absolutely randomly selected Cantonese document I can read and understand. If I may hazard a guess, I would say at least 70%, i.e. I can answer 7 or more out of 10 reading comprehension questions correctly. But without such an experiment, it's only a guess.
6. To make this discussion complete, we have to prevent one trivial trap in applying the mutual intelligibility criterion, which we must consider to be a necessary but not sufficient condition. We cannot conclude that language varieties A and B are dialects as long as they meet the mutual intelligibility requirement. The missing condition that must also be met is that A and B are under one genus as defined by Dryer and Haspelmath. As other scholars have done, we add this condition to preclude the obviously incorrect but otherwise possible conclusion that, for example, Chinese and Japanese become two dialects of one language because a Chinese and a Japanese can communicate by writing. We avoid this specious claim by realizing that Chinese and Japanese are not closely related, or specifically, not of one genus in language classification. (When using Dryer and Haspelmath's Genealogical Language List, we should, for the purpose of strictly applying the mutual intelligibility criterion to distinguish languages from dialects, disregard the fact that they list Cantonese under the heading of Chinese.)
Summary It is possible to strictly apply the mutual intelligibility criterion to determine whether Chinese and Cantonese are two languages or dialects. Due to the unique writing system, this criterion must be separated into oral and written intelligibility. Thus, in terms of oral mutual intelligibility, Chinese and Cantonese can be said to be two languages. In written mutual intelligibility, the decision can only be made after an actual experiment and after setting a cut-off value for intelligibility.