1 Introduction

One of the main concerns of most software companies is the integration of usability activities into the software development life cycle to design and develop more user-friendly interfaces. From the literature review, it was concluded that developers are aware of the importance of usability activities in the development process; however, existing software still has low usability characteristics [1, 2], which do not meet users’ needs and expectations. Usability is defined by the International Standardization Organization (ISO) as “the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use” [3]. The metrics mentioned in the ISO definition were extended by Nielsen [4] to include; learnability, efficiency, memorability, errors and satisfaction. The standards of human computer interaction (HCI) and usability are not only concerned with these metrics but also focused on the user interface and interaction between user and computer [5].

The user interface is a strategic element of software projects that establishes a bridge between the users and the developed software [6]. Not only should the aesthetics of user interfaces in the context of user experience [7] be taken into consideration but the usability of the developed software is also an essential factor because it is a measure of the users’ performance, their effectiveness, efficiency and satisfaction [8] and directly related to the user interface quality.

Forms are significant components of web applications integrated into the interface design to ensure that users take an active part in online forums, e-commerce websites and data entry processes [9]. The completion of forms is a common way of interacting with users in web applications [1012]. For an effective interaction with users, forms are used in various applications such as online shopping, registration and communication and online questionnaires [9, 13]. Forms not only facilitate interaction between users and the interface in web applications [9, 14], they are also an important element of design in several software products from desktop to mobile applications.

For online form completion, a user-friendly error message design is one of the important aspects of a usable interface design [14]. Users need to fully understand the message in order to achieve the particular task of filling in the form. [14] discussed the best way of presenting error messages in online forms and found that most users ignored error messages when trying to complete a form. [15] examined marking the required fields with an asterisk to prevent errors in online forms. They determined that users found marking the required field with colored asterisks was effective, efficient and satisfactory. Their study showed that low user error rates, fast form completion process and high-level user satisfaction were the important outcomes of the use of colored asterisks. [16] tested frequently-used locations of error messages in web forms finding that locating the error messages near the erroneous field resulted in a high user performance in form completion.

User-friendly error message design is critical in ensuring that the user can respond effectively and complete all the required input fields in a form. In the literature, various studies focused on user-friendly error message design from different perspectives such as location, presentation and visual design (i.e. [1417]); however, there is only limited number research related to understanding the developers’ mindset and their preferences concerning the design of effective error messages. Studies have found that there are many reasons for the lack of user-friendly design interfaces; such as developers possibly being unaware of design principles or standards and having limited or no idea about usability activities that can be integrated into the design process due to a lack of an HCI related background, insufficient training and their mindset [1820].

The developers’ mindset is one of the most prominent barriers preventing the design and development of a user-friendly interface [18]. [20] described the developer’s mindset as the difficulties or barriers in understanding users and realizing usability problems in developed software by developers who lack a background of usability practice. These difficulties or barriers are the cause of not only failing to identify and fix usability problems [18, 19] in the development phase, but also have an impact on the interface design of the software resulting in low usability characteristics. It is necessary that all members of the project team, including the software developers, have a common understanding of the design of user-friendly interfaces. However, many studies that examined the design of error messages in forms were conducted with university students or volunteer participants [e.g. 1417]. In this study, the preferences of software developers on the design of error messages and required fields in forms are investigated together with the factors affecting these preferences. The factors influencing the mindset of developers are also discussed in detail.

2 Method

2.1 Participants

There were 73 software developers with limited or no usability background who participated in this study. Their average age was 28.64 (SD = 3.64) years, they had an average software project experience of 7 years and, on average, had worked on four software projects. The education level of the participants was as follows; 16 % had a Bachelor degree, 55 % had a Master’s degree and the remaining 29 % were PhD candidates. In terms of the operating system utilized, almost all (93 %) were Microsoft Windows users with only 5 % being Mac OS X users.

2.2 Design

