Friday, August 14, 2020

What went wrong with Covid-19 Contact Tracing Apps - PART I

Australia's CovidSafe App

ACS members back COVIDSafe app | Information Age | ACS

The new world of Covid-19

Last year this time, the majority of us were not even familiar with the term Covid-19. Everything that seemed ordinary back then is extraordinary today - walking outside without a mask, standing next to strangers on public transport, teaching a class of over 200 students in a seminar room, joining crowds in sporting and entertainment events. All these instances seem in another world and ages ago! Covid-19 has shaken every fabric of the society in every country around the world.In our current reality, social distancing is the new expression of love and care, masks have become a controversial sign of obedience or defiance, Zoom has taken over the new forms of social connections whether its education, meeting family and friends or online dating, and contact tracing apps seem to be the new global trend.

The Covid-19 has hit the world harder and faster than anticipated and not many countries were prepared for such level of global pandemic. To handle the situation, we have seen the measures introduced in different countries related to: social distancing, lock-downs, and contact tracing. The speed of the spread of this infection highlighted the limitations of manual contact tracing. Contact tracing is a critical part of dealing with this pandemic in order to quarantine the infected and slow down or curb the spread of the virus. 

There is always an app!

The numerous challenges presented by Covid-19, such as the incubation period and the asymptomatic super spreaders, have exacerbated the challenges of manual contact tracing. This pushed the governments around the world to look for alternative solutions to aid and expedite the process with technology and we saw a flood of corona-virus related apps launched in the first half of 2020.

Corona, Covid-19, Covid, Corona App, App, Program 

The idea is that an app will make use of Bluetooth and/or GPS technologies on mobile phones and will provide a low cost, low energy solution by interacting with other mobile phones in order to record community interactions for a period of time that may pose the danger of infection transmission. This digital solution offers great benefits in terms of instant recording of interactions and alleviates the limitations and biases of patients’ memory, and in theory it has been considered a very effective solution for the scale and level of Covid-19 pandemic.

However, the promised benefits of these contact tracing apps failed to materialise, to a large extent. No matter how technologically sound, these apps have not been able to provide successful outcomes. While there are several confounding causes for the failure of the contact-tracing apps, one important factor is related to the involvement of the users and whether the users’ requirements are considered and addressed by these apps.

Developed by the People, for the People?

Inspired by our previous research on the correlations between user involvement and system success, we were interested to explore the factors that limited the success and adoption of the Covid-19 apps. Among technical issues with the apps, these factors, include, the distrust of users, as well as disregard for the technological demographics of citizens during inception, design, and launch of the apps.

Our previous research established that the dissatisfaction of users can result in software project failures even if it is delivered on time, on budget and is of high quality. For societies with democratic values, the non-democratic and non-inclusive approaches adopted for any software development project could lead to dissatisfied users who would eventually distrust and reject the final product. The user dissatisfaction in many cases with Covid-19 apps is in line with our previous findings.

In Australia, the government launched a contact tracing app called CovidSafe on 26th April 2020, and there was a significant level of mistrust on the app since its launch due to several reasons, including among others, privacy concerns, technical issues, lack of transparency and no end-user involvement. As of 28th June after 6 million downloads, it was reported that the app has not  been able to detect any new cases. Furthermore, publicly available information on the app’s contribution to pandemic control and the usage of the app is scarce.

Our Australian case motivated us to study other contact-tracing apps launched around the world and explore their acceptance by the target community. We were interested to see the responses of the users of these apps to understand what social, economical, cultural, political and technological factors contributed to the successes or failures of contact tracing apps.

We have studied 21 countries in our research and downloaded the user reviews from both Apple and Google app stores in order to analyse the voices of the users for these apps. In this blog series we will be presenting our analysis of the various social dimensions around user satisfaction/dissatisfaction, staring with the case of Australia.

We collected all the reviews for the apps listed below in the table (for the duration of  1st January 2020 – 30th July 2020) from Google Play and Apple’s App Store.

Looking at the comments of users for CovidSafe app, and comparing them to the reviews coming from apps launched by others countries, we observed the following issues:

Lack of Citizen Involvement

Non- Responsiveness to concerns   

  • There were numerous issues reported on CovidSafe app related to Bluetooth, Battery and Data Consumption, however there was no engagement shown by the development team to respond to the authors of the reviews. Whereas there was effective developer-user communication seen in app reviews from New Zealand, Germany and India that helped in building people’s trust for the app. 

