Designing integrated development environments for all ages through tinkering