What would be an ideal Moodle hackfest for you?

What would be an ideal Moodle hackfest for you?

by David Mudrák -
Number of replies: 25
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

In recent years, it became quite common that there are so called Moodle hackfests (or developer days/sessions) happening typically as a part of Moodle moots or as stand-alone events. Hackfest is generally an open session for developers to meet face to face and brainstorm the future Moodle development. I was lucky to be able to attend some of them and I always felt big potential of them.

These developer sessions can have various format and atmosphere, depending on many things. For those who are organising such an event, it might be useful to know what participants would actually like to see and do there. So I decided to open this discussion to collect recommendations and ideas on how to use the given time in an effective way that would be both useful (in terms of outputs) and entertaining for the participants.

If you were attending a Moodle hackfest as a developer, what format would suit you the best? Should it be more like an (un)conference with plenary talks and mini-presentations? Or rather a round table format for discussing things? Bit of both? Something else? Should it be one stream or rather divided into groups focused on particular topics? Would it be good to have time for actual prototype coding there? Or better use the limited time for discussions and leave the coding for later?

Average of ratings: Useful (3)
In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Stuart Mealor -

Thanks for this post David

We are considering including a Hackfest into the next Moodle Moot here in New Zealand - so I will be interested to see what people say here smile

In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

For anyone who has not been to a hackfest before, they normally involve more yacking than hacking. That is people talking to each other. That is not unreasonable, since you can write code any time, but talking to other Moodle developers face-to-face is something you can't do often.

I also don't think there should be much, if any plenary talks or mini-presentations. Hackfests should be workshops where everyone participates, not one person at the front talking.

I think the best-organised hack-fest I went to was the one in Edinburgh last year. It used an organised unconference structure:

  • At the start we spent some time writing things we wanted to talk about on post-it notes.
  • These were stuck on the wall grouped by theme.
  • Then we were all given a certain number (4? 6?) sticky dots which we could stick on the topics we wanted to be part of discussing.
  • Then Michael de Raadt spent some time analysing that, do decide the programme for the rest of the day. There were 40 participants, so we had about 4 groups of 10 for 4 sessions, so up to 16 topics.
  • And, in fact, while Michael was doing that Martin Dougiamas said some general things to everyone, so I guess that counts as a plenary talk, but we can probably make an exception for Martin.
  • Actually, in this hackfest, things ended up falling into about 12 sessions, so the the last of the 4 sessions was kept for any discussions that had not finished earlier.
  • The other good thing was that there was a lot of encouragement for each group to write notes during their discussion, and link them to the wiki: https://docs.moodle.org/dev/Hackfest_UK_2014
  • And, indeed, to follow that up later by turning the notes into a proper spec.
  • Also, though I said no mini-presentations, there was one, I suggested that sam marshall into did a demo of the process of fixing a bug in Moodle core, and enough people voted for that so that he did. But that was still a group of people sitting round a table, not a classic presentation.
  • The structure was not strict. People were welcome to head off on their one as a small group to discuss something if they wanted. For example, towards the end I managed to grab Bas Brands and Stuart Lamour, and we had a good chat about the Quiz UI that lead to these ideas. (I wish I had had time to implement more of those by now.)

As I say, I thought this was the most successful hackfest I had been to. What do other people who were there think?

Average of ratings: Useful (9)
In reply to Tim Hunt

Re: What would be an ideal Moodle hackfest for you?

by Davo Smith -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Yes - I think the Edinburgh hackfest worked well. It was also helpful to generate a list of useful tools that all Moodle developers should be aware of.

The only other thought I had was maybe there could be an opportunity for some side-by-side peer reviewing of either core patches or non-core plugins? A chance for less experienced/confident developers to learn how to do a peer review or maybe a chance for them to get some direct feedback on code they have already written?