This study was based on a questionnaire and semi-structured interview used to determine the preferences of participants concerning error message design and required fields, and the factors affecting these preferences. The questionnaire provided information on the demographic characteristics and the design preferences of the participants. For the latter section of the questionnaire, recommendations on error messages in the web form design guidelines developed by [23] and the findings of [14] concerning the design and location of error messages were taken into consideration. This process ensured that the responses of the participants were focused on the visual design, location, presentation and content of error messages and required fields in web forms. To obtain more detailed information, a semi-structured interview was conducted with participants concerning their responses in the questionnaire. The data was collected over a period of three weeks.

3 Results

3.1 Error Message Design Preferences

Concerning the error message design in forms, 44 % of the software developers (n = 32) placed them on the right of the erroneous input field, 46 % (n = 34) put them below the erroneous input field, only 10 % of the developers error messages above the erroneous field and none placed them to the left of the erroneous input field. The software developers were asked about the error message format given next to the erroneous input field; 62 % (n = 45) preferred not to repeat the information in the related field such as name, surname, password in the message, and 38 % (n = 28) chose to only repeat the name of the related field in the message (see Fig. 1).

Fig. 1.
figure 1

Software developers’ preferences concerning error message design in forms

For the pop-up window error message design, 77 % of the software developers (n = 56) used statements in the error message related to business rules to inform users rather than giving generic error message statements (23 %, n = 17). The developers were asked to explain the reasons behind their preference concerning the error message content. A considerable number of participants commented on the need for more explanatory and instructive business rules. The majority of participants preferred to use statements in error messages to inform users of the content of the errors and help them understand why the error had occurred.

The software developers were also asked about their preference for the presentation of error messages or statements and their location on the page. More than half the developers (n = 56) chose to place the pop-up window in the center of the screen whereas 12 developers used a thin banner on top of the page to display information or error messages for users.

The preference of 85 % of the developers (n = 62) was to use sentence case statements in error messages. The remainder of the developers used uppercase statements (12 %, n = 9) or capitalized the first letter of each word (3 %, n = 2). Almost all the software developers (95 %, n = 69) preferred to use icons for error message notifications with only 5 % (n = 4) choosing not to use icons for these notifications.

Fifty-nine percent of the software developers (n = 43) preferred to use an active sentence format in error messages and only 7 % (n = 5) used a passive sentence format. The developers stated that the active sentence format is clearer and more understandable and results in the use of simple and plain language. In terms of the location of error codes; 67 % of the developers (n = 49) placed error codes at the end of the error message in parentheses, 20 % put these codes at the beginning of the error message, and only 5 % placed the error code in the error message (See Fig. 2). The majority of the developers did not consider error codes to be the main element of the message and therefore placed them in parentheses at the end of the error message. This action was based on not distracting users and helping them focus on the message as well as making it easier for the developers to find the source of the errors. Therefore, the most preferred format of error code insertion was to give the error codes lower priority in terms of the content.

Fig. 2.
figure 2

Preferences of software developers concerning the error message design in pop-up windows

3.2 Required Field Design Preferences

The software developers were asked about their preference related to the display of required fields in forms, and their responses were analyzed to determine the common preferences. Twenty-six software developers stated that it was sufficient to mark the frames of required fields in red and 17 developers additionally highlighted input fields in red. Furthermore, 14 participants chose to place an asterisk at the end of required fields, 10 placed them on the right of the labels and six used them on the left of the labels. This was interesting in terms of showing that the majority of the participants chose not to use an asterisk in required fields. This may be due to their perception that colored frames or fields are eye-catching for users, thus more efficient in calling attention to the required fields (Fig. 3).

Fig. 3.
figure 3

Preferences of software developers on required field design in forms

When giving their opinions concerning the presentation of required fields indicating erroneous data input by users more than half the software developers (n = 43) preferred to outline the frame of the text field in red. Very few participants informed the users of an error by placing an asterisk (n = 2) or exclamation mark (n = 6) on the right of erroneous input fields. The higher number of developers using red to display erroneous input fields can be attributed to their desire to attract the attention of users to these fields.

3.3 Factors Effecting Developers’ Mindset and Preferences

The results of the study showed that software developers have different preferences concerning the error message design, and in order to achieve well-designed effective error messages, it is critical to examine the factors that have an impact on the developers’ mindset and their preferences. The developers selected for this study were working on five different software development projects. It was found that their mindset and preferences were mainly influenced by the project duration and number of experienced software developers engaged in the project.

