Electroencephalography (EEG)-based brain-computer interfaces (BCIs) have proven promising for a wide range of applications, from communication and control for motor impaired users to gaming targeted at the general public, real-time mental state monitoring and stroke rehabilitation, to name a few. Despite this promising potential, BCIs are still scarcely used outside laboratories for practical applications. The main reason preventing EEG-based BCIs from being widely used is arguably their poor usability, which is notably due to their low robustness and reliability. To operate a BCI, the user has to encode commands in his/her EEG signals, typically using mental imagery tasks, such as imagining hand movement or mental calculation. The execution of these tasks leads to specific EEG patterns, which the machine has to decode by using signal processing and machine learning. So far, to address the reliability issue of BCI, most research efforts have been focused on command decoding only. However, if the user is unable to encode commands in her EEG patterns, no signal-processing algorithm would be able to decode them. Therefore, we argue in this chapter that BCI design is not only a decoding challenge (i.e., translating EEG signals into control commands) but also a human-computer interaction challenge, which aims at ensuring the user can control the BCI. Interestingly enough, there are a number of open challenges to take the user into account, for which signal-processing and machine-learning methods could provide solutions. These challenges notably concerns (1) the modeling of the user and (2) understanding and improving how and what the user is learning. More precisely, the BCI community should first work on user modeling, i.e., modeling and updating the user's states and skills overtime from his/herEEG signals, behavior, BCI performances and possibly other sensors. The community should also identify new performance metrics-beyond classification accuracy-that could better describe users' skills at BCI control. Second, the BCI community has to understand how and what the user learns to control the BCI. This includes thoroughly identifying the features to be extracted and the classifier to be used to ensure the user's understanding of the feedback resulting from them, as well as how to present this feedback. Being able to update machine-learning parameters in a specific manner and a precise moment to favor learning without confusing the user with the ever-changeable feedback is another challenge. Finally, it is necessary to gain a clearer understanding of the reasons why mental commands are sometimes correctly decoded and sometimes not; what makes people sometimes fail at BCI control, in order to be able to guide them to do better. Overall, this chapter identifies a number of open and important challenges for the BCI community, at the user level, to which experts in machine learning and signal processing could contribute.