End Users as Unwitting Software Developers