Developers with extensive development experience in the same project had similar preferences regarding the error message design. This may indicate that they were influenced by the preferences adopted in the design of the project interface thus chose a similar preferences to the design of error messages. Another significant finding was that the developers who had been part of the project since the beginning gave similar responses whereas some developers that joined the project later had differing preferences. Therefore, it can be concluded that working together in a project for a long time can result in members developing similar preferences.

For software projects at the requirement or design phase (before the development phase) of the lifecycle, the software developers had differing preferences in terms of the error message design. Particularly in new projects, the lack of a specific design approach led to significant differences in the preferences of the software developers. This indicates that the project design influences the preferences of developers and contributes to the development of their mindset. Strong preferences for error messages about the same design choices were expressed in software projects, which involved more junior developers, but there was no consensus among developers in software projects comprising more senior developers.

4 Discussion

Error messages are not only a significant component of web forms [9] but also represent one of the most problematic and frustrating experiences for users [21]. It is not possible to design a web form without considering error messages [16]. Despite the significance of error messages, one of the most overlooked issues in human machine interfaces is the display of effective and high-quality messages to users when erroneous data is input [22]. Therefore, it is important to determine the design priorities and preferences of software developers and identify the related factors. However, in the literature, there is limited research on error messages from the perspective of software developers. Most studies collect data from university students or volunteer participants that are not software developers [e.g. 1417].

In this study, in addition to determining the preferences of software developers on error messages and required fields, we identified the factors influencing the mindset of developers such as their experience, their roles and length of time working on the project. The results showed that the software developers have certain tendencies and preferences in the display of error messages. Similar to the study by [16], the participants in the current study mostly did not choose to display error messages at the top or bottom of the entire form. However, contrary to the suggestion by [16] that placing messages near or on the right side of the erroneous input field is more efficient, effective and satisfying. In the current study, the majority of the developers preferred to locate these messages very near or just under these fields.

In terms of the content of error messages, in this study, the software developers focused on providing information for not only users but also themselves. For example, a considerable number of software developers chose to include error codes in the error messages based on the idea that these codes would help themselves to correct the error. This developer preference is an interesting finding in that error codes included in error messages would not normally be of any use to users.

According to [11], the developers of web applications should attach sufficient importance to designing user-friendly forms; however, there are other factors affecting the preference of developers on error message design in forms. In recent years, several studies have been conducted to examine various factors such as the usability and user-friendliness of web forms from different perspectives [16], with some research using experimental methods and others based on the findings and experience of usability experts [23].

In terms of the presentation of required fields upon form loading or erroneous input, most software developers were found to prefer easily noticeable and eye-catching forms of display. [15] reported that using color rather than asterisks to mark required fields is more efficient in preventing errors and increasing user satisfaction. Similarly, in the current study, the developers tended to mark the frame of the required and erroneous input fields in red to make them more visible to users.

In relation to influencing the mindset of software developers, certain factors were found to play a significant role in predicting the preferences of participants particularly on the design, content and location of error messages. The software developers working in the same project for a long time were found to have similar preferences on error message design. In addition, for software projects at the requirement or design phase of the lifecycle, there was no common approach adopted by all project members and the developers’ preferences differed in terms of the error message design. Therefore, it can be concluded that the mindsets of developers are influenced by various factors; the duration of developers’ participation in the project the stage at which they joined the project and the number of other experienced developers. Similar to [18, 20] suggesting that the mindset of a developer precludes the design of user-friendly interfaces, in the current study, some project members had common ideas that were not in agreement with accepted design principles. Therefore, increasing the knowledge and awareness of software developers concerning usability can positively influence their mindset leading to the creation of more user-friendly designs.

To determine the preferences of software developers on the design of error messages to be displayed during form completion as well as to identify the factors affecting these preferences, it is important to collect data from a higher number of developers. We believe that the current study will guide future work to be conducted with a larger sample size. In addition, further research should focus on other factors that may influence the mindset of software developers and thus, contribute to the existing literature.