Lack of understanding technological context of Australian people

  • The Australian society’s technology orientation was not considered properly during the planning phase of the app development. A significant number of Australians are iOS users, whereas in general contact tracing apps seem to work better on Android platforms. CovidSafe app was reported in early stages after launch to have issues with iOS platforms. Similar observation was made in the case of India’s national app ‘Aarogya Setu’ and its popularity on Google store, as the majority of the population use Android platform. Almost all the contact tracing apps around the world had dominant negative sentiments towards iOS versions.

Ambitious technical assumptions without cultural considerations

  • The success of CovidSafe app was dependent heavily on the significant proportion of the population downloading and keeping the app active while in public spaces. This worked in countries like China, Singapore and India where people seem to have high levels of trust in governments and the national culture is heavily leaning towards collectivism. The voluntary download model in a democratic society such as Australia with much lower trust index in government, lack of transparency in the process, concerns of data privacy and the national culture leaning towards individualism is not ideal. The success of this app was based on a great deal of ambitious assumptions.

No End-User Experience

  • CovidSafe app works in the background. The users do not see any immediate results and/or any functionality and hence there is no user experience. All they see is a simple green screen to tell them the app is active and no further actions required. What's happening in the background is invisible to the users. In contrast, the Indian app Aarogya Setu shows updates to the people on the number of positive cases in their vicinity. Similarly, New Zealand offered a different solution, wherein people can create a digital diary of the places they have visited by scanning the official QR codes. Such features in Indian and New Zealand apps, unlike in the Australian app, gives an impression to the users that they are in control and hence an integral part of the process. For CovidSafe app, once the app is installed the only possible way to control it is to turn-off the Bluetooth which will stop the functions of the app.

 Interface of CovidSafe App


 Interface of NZ Covid Tracer App

Aarogya Setu App | NPCI - National Payments Corporation of India ... India's Covid-19 Tracker App Aarogya Setu


Waiting for successful outcomes

  • Australians are still waiting to hear any successful outcome from this multi-million Dollar app. This has further depreciated any motivation or trust that 6 million downloads showed since its launch. In Germany, it is reported that 660 people who tested positive for Covid-19 had the opportunity to warn other people via Corona-Warn-App. A significant number of Australian users commented that they uninstalled the CovidSafe app after it caused Bluetooth and battery issues and they do not see any positive contribution of the app in helping to stop the spread of the virus. 

  • The inability to fulfil the purpose for which the app was launched has also been observed in the UK Government’s NHS-Covid19 that was taken off the app stores (until recently when the UK government announced its second phase with Google/Apple Framework).

  • While currently Melbourne is going through the second wave of Covid-19, the state government in Victoria has accessed the data collected through the app around 400 times, but it is reported to not have revealed any single case that wasn’t known through manual tracing. Hence, Australian citizens are yet to witness any tangible benefits of the multi-million dollar CovidSafe application, at the time of writing this article.

In conclusion: 

Every country has their own unique struggle with the COVID-19 virus. For a successful technological solution in form of contact tracing app, the political and cultural context of the country cannot be ignored. Following or replicating the app framework of Singapore seems to have not worked in Australia. According to the Cultural Compass of Hofstede, Australia resembles closely to Germany when it comes to power structures and individualism in citizens, and hence could have taken similar steps to build public trust. In conclusion, and as established in our previous research, lack of user involvement and user dissatisfaction can lead to software project failure, despite meeting the time and budget goals. This was the case for CovidSafe, and in our opinion if the CovidSafe app was meant for Australians, then Australians should have been involved in the design, implementation and launch of it.


Wednesday, March 11, 2020

Bit-Rot: Computer Software Degrades over Time

Bit-Rot: Computer Software Degrades over Time


By: W.B. Langdon, Earl T. Barr, Justyna Petke
Associate Editor: Federica Sarro (@f_sarro)

At first sight it seems surprising that computer software should degrade. We are used to the idea that mechanical devices wear out with use and sooner or later they fail. Similarly, performance of electrical devices, particularly batteries, falls with time and they too eventually fail. But software? That’s just a pattern of bits. Sure the device holding the bits may fail, but we can restore from backup, we have error correcting codes. Surely as long as the bits are ok, the software will continue to be ok?
Wrong! Software too degrades over time. (Part of Figure 1 shows a fragment of a program which worked fine 20+ years ago, but which now does not even compile.) Like the fact that there are many reasons for hardware to fail, there are many reasons why untouched software may no longer work. It is so common for legacy software to fail [1], that the term software “bit rot” has been coined to cover, not just the problem of reading bits from old hardware [2], but also the general tendency for old programs to cease to perform their original task.

 Figure 1: Over time software fails
