Hi all,
I'm Julien Dorra, I build creative communities using events. ex: http://museomix.com, http://artgameweekend.com, http://dorkbotparis.org, http://codinggouter.org.
After a short discussion with Adrienne Alix from Wikimedia France, I took my chances and applied for the new role of Engineering Outreach Coordinator a few days ago!! Wish me luck!! (It's basically what I'm doing here in France with maybe the difference that we mix devs and non-devs, like designers and others professionals. We found that mixing is good for the cohesiveness of the communities built out of the events, because they are issue-oriented communities, mostly. Doing it for Wikimedia would be a dream job :)
I also got a very nice answer from Sumana, encouraging me to "email this list with proposals/ideas of what the Wikimedia community ought to be doing" in term of engineering outreach.
This application is a great occasion (excuse??) for me to divert some time and better understand the tech-side of the wikimedia community. I have collaborated with the non-tech side of the french community on issues like museum innovation and photography, but never directly with the tech-side of the community.
I read with great interest the draft "Wikimedia Engineering/2012-13 Goals" ( http://www.mediawiki.org/wiki/Wikimedia_Engineering/2012-13_Goals). It's super-rich and very exciting in term of focus.
- - So, I wanted to start with a couple of questions I was curious about:
1. In term of outreach to engineers, devs or other technical talents, in your experience is there a specific community that is harder to reach to than others for Wikimedia?
2. Also, would like to see even more effort toward the students? (as in "the future professionals"!). What about the web startuppers? (AFAISee in Paris, they don't really consider Wikimedia as a software project.)
3. Do you sometimes think there is not enough ux designers on this list? And during hackatons? What about other skills?
- - Then, to engage the conversation further, I wanted to test on you some specific ideas around hackatons and technical events ;-)
The wider issue of testing, of setting up a more robust test culture is one of the key goals for 2012-2013, if I understand well.
I personally know at least 3 developers that are passionate about testing, love to evangelize Test Driven Dev, and that might attend a test-oriented, or TDD-oriented event – but they would probably *not* attend a Wikimedia or MediaWiki generalist event. They have so many event to attend! They even organize events themselves…
These 3 devs I know personnaly are the kind of test-oriented mentors we want to be part of the wikimedia community, if for a weekend or a week, because they are good at mentoring and showing the path to others.
So, how can we bring them in?
That made me (re)think about the limits of generic events, and the importance of issue-oriented event.
The idea I would like to put up to discussion would be to organize more fine grained events around specific issues:
«Testing Wikipedia» could be a nice catchy name for a series for events in various cities around TDD, with experienced dev mentoring less experienced community members, etc. Even if the experts come and go, everybody learn, some test and process get done, and the community grow and learn.
Another issue is engaging other orgs, so why not engage startups:
«Wikimedia for fun and profit!» Ok, this title is a joke -- but we should do a series of events focused on encouraging startups to build products on top of MediaWiki, APIs and Wikipedia sites. The rationale here is that the more startups invest on the wikimedia tech, the more they contribute in return.
The documentation of MediaWiki is also an issue. Let's not wait to have a big team to launch more sprints, let's the sprints build the team:
«DocDocDooooc Sprints» Realspace events are a powerful way to focus people on a goal. So to build a stronger documentation team, we could start designing an engaging and inclusive event format, setting up dates and places for a series of events. That could boost interest, and gather people that wouldn't have think of helping on MediaWiki. Of course the challenge is to keep the momentum going in between realspace sprints. So that means building an strong doc community online too.
Obviously, setting up events, even small ones, takes a lot of effort! Scaling them can seems too much to do, too, when resources are limited.
The good news is that we have successful examples of worldwide scaled event formats, like Startup weekend, Dorkbot. It's doable. And the rewards can be huge.
So the strategy here would be to kickstart local chapters with recipes for events and by connecting them with I call 'serial-collaborators', (people that love to attend hackatons and creative weekends - they know a lot about these events, and are precious resource for advice and support). Identifying and contacting partners and places usually helps a lot, too, for helping first-time event organizers. Having a regular schedule for the local, issue-driven events help the community stay focused on the goals in between events.
- - -
Of course if I post here it's because I need feedback, and I might be overly naive, overlooking many things. Does it makes sense to you? What's your own ideas about events as community catalyzers?
Let's discuss here –– you can also reach me on twitter : http://twitter.com/juliendorra
Julien
«Testing Wikipedia» could be a nice catchy name for a series for events in various cities around TDD, with experienced dev mentoring less experienced community members, etc. Even if the experts come and go, everybody learn, some test and process get done, and the community grow and learn.
I'm the QA Lead for WMF, and I can say a little about what we've done so far, and things we'd like to do in the future.
In May we collaborated with the Weekend Testers (Americas)[1] in an online test exercise to validate the new frequent rollout schedule of new software to all of the Wikipedia wikis. WTA meets on the first Saturday of every month, and conveniently, we had deployed the latest version to all of the wikis except English Wikipedia at that time, so we had quite a few professional software testers looking for anomalies in the new wiki software, using English Wikipedia as an oracle for correct behavior. It went well, but the scope was a bit ambitious, so we were lucky that the testers were very professional.
In June we collaborated online with Openhatch.org to validate a near-final version of the new Article Feedback system. This was a much more focused exercise, and it went really well, we found a number of real issues with AFT that we were able to address before rolling it out widely. Some of participants from the previous test event with WTA helped out, so there was a mix of skill and experience among the testers, and several people remarked about how they had not expected to have so much fun.
We would like to do some more sessions like these. One strong suggestion is to have a test event addressing outstanding Bugzilla issues for particular extensions. This could be an ongoing exercise, either in collaboration with other groups or as a pure-Wikipedia exercise. I have discussed doing this with the leader of WTA who is also one of the instructors of the Association for Software Testing[2] 'Bug Advocacy' course, but haven't pursued it much farther than that.
In the long run we would like these sorts of exercises to foster a critical spirit among Wikipedia users, improve the quality of issue reporting and follow-up in Bugzilla, build liaisons with communities like WTA and Openhatch that would not otherwise exist, and foster a general sense that all the Wikipedia software can be tested at any time, and Bugzilla is always open for all sorts of improvements.
So now to address what you actually said :-)...
Although I've read my share of unit tests in many languages, I'm not expert at it, nor do I have a background in PHP. But I am nearly certain that our existing unit test arrangements could be improved in many ways. Threads on the subject show up on this list from time to time, and I think I can say accurately that we could make better use of mocks and stubs instead of e.g. real database tables, we could do more TDD, our code coverage is probably not very high, and improving that coverage would entail not only writing more unit tests, but also refactoring existing code to make it more testable. I think improving unit testing would be a great ongoing project.
[1] http://weekendtesting.com/chapters/america [2] http://www.associationforsoftwaretesting.org/training/courses/
Wow, thanks Chris for this great feedback!
In May we collaborated with the Weekend Testers (Americas)[1]
I love the name! They also seem to have an interesting history in term of organic community growth.
In June we collaborated online with Openhatch.org
participants from the previous test event with WTA helped out, so there was
a mix of skill and experience among the testers, and several people remarked about how they had not expected to have so much fun.
I'm very interested in reading more about this session!
What would you say was the main expertise/know-how that the OpenHatch team brought? How would you say they brought the fun in testing?
Also, does the OpenHatch process guide people of varied skills, or did you set up a set of pre-requisites?
We would like to do some more sessions like these. One strong suggestion is to have a test event addressing outstanding Bugzilla issues for particular extensions. This could be an ongoing exercise, either in collaboration with other groups or as a pure-Wikipedia exercise.
A regular test day could anchor the idea. Maybe "Monthly Test 13th", so there would be added luck ;-)
About the two events you had, did you somehow also regroup in-person, say 2 or 3 testers together, or was everybody at home?
I think improving unit testing would be a great ongoing project.
I'm probably brain-washed by the test driven developers I met, but I'm under the impression that there is no downside to better tests! (I'm a purely hobbyist coder myself, learned when I was a kid and along the way, so I took a *lot* of bad patterns and habits. Never learned to write a test before writing functional code, obviously. But I'm seeing the way, now ;-)
Julien
Julian, Welcome. Here are my ideas: 1. "Tag along" - hold an event before or after a larger event, such as OSCON. This event might even be a charity event. Semi-example: http://railsconf.austinonrails.org/ignite 2. Create videos of ways to contribute. 3. Create a link/list of "small changes/bugs" - spelling errors, change copyright everywhere, etc. 4. Use Google Hangouts to hold regular events. Use Skype/etc if video is too much bandwidth. 5. Hold a contest. Here is one that just finished a month-long contest: http://rubyosc.com/ 6. Dual/joint hack event with other projects: Bugzilla, Mozilla, Mysql, php, perl, ... By the way, here is my collection of hack days/etc that I have been collecting for the 13 months: https://sites.google.com/site/patchworklabs/ Help this helps,Al Snow
From: juliendorra@juliendorra.com Date: Thu, 2 Aug 2012 20:16:47 +0200 To: wikitech-l@lists.wikimedia.org CC: adrienne.alix@wikimedia.fr Subject: [Wikitech-l] About outreach and tech events (as suggested by Sumana!)
Hi all,
I'm Julien Dorra, I build creative communities using events. ex: http://museomix.com, http://artgameweekend.com, http://dorkbotparis.org, http://codinggouter.org.
After a short discussion with Adrienne Alix from Wikimedia France, I took my chances and applied for the new role of Engineering Outreach Coordinator a few days ago!! Wish me luck!! (It's basically what I'm doing here in France with maybe the difference that we mix devs and non-devs, like designers and others professionals. We found that mixing is good for the cohesiveness of the communities built out of the events, because they are issue-oriented communities, mostly. Doing it for Wikimedia would be a dream job :)
I also got a very nice answer from Sumana, encouraging me to "email this list with proposals/ideas of what the Wikimedia community ought to be doing" in term of engineering outreach.
This application is a great occasion (excuse??) for me to divert some time and better understand the tech-side of the wikimedia community. I have collaborated with the non-tech side of the french community on issues like museum innovation and photography, but never directly with the tech-side of the community.
I read with great interest the draft "Wikimedia Engineering/2012-13 Goals" ( http://www.mediawiki.org/wiki/Wikimedia_Engineering/2012-13_Goals). It's super-rich and very exciting in term of focus.
- So, I wanted to start with a couple of questions I was curious about:
- In term of outreach to engineers, devs or other technical talents, in
your experience is there a specific community that is harder to reach to than others for Wikimedia?
- Also, would like to see even more effort toward the students? (as in
"the future professionals"!). What about the web startuppers? (AFAISee in Paris, they don't really consider Wikimedia as a software project.)
- Do you sometimes think there is not enough ux designers on this list?
And during hackatons? What about other skills?
- Then, to engage the conversation further, I wanted to test on you some
specific ideas around hackatons and technical events ;-)
The wider issue of testing, of setting up a more robust test culture is one of the key goals for 2012-2013, if I understand well.
I personally know at least 3 developers that are passionate about testing, love to evangelize Test Driven Dev, and that might attend a test-oriented, or TDD-oriented event – but they would probably *not* attend a Wikimedia or MediaWiki generalist event. They have so many event to attend! They even organize events themselves…
These 3 devs I know personnaly are the kind of test-oriented mentors we want to be part of the wikimedia community, if for a weekend or a week, because they are good at mentoring and showing the path to others.
So, how can we bring them in?
That made me (re)think about the limits of generic events, and the importance of issue-oriented event.
The idea I would like to put up to discussion would be to organize more fine grained events around specific issues:
«Testing Wikipedia» could be a nice catchy name for a series for events in various cities around TDD, with experienced dev mentoring less experienced community members, etc. Even if the experts come and go, everybody learn, some test and process get done, and the community grow and learn.
Another issue is engaging other orgs, so why not engage startups:
«Wikimedia for fun and profit!» Ok, this title is a joke -- but we should do a series of events focused on encouraging startups to build products on top of MediaWiki, APIs and Wikipedia sites. The rationale here is that the more startups invest on the wikimedia tech, the more they contribute in return.
The documentation of MediaWiki is also an issue. Let's not wait to have a big team to launch more sprints, let's the sprints build the team:
«DocDocDooooc Sprints» Realspace events are a powerful way to focus people on a goal. So to build a stronger documentation team, we could start designing an engaging and inclusive event format, setting up dates and places for a series of events. That could boost interest, and gather people that wouldn't have think of helping on MediaWiki. Of course the challenge is to keep the momentum going in between realspace sprints. So that means building an strong doc community online too.
Obviously, setting up events, even small ones, takes a lot of effort! Scaling them can seems too much to do, too, when resources are limited.
The good news is that we have successful examples of worldwide scaled event formats, like Startup weekend, Dorkbot. It's doable. And the rewards can be huge.
So the strategy here would be to kickstart local chapters with recipes for events and by connecting them with I call 'serial-collaborators', (people that love to attend hackatons and creative weekends - they know a lot about these events, and are precious resource for advice and support). Identifying and contacting partners and places usually helps a lot, too, for helping first-time event organizers. Having a regular schedule for the local, issue-driven events help the community stay focused on the goals in between events.
Of course if I post here it's because I need feedback, and I might be overly naive, overlooking many things. Does it makes sense to you? What's your own ideas about events as community catalyzers?
Let's discuss here –– you can also reach me on twitter : http://twitter.com/juliendorra
Julien _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Julien Dorra juliendorra@juliendorra.com wrote:
«Testing Wikipedia» could be a nice catchy name for a series for events in various cities around TDD, with experienced dev mentoring less experienced community members, etc. Even if the experts come and go, everybody learn, some test and process get done, and the community grow and learn.
Maybe we should not be afraid and not only offer buzzwords but also point out real technical issues we are facing here.
I would say that at least some parts the core code is hardly testable. The situation improves as we go, but still there are lots of problems with our almost-object-oriented coding.
On the other hand the number of integration issues we are facing (talking to databases, caches etc.) plus high level of optimization of code suitable for the hugh site does not make a TDD approach enthusiasts happy; we need multiple levels of testing unit; integration; user inteface with the last two very important.
And there also infrastructure issues, like
https://bugzilla.wikimedia.org/show_bug.cgi?id=37702 "Cloned tables for unitests do not have references and constraints"
discovered when trying to write unit test for the very core MediaWiki functionality. (The fact we didn't find is earlier is telling something about our test coverage).
So may be one of the approaches would be to have a mini-bugathon to review some (or most typical? most annoying? site-breaking?) bugs and try to evaluate how TDD approach could help us to improve.
We might even have a nice cultural clash as a result:)
//Saper
Hi Al, Bawolff, Lydia, Marcin, and thanks for your feedbacks and exchanges!
I was away for a few days, so I'll try to summarize what's have been said and what it makes me think about tech outreach at wikipedia.
Bawolff said:
it just seems that often outreach focuses on people outside the Wikimedia community, well ignoring people already in the Wikimedia community.
In a worldwide, open, community like the Wikimedia community, it's not clear cut who is "inside the community" and "outside the community". Of course what is clear is the amount of work someone is putting for the community.
The goal of the tech outreach coordinator would be to focus people on doing more work for the community, by giving them dedicated moments to do so. These moments don't need to be for "insiders" or for "outsiders" explicitly (but of course the design of the event can make it lean more toward regulars, irregulars, or newbies)
That said the global tech plan as I understand it identified mentoring and nurturing the volunteer ecosystem as a priority over augmenting the intake of tech volunteers. So it's in line with what you say.
Lydia said:
it likely reached people who are not necessarily close to MediaWiki simply because Wikidata reaches quite a few people who are not close to MediaWiki. I didn't reach out to any group in particular for this.
It's interesting as it shows that the data issue speaks to a specific part of the community. It's very possible that other parts of the community would better be addressed by identifying specific theme and issues.
For example Gerard Meijssen has a blog post about readability ( http://ultimategerardm.blogspot.fr/2012/07/can-everybody-read-wikipedia.html) and I'm pretty sure we can gather people (not only devs, but designers and usability scientists) around that high leverage issue (a small effort can lead to huge benefits) for a week or a couple of days (be it online, offline or mixed).
Al said:
- "Tag along" - hold an event before or after a larger event, such as
OSCON. This event might even be a charity event.
Nice tactic! Something worth trying.
5. Hold a contest. Here is one that just finished a month-long
contest: http://rubyosc.com/
Contests are indeed a good way to focus interest online. And to bring in new talents, too.
http://rubyosc.com/ 6. Dual/joint hack event with other projects: Bugzilla, Mozilla, Mysql, php, perl,
Something to explore. The new focus of Mozilla on helping setting web makers events all around the web could be a nice common ground.
Marcin said:
Maybe we should not be afraid and not only offer buzzwords but also point out real technical issues we are facing here. I would say that at least some parts the core code is hardly testable. The situation improves as we go, but still there are lots of problems with our almost-object-oriented coding.
Totally right, pain points and technical issues must be openly acknowledged. Also, that's probably the only way to get interest from highly experienced devs in tests and TDD (that would be good!).
The more challenging, the more interested they will be.
We need to scream out there " the core code is hardly testable!!!" so that people that are interested in that kind of thing can hear it from where they are (usually, they are in agile dev communities, where they have their own events and "dojos" and "code retreats". Yes, they love to name their events in very traditional ways :-)
So may be one of the approaches would be to have a mini-bugathon
to review some (or most typical? most annoying? site-breaking?) bugs and try to evaluate how TDD approach could help us to improve.
Yes, it was exactly what I had in mind. Sorry if it wasn't clear enough.
The goal would be to lure experienced TDD devs in by focusing the event on testing, make them work with the community during a weekend on the code base, existing test, writing tests, etc. and mentor others along the way. (I'm still convinced that giving it a cool, flashy, name doesn't hurt ;-)
We might even have a nice cultural clash as a result:)
Cultural clashes are fun, but cultural remixes are preferred to clashes, if at all possible :-)
Please, keep the ideas and feedback coming: I'll synthesize everything at the end, Julien
The goal would be to lure experienced TDD devs in by focusing the event on testing, make them work with the community during a weekend on the code base, existing test, writing tests, etc. and mentor others along the way. (I'm still convinced that giving it a cool, flashy, name doesn't hurt ;-)
We might even have a nice cultural clash as a result:)
The recent discussion on this list about deprecation levels might indicate a a lack of DRY (Don't Repeat Yourself) in core code, and an opportunity to refactor for testability, with specific examples.
Hoi, One area where technology combined with content hit the road is in the GLAM projects. There are all kinds of technical fixes that helped the people involved in GLAM content no end. There are many more opportunities.
What is relevant in this thread is that there have been technical meets concentrating on such issues. What excites me is your notion to combine the technical with the artistic ... other aspects that complete the effort are in your scope... that makes for a much more refined result :) Thanks, Gerard
On 2 August 2012 20:16, Julien Dorra juliendorra@juliendorra.com wrote:
Hi all,
I'm Julien Dorra, I build creative communities using events. ex: http://museomix.com, http://artgameweekend.com, http://dorkbotparis.org, http://codinggouter.org.
After a short discussion with Adrienne Alix from Wikimedia France, I took my chances and applied for the new role of Engineering Outreach Coordinator a few days ago!! Wish me luck!! (It's basically what I'm doing here in France with maybe the difference that we mix devs and non-devs, like designers and others professionals. We found that mixing is good for the cohesiveness of the communities built out of the events, because they are issue-oriented communities, mostly. Doing it for Wikimedia would be a dream job :)
I also got a very nice answer from Sumana, encouraging me to "email this list with proposals/ideas of what the Wikimedia community ought to be doing" in term of engineering outreach.
This application is a great occasion (excuse??) for me to divert some time and better understand the tech-side of the wikimedia community. I have collaborated with the non-tech side of the french community on issues like museum innovation and photography, but never directly with the tech-side of the community.
I read with great interest the draft "Wikimedia Engineering/2012-13 Goals" ( http://www.mediawiki.org/wiki/Wikimedia_Engineering/2012-13_Goals). It's super-rich and very exciting in term of focus.
- So, I wanted to start with a couple of questions I was curious about:
- In term of outreach to engineers, devs or other technical talents, in
your experience is there a specific community that is harder to reach to than others for Wikimedia?
- Also, would like to see even more effort toward the students? (as in
"the future professionals"!). What about the web startuppers? (AFAISee in Paris, they don't really consider Wikimedia as a software project.)
- Do you sometimes think there is not enough ux designers on this list?
And during hackatons? What about other skills?
- Then, to engage the conversation further, I wanted to test on you some
specific ideas around hackatons and technical events ;-)
The wider issue of testing, of setting up a more robust test culture is one of the key goals for 2012-2013, if I understand well.
I personally know at least 3 developers that are passionate about testing, love to evangelize Test Driven Dev, and that might attend a test-oriented, or TDD-oriented event – but they would probably *not* attend a Wikimedia or MediaWiki generalist event. They have so many event to attend! They even organize events themselves…
These 3 devs I know personnaly are the kind of test-oriented mentors we want to be part of the wikimedia community, if for a weekend or a week, because they are good at mentoring and showing the path to others.
So, how can we bring them in?
That made me (re)think about the limits of generic events, and the importance of issue-oriented event.
The idea I would like to put up to discussion would be to organize more fine grained events around specific issues:
«Testing Wikipedia» could be a nice catchy name for a series for events in various cities around TDD, with experienced dev mentoring less experienced community members, etc. Even if the experts come and go, everybody learn, some test and process get done, and the community grow and learn.
Another issue is engaging other orgs, so why not engage startups:
«Wikimedia for fun and profit!» Ok, this title is a joke -- but we should do a series of events focused on encouraging startups to build products on top of MediaWiki, APIs and Wikipedia sites. The rationale here is that the more startups invest on the wikimedia tech, the more they contribute in return.
The documentation of MediaWiki is also an issue. Let's not wait to have a big team to launch more sprints, let's the sprints build the team:
«DocDocDooooc Sprints» Realspace events are a powerful way to focus people on a goal. So to build a stronger documentation team, we could start designing an engaging and inclusive event format, setting up dates and places for a series of events. That could boost interest, and gather people that wouldn't have think of helping on MediaWiki. Of course the challenge is to keep the momentum going in between realspace sprints. So that means building an strong doc community online too.
Obviously, setting up events, even small ones, takes a lot of effort! Scaling them can seems too much to do, too, when resources are limited.
The good news is that we have successful examples of worldwide scaled event formats, like Startup weekend, Dorkbot. It's doable. And the rewards can be huge.
So the strategy here would be to kickstart local chapters with recipes for events and by connecting them with I call 'serial-collaborators', (people that love to attend hackatons and creative weekends - they know a lot about these events, and are precious resource for advice and support). Identifying and contacting partners and places usually helps a lot, too, for helping first-time event organizers. Having a regular schedule for the local, issue-driven events help the community stay focused on the goals in between events.
Of course if I post here it's because I need feedback, and I might be overly naive, overlooking many things. Does it makes sense to you? What's your own ideas about events as community catalyzers?
Let's discuss here –– you can also reach me on twitter : http://twitter.com/juliendorra
Julien _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Hi Gerard, thanks a lot for chiming in!
There are all kinds of technical fixes that helped the people
involved in GLAM content no end. There are many more opportunities.
Do you have an example of these tech fixes that helped the GLAM people ? I'm very curious about it, as a way to inform issue-specific tech events.
We had a GLAM wiki event in Paris, but there was no hackaton (or other kind of producing/making event) during it AFAIK.
that makes for a much more refined result :)
Could you elaborate on that? What do you see as a refined result -- and a non-refined result?
I read your post on readability, is this te kind of non-refined tech where art and dev could meet better you are talking about?
Julien
wikitech-l@lists.wikimedia.org