Designing human-centric software artifacts with future users: a case study