Today, and in the foreseeable future, the dominant cost of computing is software, i.e. people’s time, not hardware. Further the dominant cost of software is the cost of software maintenance. (Wiederhold [3, p66] says “Maintenance costs over time typically exceed the original software develop- ment cost by factors of 2 to 10.”) Bit rot increases the maintenance burden. We cannot simply leave software in the state it was in when it was first sold. Firstly we will need to bugfix. Arguably, if the defect was known in the original code, this is not bit rot. But even excluding this special case, bit rot can cover items such as the need to update for: new computer hardware, e.g. laptop, smartphone, new software libraries, new versions of computer programming languages and their support tools (the GNU C++ compiler has been through 113 releases since the code in Figure 1 was writ- ten), new computer operating systems, such as Microsoft Windows 10, and new versions of existing operating systems, etc.
In other words, if left untouched software suffers bit rot. Even in the absence of hostile actors and evolving computer viruses, we must keep soft- ware up-to-date, e.g. we cannot keep running windowsXP forever. This is a problem for everyone, not just major corporations with dedicated software maintenance teams. Unless hardware failure, fire or theft, comes first, even home computer uses, laptops, and phones will eventually suffer from bit rot.

You might also enjoy reading

References

[1] Andreas Zeller. Yesterday, my program worked. today, it does not. why? In Oscar Nierstrasz and Michel Lemoine, editors, ESEC/FSE ’99, vol-
ume 1687 of LNCS, pages 253–267, Toulouse, France, September 6–10 1999. Springer.
[2] Brian Hayes. Computing science: Bit rot. American Scientist, 86(5):410– 415, 1998.
[3] Gio Wiederhold. What is your software worth? Communications of the ACM, 49(9):65–75, September 2006.

Tuesday, March 10, 2020

What is your remedy to cognitive overload?

What is your remedy to cognitive overload?

By: Birgit Penzenstadler (@twinkleflip)
Associate Editor: Muneera Bano (@DrMuneeraBano)


Software engineers that I meet tell me about their hectic schedule, their back to back meetings, and that they constantly feel like there is too much on their to do list to ever get done. Research shows that computer workers are the second highest risk working group of developing depression and anxiety over time. We know a lot about productivity, time management, and efficient software development - the problem is not that software engineers are not good at what they are doing. So the question is whether maybe not everything that is going wrong is outside of us? Maybe we need to look internally, from a completely new perspective? 

Have you heard of the concept of mindfulness in the sense of “clear awareness”? Our minds are so full all the time... Clear awareness points towards being super present with what is happening in the current moment, without continuously getting distracted by what may or may not happen later on. Creativity theory talks about the whitespace necessary for being creative, and software engineering is certainly a job that requires creativity for problem solving, designing, etc. So clearing our awareness from distractions and focusing on what is happening in the moment helps us to get into a flow state, where effort meets ease and we feel like we are ‘in the zone’ of ‘deep work’.

Now it is easy to argue that people need to figure that out in their own free time because the job does not contain the regeneration from working. I disagree - if our current way of working relies on unhealthy practices, leading to cognitive overload and suppressed emotions, that leads to significantly increased health risks, more sick days, increased burnout rates, and low-quality software systems. Moreover, we propagate the values that we live by into the software systems we develop, reciprocal to how organisations tend to resemble the product that they are building (Conway’s law). Last but not least, if we are not satisfied by the status quo but don’t challenge it, we still endorse it.

Mark Zuckerberg and Larry Bryan, just as two well known examples in the IT domain, practice according to old Eastern philosophy - so what's behind that? Whether you choose walks in nature, meditation, Yoga poses, breathing exercises, Tai Chi, any practice that quiets the mind and brings body, mind, and spirit (in the widest sense, call it soul if you like that better - the part of you that is left when you take away all the labels, roles, and characteristics that you seem to possess) back into union or alignment. If you are curious on whether you might benefit from such interventions, you can for example use the Mindful Attention Awareness Scale by [Brown et al. 2003].

In my research, I investigate the use of healthy practices in the context of software engineering, and I am highly interested in learning whether you use any, whether you (would) consider this beneficial, or if you think this is distracting and irrelevant. 

What helps you deal with stress, or maintain your overall physical, mental, and emotional health?

