KA is doing well at cultivating a free and open-source collaborative culture with the MIT license and the spin-off feature. A diff feature would be a really nice "value-add" that I think would help advance that along even more.
Learners could click a button on a scratchpad/project page with a label like "See changes" and see their code in a nice marked-up diff format.
Here are some more thoughts about and justification for this feature:
- Learners want more tools for collaboration, and I think the developers would like to give us more tools for collaboration -- this could be the first in a series of incremental changes to add such tools.
- Shouldn't cause user-confusion. Simple feature, no real options or anything, just click "See changes" or don't click it.
- Helps prepare learners for the types of communities and tools (revision control, GitHub, having others hacking on your code, etc.) they'll encounter in the future
- Could promote lots of further learning. Right now, students sometimes see a spin-off that's made interesting changes and have a reaction like, "Wow! Wizardry! Nice job!" and move on. With the diff feature, they might go, "Hey, wonder how they changed the original to make it do that?" and click the "See changes" button. Now the changes pop right out at them and they might learn a new command, concept, bit of math, approach, etc...
- Feels like it might not be that hard to implement. There are probably some libraries that can be integrated pretty easily, and it wouldn't have to look fancy or have any options.