Doing this would require some organisation in advance (much like Tomasz's suggestion below).

Another item that might be useful (which may need a little bit of advance preparation), would be a round-table session on writing behat tests, as they can seem a bit scary if you haven't done them before, but are really worth learning how to do.

Average of ratings: Useful (3)
In reply to Tim Hunt

Re: What would be an ideal Moodle hackfest for you?

by Bas Brands -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers
The Edinburgh hackfest was very nice indeed. And I agree that the yacking part (people talking to eacher other) is probably the most important part. If we were to write actual code and get things done we would need more than one day in a conference room.

That said, if the Edinburgh hackfest would have been organised the day before the actual conference the people attending would be able to get to know each other better and we could do a session on the hackfest outcome for all those attending the conference, get some input from the actual users. Then again, scheduling it on a Monday might result in fewer ppl showing up for the hackfest.

The unconference setup was great, and having lots of HQ devs attend was part of it's success too, Michael took the lead and knows how to set mood for good collaboration.

I hope to be able to create a working group of developers for this or next years hackfest to actualy try and work on some code together. Get inspired and create cool stuff. Maybee we could still work on the Quiz UI for next years moot and show off the results smile

Looking forward to my next hackfest!



Average of ratings: Useful (3)
In reply to Bas Brands

Re: What would be an ideal Moodle hackfest for you?

by David Mudrák -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Yup, the timing is tricky thing. As you say, if the hackfest happens before the moot, folks have more time to follow-up and socialize.
In reply to Tim Hunt

Re: What would be an ideal Moodle hackfest for you?

by David Mudrák -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Thanks a lot Tim for this summary. I did not attend that event personally but I remember I was impressed with the amount of artefacts (notes, specs, tracker issues) it generated.
In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Tomasz Muras -
Picture of Core developers Picture of Plugin developers Picture of Plugins guardians Picture of Translators
Here is what I'd try for at least one hackfest session/track:
* keep the group small
* keep it focused
* decide on topic upfront, so people can research/read up/prepare upfront

The idea would be to get people truly interested in the given topic and with some expertise (or give them a chance to research upfront). The topic would be decided on a forum days before the actual event.

The actual format of the meeting could be flexible - e.g. round table discussion. Ideally some people would come in prepared with code examples/prototypes already done.

Tomek
Average of ratings: Useful (3)
In reply to Tomasz Muras

Re: What would be an ideal Moodle hackfest for you?

by David Mudrák -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Working on topics upfront sounds good to me. There could be an activity prepared in Moodle that basically implements what guys in Edinburgh did with post-it notes and sticky dots.
In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

For the edinburgh one, there was a forum where people could suggest ideas in advace, but it was not required to use it. I think that was the right decision. Not everyone has time to read forums in advance, and in particular less experienced participants may not even find the forum. We need to encorage those people. It is particularly healthy to get the views of people who are not totally brainwashed into the Moodle way of thinking.

I like the idea of a session of how to write a behat test. Was there a session at Edinburgh about getting PHPunit set up?

In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Michael Aherne -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers

One of the best things about the organisation of the Edinburgh one that nobody seems to have mentioned is that we all got to stand up in front of everyone for half a minute or something and pitch our ideas before they were voted on. I thought that was incredibly useful for identifying which topics I was actually interested in, and I'm not sure how it would translate to an online activity.

Average of ratings: Useful (1)
In reply to Michael Aherne

Re: What would be an ideal Moodle hackfest for you?

by Anne Krijger -

Sounds like the way the brainstorm part of a session should be organised, but hardly ever is;

Only put ideas forward in the first part, no matter how ridiculous or stupid they sound
and only in the second part choose the best ideas without shooting down any idea on the board.

Usually though people can't wait to shoot down ideas like: http://www.forbes.com/sites/quora/2013/04/08/what-are-the-most-ridiculous-startup-ideas-which-eventually-became-successful/, creating an environment where people do not feel comfortable to share their idea.

In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Jordi Pujol-Ahulló -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I don't attended any Moodle hackfest, but I did some hackatons.

For that one I like the most, I grap some interesting points, and some of them you suggested above:

  1. State the hackfest focus upfront. People attending will be really interesting on that or those hackfest themes.
  2. Make few quick presentations of 10-15 minutes of usefull things/aspects/technology/whatever, that will be really useful for later on when discussing. For instance, the general and official workflow for the new log api v2, if that is some of the topics of the hackfest.
  3. Throw ideas to deliberate on (like the case of Tim Hunt's success story).
  4. Group ideas into general topics and build workshops for each general topic, either simultaneously or just few at a time, so that people interested in severa topics may have the opportunity to participate.

The point 1 is very important for the viewpoint of the organization to focus discussions on some topics. But point 3 is really important to get participants get virtually "the control" of the hackfest, since they are discussing the topics they promoted too.

Have a nice day!

Jordi

Average of ratings: Useful (1)
In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Michael de Raadt -

Two points that are not really answers to David's questions, but worth mentioning.

  • Having a mandate from users to focus on an area of development will increase success
    Users are critical when development results in things that don't benefit them in a tangible way. It is true that developers can be tempted to refactor API code because it falls below some perceived standard, when there is often more critical work needed. A plan for the upcoming UK Moot (and possibly others) is to have working groups early in the conference followed by a developer hackfest at the end, which would generate the mandate developers could then work to. Developers would, of course, be welcomed at the earlier sessions. Not all hackfest work needs to flow from such user input, but some/most should.
  • The goal should be solid designs
    As people have suggested, there's more talk than coding at a hackfest. That's not a bad thing, in fact it's probably the best use of that time. The goal of the hackfest should therefore be solid designs, taking suggestions from users and transforming them into a form that can be implemented. If people are keen to contributed later by implementing that design in code, then that's a bonus, but not one that should be expected of everyone who attends.
Average of ratings: Useful (4)
In reply to Michael de Raadt

Re: What would be an ideal Moodle hackfest for you?

by dawn alderson -

Hello all,

Forgive me, but I am not familiar with moots I do not attend them.  However, outside looking in, it seems to me that having a user (meaning those involved with 'Learning' and teaching)  meet-up with devs...then a hack meet without someone qualified in a specialism such as 'Learning' and teaching in that latter meet, sounds a bit off to me.  Reason being, things might get lost in translation....perhaps.

Solution:

Mary C appears to be up to speed with all of the above and is afterall the ambassador for HQ why not have Mary in tat hack meet too...makes sense eh....I have followed all the very useful tips and teaching forum and one nice quote follows:

      'Because I can't get enough of Moodle, I keep an eye on other forums and email lists as well as Moodle.org and it was from one of those, a UK university mailing list, that this tip arrived'

Mary knows what is going on out there...it just makes sense to connect the user/hack meetings in such a way with a bridging element to foreground practical implications.

very warm wishes

Dawn

Average of ratings: Useful (1)
In reply to dawn alderson

Re: What would be an ideal Moodle hackfest for you?

by ben reynolds -

I agree with Dawn. Mary Cooch is the obvious "user" to have at a Hackfest. Got the experience. Speaks Moodle. In touch with the users on Moodle.org. She can even speak "American" as well as "English." smile  And languages from Europe, as well. I would test her Latin, though.

In reply to Michael de Raadt

Re: What would be an ideal Moodle hackfest for you?

by ben reynolds -

As a user/non-programmer, I like the proposed organization of MootUK/IE 15 with the pre-first day being talk about how to improve stuff like Lesson (which really needs the Quiz question integration that Tim has been talking about for at least 3 years). Then the 2 days of Moot. Then you all Hackfest.

In this thread, I'm seeing a lot of support for "what do teachers/users want?" and then at the Heckfest "What can we do about the users' desires?" That's a good sequence.

While it would be great to have users at the Hackfest, I think there would be too much time spent on learning to talk to each other and then actually communicating rather than productive programmer progress talk. I'm pretty sure that folks like Tim Hunt can translate user wishes into "How Do We Do What Users Want?"

Everybody who I met at Edinburgh who is a programmer clearly had the ability to translate user needs to programming.

The only thing missing last year was priorities. You all, MY issue is the most important!

Average of ratings: Useful (1)
In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Hi David,

Thinking out of the box and with Moodle being global with developers all over the place, would a Hackfest work virtually?  Just like iMoot works well with Big Blue Button.  Then developers from all over who are unable to attend Moots for varying reasons could do so.

And virtual developer speak does work smile -> 

Gareth

In reply to Gareth J Barnard

Re: What would be an ideal Moodle hackfest for you?

by Richard Oelmann -
Picture of Core developers Picture of Plugin developers Picture of Testers

A hackfest may work virtually Gareth - just as the iMoot works as a virtual moot - but for me, as Edinburgh was my first 'real world' Moot as well as my first hackfest having attended a number of iMoots prior to that, one of the huge benefits personally was the face-face contact with people we so often see on the forums and as names on posts or doc pages.

I've met many of the same people virtually in the past, but to actually meet people like Davo, Tim, Sam, Michael and many others who were there and to listen to the side conversations that are part of a face-face that may not happen as easily in an online environment.


In reply to Gareth J Barnard

Re: What would be an ideal Moodle hackfest for you?

by David Mudrák -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Well, we do have regular online developer meetings - see https://docs.moodle.org/dev/Developer_meetings
Average of ratings: Useful (1)
In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

RE: "Well, we do have regular online developer meetings - see https://docs.moodle.org/dev/Developer_meetings"

True David, but to be honest, the last one I attended I dozed off.  Perhaps I'll attend the next and see.  But I consider meetings as a medium for explaining what has and is about to happen.  Hackfests I perceive as more of a 'lets create this thing' task with lots of excitement and buzz.

In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Anne Krijger -

You can't participate well in those though.

(Unless they changed since last time, there is a feed delay for those who are not core developers)

But that's a different subject covered elsewhere smile

Anne.

In reply to David Mudrák

Re: What would be an ideal Moodle hackfest for you?

by Dan Poltawski -

If I can turn the question around a little and say what doesn't work:

  • Having too-broad and audience. I remember one developer day where we completely consumed by admins/interested users with all their various problems. It prevented much progress on the planned future work agenda. (Note: thats not to say that I don't think thats valuable - in fact a 'meet the developers' day would be cool and I know there are intentions of some sorts of specification workshops which would also facilitate that).
  • Coding during the event - as others have said - it's a bit of a pipe dream and not the most valuable part of such a thing (although I will note that Tim seems a pro at it!)

In reply to Dan Poltawski

Re: What would be an ideal Moodle hackfest for you?

by Michael Aherne -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers

I've been to things where coding over the course of the event has worked really well, but they tend to be multi-day things, and most of the coding goes on in the evening rather than during the actual event. I wonder if that's another reason to have the hackfest before the actual moot, so that people can find other developers with a similar interest and spend some time over the rest of the conference knocking out some kind of prototype or proof-of-concept?

In reply to Dan Poltawski

Re: What would be an ideal Moodle hackfest for you?

by Martín Langhoff -

+1 in general to this discussion, and in particular to Dan's and Tim's posts!

My personal notes are two:

  • An unconference-style sticky notes start to it, maybe with a verbal intro to what you're proposing to discuss/code (if the proposals are very few! it won't scale to 50 competing topics...). This should, IMO, be purely f2f -- show up, be there. For remote collab we have... all the other things we have smile
  • Whiteboards, big screens and projectors; all for coding up code snippets. It works great.

The code you need to bang out with others next to you is proof-of-concept code; pseudo code sometimes. Either the very core of a new file storage model, or a mockup of how you'd port an existing form to a new API you are proposing. Coding can be the clearest means of communication with fellow... coders. And it's a great bonding exercise -- we all put typos and thinkos in there, you can't be a snotty reviewer with someone who's seen you fat-finger "} else {" repeatedly smile

So while I completely agree you won't get "serious programming" done in a hackfest, I still think coding is central.

My 2c devalued Miami dollars...

In reply to Martín Langhoff

Re: What would be an ideal Moodle hackfest for you?

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

I was at the Edinburgh hack fest and it was really, really good. Perhaps a bit of online pre-hackfest communication would allow better use of the time (thought I thought the time was very well used anyway)