I’d be most grateful to get your comments and feedback on these questions in this 5-item survey.

In more detail, my research is centered around exploring how the concept of mindfulness or clear awareness can support flow in software design. This means, I look into how regular practices like meditation, yoga poses and breathing exercises can support software engineers in counteracting cognitive overload and feel more in balance. I am interested both in how to teach this to future software engineers at university, to practitioners in industry, and how to offer this in the least invasive way to practitioners on a continuous basis. 

As software engineers are a quite diverse group, I am curious to find out which modes are most beneficial to which people - and in which situations. For example, if I am really stressed out before a meeting with a challenging client or manager, then the advice to sit down and meditate for ten minutes may freak me out instead of helping, because my mind would go even more crazy having to sit down quietly and try to not think about the upcoming meeting. Instead, in this situation, it is probably a better suggestion for me to do a round of box breathing (for instruction, see my YouTube video) to calm down, because this form of deep breathing will activate my vegetative nervous system and lower my blood pressure. 

I am collaborating with various researchers from different disciplines on this to get all perspective into the picture: There is a Professor from the Department of Yoga at the University of Patanjali in India, Dr. Rudra Bhandari; there is a Professor of Communication Studies who is also a yoga teacher, Dr. Ebony Utley; there is a Professor in Software Engineering who has already investigated the use of meditation in conceptual modeling, Dr. Bea Bernardez; and there are several candidates from medicine and psychology I am currently in conversation with to further investigate brain plasticity and other physiologically measurable impacts. 

Thank you for taking the time to read this post, and please consider donating two minutes more to reply to my survey.

REFERENCES:

[Newport 2016] Newport, Cal. Deep work: Rules for focused success in a distracted world. Hachette UK, 2016.
[Brown 2003] Brown, K.W. & Ryan, R.M. (2003). The benefits of being present: Mindfulness and its role in psychological well-being. Journal of Personality and Social Psychology, 84, 822-848.

Monday, December 2, 2019


Gender Equality in Software Engineering

three extracts from an international workshop 

By:  Jeffrey Carver (@JeffCarver32) and Alexander Serebrenik (@aserebrenik)



Associate Editor: Xabier Larrucea (@xlarrucea)



This post diverges from the standard way of publishing because it links to the current issue of the IEEE Software magazine  (here). This approach helps readers to compliment magazine issues with related posts.


In fact, the following summaries are stemming from the 2nd International Workshop on Gender Equality in Software Engineering



“Characterizing Women (Not) Contributing to Open-Source” by Wurzelová and colleagues studies factors related to women’s under-representation in open-source software development. Using the results from the 2018 Stack Overflow survey of software developers (100,000 respondents, 3,436 women), the authors compare the characteristics of women who reported contributions to open-source software development with the characteristics of women who did not report contributions to open-source software. The characteristics the authors analyzed include: experience, age, education, perceived competence, feelings of kinship and competition, and self-education activities. Surprisingly, the authors did not identify any marked differences in any of these characteristics. This result suggests, among the survey respondents, the population of women who reported contributions to open-source software development is similar to the population of women who do not report contributions to open-source development. Especially surprising is that the authors did not identify any difference in the respondents’ perception of their own competence, even though underestimating one’s own competence is widely considered a reason for why women contribute less in open-source environments. This result hints at the presence of other reasons, not analyzed in this study, why the participation of women is lower in open-source software. This paper appears in the 2019 GE workshop. Access it at http://bit.ly/PD-2019-Blog-01. 

“Women-only Spaces of Open Source”, by Singh studies the phenomenon that several open-source projects have designated women-centered spaces to facilitate the interactions of women, increase their participation, and empower them. The author observed that among 355 established open-source projects listed on Wikipedia, only 16 had such spaces. The type of space varied from Facebook/Twitter entities to individual blog posts to entire websites dedicated to supporting women involved in the project. The oldest women-centered space, LinuxChix, is almost twenty years old. The most recent one, Women in Bitcoin, goes back to 2013. All the spaces implement strategies to encourage the involvement of women by showcasing their achievements, pairing more and less experienced participants, and support the participants in revealing their identity if they desire to do so. The research suggests that these women-centered spaces fill a gap in the infrastructure of open source projects and have implications for improving the overall underrepresentation of women in technology. However, further research is required to understand why some of these spaces become inactive or cease to exist while other flourish. This paper appears in the 2019 GE workshop. Access it at http://bit.ly/PD-2019-Blog-02.  

