I am proposing to introduce gamification elements to eclipse to educate and encourage users to explore more features of the IDE.
'Skills' (working title) will track certain user actions and provide skill points for dedicated actions. Eg for the first JDT refactoring using eclipse commands. Similar to rogue like games it will provide categories where users can advance by collecting XP. There will not be stats like charisma, health, strenght. Instead we will have Java, C++, Debugging, Refactoring or similar. Instead of quests there will be challenges and dedicated actions we ask from the user.
'Skills' will not provide a full featured set of given categories and challenges. Instead it provides a framework and extension points so users and interested projects can add their own. Further any progress should be stored to the user profile, preferrably to the online profile that gets shared over multiple eclipse instances.
Gamification might sound like nonsense at first, but the plan is to use it for educating developers to leverage hidden powers of the IDE and RCPs. I am working for several years on a modified version of the Eclipse IDE for customers. One of the hardest challenges is to educate users, to teach them how to efficiently use the IDE and to advertise new features.
With 'skills' we could push users by challenging them from time to time to try something new, learn a new shortcut, use an alternate way of launching code, find a new view that might come in handy... By monitoring progress we know quite well what users are already capable of and can effectively provide new challenges adapted to the skill level of the users. Combined with help and cheat sheets this could become a very efficient way of teaching users.
Further most programmers are still kids inside and love to be challenged.
As we plan to use an existing code base, a first look at the project can be taken here .
The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.
From December 5th, 2020 to December 5th, 2020