In the context of this book, sustainability refers to software that supports the creation of a healthy environment and energy efficiency. Very early on in the book, the authors make the point that sustainability should--like security--be built in from the beginning. Beside an emphasis on sustainability, the book addresses usability and human-computer interaction (HCI).
The book begins with an introduction that establishes its goals. The earlier chapters (chapters 2 through 5) review the basic notions that will be used in the methodologies chapters (chapter 6 through 8), which form the core of the book.
The authors address sustainability in three different ways. The first consists of taking methodological models for software construction and detailing places in the process where considerations of sustainability can be inserted. Initially, they consider methodologies in which sustainability is not a specific component.
The authors identify four key principles for producing websites with high usability: user participation, usability, iteration, and real interaction. For each of the described methodologies where sustainability is not a specified component, these key principles are rated on a scale of zero to three. The strongest components of each methodology are identified in a tabular representation of the methodology. Though in the case of one methodology where each component receives a zero rating, a strongest step is still, somewhat bafflingly, identified. The tables and diagrams that are used to describe the methodologies provide a clear overview of each methodology so that when the authors’ proposed methodologies are introduced, one can easily see where the two new phases, usability evaluation and functionality testing, fit with the previous methodologies. While there are topic lists for the two introduced phases, neither addresses sustainability as such. This is addressed in the next chapter, where sustainability goals are added to the authors’ methodology. These proposed goals include ease of upgrade, use of energy, recyclability, carbon footprint, and ethical concerns. As before, useful tables help show how this all fits together. This approach in which more familiar processes are introduced first helps the reader grasp the authors’ proposals.
In what amounts to a second approach, the authors report on a survey that they undertook to assess the feasibility and value of the proposed sustainability steps. The respondents came from Australia, Brazil, China, Germany, India, Norway, Singapore, South Korea, Sweden, the United Kingdom (UK), and the US. A total of 1705 questionnaires were distributed--all of which were apparently returned for a response rate of 100 percent, a somewhat amazing achievement that elicits no comment from the authors. One would like to know what inducement was offered to get such a high response rate (ten to 30 percent being typical). The full results of the survey are tabulated in the book, although the questionnaire is not directly included. Questions asked include time spent on the computer per day, what the computer was used for (shopping, banking, and so on), where the respondent was first introduced to sustainability, and frequency of device replacement. All of the questions were designed to elicit information on sustainability awareness. The results of the survey are used to describe new factors of sustainability to be included in the process. The survey turned up a large number of potential sustainability considerations, which are explicitly listed in tables and which developers should keep in mind.
In the third approach, the authors consider ways in which one can take advantage of new technologies such as social networks, artificial intelligence (AI), the Internet of Things (IoT), big data, and extended reality (XR) (virtual reality and augmented reality). For each technology there is a brief overview of the potential for sustainability and a review of the challenges posed by the technology. This is actually one of the few places where the authors directly address ways in which software may contribute to sustainability by using new technologies. They also cover two important areas of impact: ethics and privacy. However, the authors do not really address how these technologies fit with the authors’ methodology, which is a pity given the promise of some of these technologies.
It would have been helpful if the authors had given some more detailed examples of the processes that they describe instead of leaving this to the reader. The book does address some important concerns, but as the authors themselves admit, it is very much a first step. There is much food for thought in this book, particularly in the results of the questionnaire.