“How Remote Work can Foster a More Inclusive Environment for Transgender Developers” by Ford and colleagues studies the experience of transgender software developers. By talking to several transgender software developers the authors identified three themes that resonate across the trans experience and intersect with the advantages to working in software development remotely: identity disclosure, high-impact technical work, and the autonomy to disengage and re-engage. Based on these interviews and survey of the literature, the authors  hypothesize that remote work technologies can increase the sense of empowerment transgender people have to be authentic and effective in their work. This paper appears in the 2019 GE workshop. Access it at http://bit.ly/PD-2019-Blog-03. 

Monday, October 7, 2019

Communicating Stakeholders’ needs with Vision Videos


Communicating Stakeholders’ needs

Vision Videos to Disclose, Discuss, and Align Mental Models for Shared Understanding

By: Oliver Karras (@KarrasOliver)

Associate Editor: Muneera Bano (@DrMuneeraBano)


One central task in requirements engineering (RE) is to understand, document, and convey the needs of diverse stakeholders among all parties involved. The process of coordinating and communicating these needs so that the development team can implement a solution that the stakeholders accept is called requirements communication. Requirements communication involves developing and negotiating a shared understanding of the goals, plans, status, and context of a project among all project partners, which requires disclosing, discussing, and aligning their mental models of the future system, i.e. their visions. A mental model is a conceptual idea in the mind of a person that represents the person’s individual understanding of how a system will work. Shared understanding leads to a common vision that summarizes the essence of the mental models of all stakeholders of the ultimate system that satisfies their needs. This common vision, in turn, describes the boundary of the system and thus its scope. Therefore, shared understanding is one of the most important objectives in RE since it enables the stakeholders and development team to assess and agree on what the relevant requirements are and what the meaning of these requirements is regarding the future system.

The Challenge of Establishing a Common Vision

Stakeholders and the development team can achieve shared understanding more easily if they use practices that support proactive information exchange among them. However, current RE practices mainly describe a vision as text. This representation is less suited for communication with a proactive information exchange due to two main reasons. First, the inherent restrictions of natural language such as ambiguity and abstraction increase the likelihood of undetected misunderstandings that limit shared understanding. Second, textual documentation cannot capture all information that is relevant to stakeholders and the development team. Mental models are difficult to capture since they are intangible due to their tacit representations in the persons’ minds. Thus, mental models require other communication mechanisms that are more suited for proactive information exchange to disclose, discuss, and align them to establish a common vision and thus shared understanding.

Vision Videos for Shared Understanding

In contrast to text, video is a more promising communication mechanism for shared understanding when representing a vision. Such a video, so-called vision video, visualize a vision of a future system, i.e., the video producer’s mental model. This visualization discloses the mental model by externalizing the model and thus making it tangible. However, even this external representation does not encapsulate shared understanding but merely aids to develop shared understanding. The explicit representation provides a reference point for the active discussion among the parties involved to align their mental models. The desired result of a common vision can be more easily achieved since critical issues of the mental models are identified, discussed, understood, and, at best resolved by making them explicit and obvious. The established common vision, in turn, reduces the risk of misunderstandings due to false assumptions.

Vision video

A vision video is a video that represents a vision or parts of it for achieving shared understanding among all parties involved by disclosing, discussing, and aligning their mental models of the future system.



Current Research on Vision Videos

Vision videos are no new practice. One well-known example of a vision video is Apple’s Knowledge Navigator (1987). Since 2017, the YouTube channel “EU Science and Innovation” provides a playlist of vision videos of research and innovation projects funded by the European Union. These videos highlight the future impact of the projects on the life of Europe’s citizens and society as a whole.

Despite the benefits of vision videos, videos are not an established communication mechanism for shared understanding. In a survey, I investigated the obstacles that prevent software professional from producing and using videos in RE. In particular, I found that software professionals (1) perceive the effort of producing and using videos in RE as too high; and (2) lack knowledge about how to produce good videos. Based on these findings, I currently work on an affordable video approach that enables software professionals to produce and use vision videos for shared understanding at moderate costs and sufficient quality. This approach consists of two concepts. First, I work on including videos as a by-product of established RE practices and techniques, such as prototyping and workshops, to reduce the production effort. Second, I am working on a quality model for vision videos to guide video production by software professionals. This quality model will offer a basis for software professionals to estimate the consequent effort and activities to produce a good vision video. I believe that these two concepts can help to integrate vision videos in RE to support effective requirements communication with a proactive information exchange for establishing a shared understanding among all parties involved.