This is a proposal for the App Inventor environment.
I think that it would be awesome to have social/game features in the App Inventor environment.
Specifically, I would like to see the ability to take on programming challenges/exercises (either created by the MIT team or created by users/coaches/teachers). Completing these challenges would earn a user points/badges. If you earn enough points, you would unlock additional features/components/programming blocks/avatars/etc. Once you have that functionality, you could add in coaching functionality so teachers could designate particular programming challenges to their students and handicap the environment for starting programmers, then slowly unlock additional stuff as students progress. They could also have an easy way to review student work. Students could submit programs to their coaches who could then easily run their programs. In-world chat and messaging would also be nice.
Another nice feature would be code management that allowed for multiple students to work on the same programming project. I find my students all share the same google password which is horrible from the security perspective.
A final feature I'd like to see is polymorphic event handling. It would be nice to have "When any_*.*" events such as "When any_button.click" events. This
forum post gives a decent example of how these events could save a significant amount of blocks and make programs more readable.
Khan Academy has proven that game/status features are profoundly effective for learning. In fact, a collaboration between Khan Academy and App Inventor makes a lot of sense. The javascript based programming functionality in Khan Academy is no where near as effective a way to be introduced to programming. I use Khan Academy heavily with my math students and it makes a dramatic difference and really leads to open, mastery-based classroom environments. I would be happy to write/speak with more detail on this topic if anyone is interested.