In 1996, we noted that the near optimal multiuser detection (well known as the M-algorithm decoder) might be able to be extended to decode convolutional codes. But how to control the side-effect of the M-algorithm is a very difficult problem. Based on Anderson et. al.'s work, we first established some theoretical understanding of the problem and then found a near optimal decoding algorithm to decode long convolutional codes. Currently, our efforts are focusing on the following aspects.