  End-users play an integral role in identifying requirements, validating
software features' usefulness, locating defects, and in software product
evolution in general. Their role in these activities is especially prominent in
online application distribution platforms (OADPs), where software is developed
for many potential users, and for which the traditional processes of
requirements gathering and negotiation with a single group of end-users do not
apply. With such vast access to end-users, however, comes the challenge of how
to prioritize competing requirements in order to satisfy previously unknown
user groups, especially with early releases of a product. One highly successful
product that has managed to overcome this challenge is the Android Operating
System (OS). While the requirements of early versions of the Android OS likely
benefited from market research, new features in subsequent releases appear to
have benefitted extensively from user reviews. Thus, lessons learned about how
Android developers have managed to satisfy the user community over time could
usefully inform other software products. We have used data mining and natural
language processing (NLP) techniques to investigate the issues that were logged
by the Android community, and how Google's remedial efforts correlated with
users' requests. We found very strong alignment between end-users' top feature
requests and Android developers' responses, particularly for the more recent
Android releases. Our findings suggest that effort spent responding to
end-users' loudest calls may be integral to software systems' survival, and a
product's overall success.
