GNOME Developer Experience Hackfest

Hello everyone,

I've had a few conversations with Allan Day about the developer story in GNOME and we came up with the conclusion that there are many areas where this needs work to keep GNOME attractive as an application developer platform.

Hence, I'd like to propose a developer experience hackfest at some point in 2013. This is a call to check who would be up for such hackfest.

My initial suggestion is to focus on three main lines of work:

  • Tooling (Anjuta, Monodevelop, Glade, application bundling, intltool, gtk-doc, autofoo and friends…) 
  • Developer docs and mindshare (unified online/offline API reference UI, app developer community building…)
  • Further platform needs (check for missing APIs or improvements to full fill requirements for modern applications, e.g. simple HTTP access, a collection API for GObject, better MVC widgets based on such collection API)

People/skills I'd like to see:

  • People from the design team.
  • Anjuta, Glade, devhelp, nemiver and Monodevelop people.
  • People working on application bundles, introspection and bindings.
  • People willing to help on the documentation tooling.
  • Web hackers (frontend/backend)
So if you are interested in attending (no dates venue yet, I'll try to arrange a venue/date that fits well with the attendee list), please put your name here:

If you require sponsorship, please state so in the comments section. I first need a list of people before I can request sponsorship to the foundation.

If there's anyone willing to provide a venue and help with the organization, please get in touch with me!

Any other input, is welcome. Happy hacking!

15 thoughts on “GNOME Developer Experience Hackfest

  1. @Bejamin:
    It is indeed! I will probably have news about this soon.
    Libgee is very nice indeed, though it wouldn’t be enough to replace GtkTreeModel. I’m currently working on some improvements on libmodel and hopefully coming up with widgets to have a much better story wrt MVC and online apps.


  2. GNOME needs to focus more on addressing the cultural issues around people contributing to it as a platform as opposed to the technical things like tools and APIs – personally stuff like and make me want to contribute less to GNOME than dealing with technical stuff – and don’t get me wrong I love GNOME, I just hate to see it becoming so elitist.


  3. @Alex:
    I focus on whatever I want to focus, I’m not GNOME, I’m myself and I choose how I want to contribute.
    If you think that work is needed in other areas, feel free to work on solutions for those problems.


  4. During the Boston Summit I spoke with Christian Hergert about the lack of tooling.
    He pointed me to something he’d been working on. It has some vim/emacs type features but doesn’t require opaque keystrokes.
    Clearly it needs more work, but it’s the best of the lightweight editors I’ve seen on the FLOSS side.
    We really need something like Visual Studio (monodevelop/eclipse are obviously the closest we have)


  5. @Alberto – I realise now that my comment was more negative than I intended so I am sorry if you felt I was disparaging your efforts – of course the more people we have hacking on GNOME the better and the better our tools and APIs etc are so that can only be a good thing – I guess I would just like to see some acknowledgement / discussion around the overall culture to ensure people are not feeling alienated or being put off from contributing in the first place if they feel that their efforts are not going to be appreciated.
    Good on you for organising this, despite my original comment I really do with you all the best with it and am glad you are doing it – it can only be more beneficial to GNOME (and incidentally I would love to be able to be involved with something like this but at the moment between $DAYJOB and family commitments etc it’s not really possible) – but I hope it is a great success.


  6. Sounds awesome. I’m pissed every time I have to touch GtkTreeModel.Specially outside C. However, I don’t see how to improve the developer story outside C/Cpp as long as only passive iterators are allowed.


  7. I think gnome needs to provide an SDK + IDE with support for the most popular programming languages (for instance: C + Javascript and maybe Vala). The SDK could be a collection of gnome APIS (gobject 3.6.x, gtk 3.6.x, clutter 2.0.x, etc).
    The IDE should be something similar to what Qt does with Qt develop. Modern features like: code completion (specially for C), building support with targets for autotools, .deb & .rpm, debugger, refactoring, inline docs. As for the SDK, it should have documentation for the Apis, code examples, common idioms, etc.
    It should be possible to build a modern gnome app with this ide without the need for anything else but also let the developer do stuff manually if he/she wants. Maybe you should reach developers from other communities to see why they’ve choosen the tools they use on other platforms (win32, osx, qt, java, etc). Once that’s in place the next step would be to provide design docs (like
    In order to keep up with the project pace, maybe this sdk + ide could be released every 9 months, or released after the .3 release of gnome. Also, a good idea could be to develop a proper gnome app with this to see if it full feels it’s goal, for instance, gnome-calculator, a simple note app, gnome-music, etc.
    Maybe ajunta already does this, but if it does, it needs more visibility, looks like a good starting point.
    My 2 cents.


  8. to keep GNOME attractive as an application developer platform

    (emphasis mine)
    I think the first step to making Gnome attractive to developers is admitting reality, which is that it’s very hard to:

    get a working development environment (building what’s needed in jhbuild and actually having all the builds complete successfully)
    learn the technologies involved (especially the build tooling)
    selecting which libraries/tech to use for your own project. It’s not even clear which language is preferred, and asking 5 different developers could get you 5 different answers. Choice is often good, but I’m not sure our wealth of “supported” (to very varying degrees) languages is good itself.
    making sure your application continues to build for everyone

    So, there’s a lot of work to do. Which is why I think a hackfest would be a great idea 🙂
    And I agree with anonymous above — we need a full SDK and well-documented “best practices” set of workflows.


  9. The interesting thing here is that Qt Creator actually has C, Javascript and autotools support, as well as debugger, inline documentation (albeit in a somewhat strange format) and support for lots of compilers.
    Might be worth checking whether a Gnome plugin would be possible there, adding glade;-)


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s