Road to a better KDevelop newcomer experience

Hi fellow KDE!

Today I would like to talk a little about some work I’ve been doing recently in KDevelop in order to assure we have a good path for the new KDevelop user and KDE or free software Developer.

I think that KDevelop has been quite good at being adopted by people who know their way in the development process: in few words, people who already know the language they’re using and usually they can fill any lacking feature KDevelop might have, by doing some old-style terminal hacking :). No problem with that, but apparently not everyone is born with some wizard skills, so I’d like to improve this situation.

There are many aspects that can be improved and some have been lately. One of the most annoying things that we found (mostly in Randa, in the KDevelop team and some random spontaneous meeting) to be more annoying, was our “New Project” wizard, specially when it comes to start new technology based in KDE.

This is what it looked like before starting working on it:

There are some things I don’t like here: The tree view looks clumsy and doesn’t lead the user anywhere, so whenever I have considered to create a new project from this dialog, I’ve felt violated somehow. What I’m going to show here has to be taken as a first step towards where I want future KDE Developers experience to start (if they are starting a new project).

The idea here is that the user will select, first of all, what kind of application is going to be created, roughly: KDE Application, just a standard application, a web service or whatever it’s needed. Using KDE as an example, we’ll select if we want to create a console application, GUI application, Plasmoid, etc. Finally, we’ll select the language we want to use be C++, Python or whatever it’s available.

That last step change is important, because we’re adding more importance at what we are doing (a Plasmoid for example) than if we are going to do it in C++ or Python.

From this point there’s many things to be done:

Make it possible to create new applications from the KDE Examples

Add some category information, categories are not translatable right now and they can’t have an icon. I’d like to see this improved.

KNewStuff support to download new templates?

Make sure the KDE GUI application templates are equivalent for C++ or Python.

Improve the template’s description. Add links to techbase!

Think about the templates you always wanted as a kid and contribute them!

… many other things in your imagination 🙂

If someone is interested in helping, just ping me in IRC at #kdevelop in freenode, comment here or send me an e-mail, your call! 🙂

Oh! And last but not least, Big thanks to Àlex Fiestas for helping me sorting the templates and discussing the ideas, and Aurélien Gâteau for giving me a hand at making the GUI more usable.

After all this lonely KDE hacking, it feels great to sit down with someone else and try to take the best out of you on what you’re doing!