Page MenuHomePhabricator

Community bonding evaluation for Newsletter Extension
Closed, ResolvedPublic

Description

Find detailed blog post here.

Work done (environment setup, links to patches merged etc.)

  1. Requested for set up of labs project for newsletter extension. Project created and successfully ssh-ed to bastion.wmflabs.org.
  2. Set up web proxy for the newsletter-test instance
  3. After a number of rounds of discussions, a proposal for a minimum viable product with necessary features was put forth.
  4. Created tasks for features in MVP and organised them on the MediaWiki-extensions-Newsletter Workboard
  5. Decided on first feature to work on : Create Newsletter

Lessons learnt

  1. When the project gets more exposure, more developers drop in to suggest ideas. And these ideas make a huge difference to the intended plan making it simpler and elegant.
  2. Plan before you code.

Problems faced and solutions found

Initial weeks were uncoordinated due to exams, time zones, absence of a plan. With the second IRC meeting, many decisions were taken including the initial proposal of MVP and Agenda for meeting at Lyon Hackathon. All panned out after the Lyon Hackathon where the MVP was finalised and implementation of first feature decided.

Any changes to the original plan

  1. New feature added : Announce a newsletter
  2. Special:NewsletterPublishers page introduced with simpler and minimum fields. For more details: T100125

Minimum Viable Product for the project decided

( pasting from T99784 )

The features listed are the ones aimed to be completed before midterm hopefully.

Publisher

  1. Create a newsletter - T100125
  2. Announce a new issue of an existing newsletter

Reader

  1. Subscribing and unsubscribing to/from a newsletter
  2. Receiving a notification for new issues of a subscribed newsletter - Echo notifications

Communication plan with mentor decided

IRC( #wikimedia-ect ) is the main mode of communication with mentors. Logs of IRC meetings so far:

  1. Meeting 1
  2. Meeting 2
  3. Meeting 3 ( Lyon Hackathon )

Event Timeline

Tinaj1234 assigned this task to 01tonythomas.
Tinaj1234 raised the priority of this task from to Low.
Tinaj1234 updated the task description. (Show Details)
Tinaj1234 added subscribers: Sitic, Qgil, Aklapper and 2 others.
Qgil added a comment.Apr 28 2015, 2:14 PM

About the detailed plan, I think it is very important to agree on the feature set of a minimum viable product, and the very first tasks you will work on.

I'll leave to Tony and others the technical mentorship, but looking at your current timeline it looks like you aim to work on a single big iteration through the project. If this is the case, it might be risky. Is there a way to work on smaller iterations, aiming to have a simplest and ugliest yet functional prototype running in Labs in few weeks?

The project is MediaWiki-extensions-Newsletter, and you will need to start populating that project with tasks, with their priorities and dependencies.

About meetings... Tina and Tony are in India (I haven't checked how close or far), and I am in Germany. I wonder whether we can establish a weekly meeting at a decent time, since for once we don't need to accommodate to Pacific office hours. :)

All in all I think the community bonding period for Tina can be pretty short, and she can start coding as soon as she wishes. Tina has been around for basically a year now, and at this point he clearly deals well with all our community channels -- and she even has patches merged in MediaWiki core.

About the detailed plan, I think it is very important to agree on the feature set of a minimum viable product, and the very first tasks you will work on.
I'll leave to Tony and others the technical mentorship, but looking at your current timeline it looks like you aim to work on a single big iteration through the project.

Yeah true that: Consider : Set up the database for the newsletter extension 21/04/15 - 10/05/15
I dont think we should be finishing the complete database design in the initial phase itself. Something more realistic would be:

  1. Clone NewsLetetter extension and start building the Special:NewsLetterCreate, Publisher interface
  2. Create the Special:CreateNewsLetter interface, and design how the NewsLetter would be stored in the DB ( the new table )
  3. For the minimum viable product, should we include a Special:NewsLetterList too ? That would list the available newsletters for that wiki.

@Qgil: what do you think ?

Tinaj1234 updated the task description. (Show Details)Apr 28 2015, 9:43 PM

Since there is hardly a 3.5 hour difference, fixing up a time for the meeting wouldn't be difficult. I agree, the schedule needs to be renovated for the better. I believe, the upcoming meetings would do that.

I logged into Labs ( https://wikitech.wikimedia.org ) and saw that I was added to a group, 'shell'. Is that the group I should be in ?

01tonythomas added a comment.EditedApr 29 2015, 9:03 AM

Since there is hardly a 3.5 hour difference, fixing up a time for the meeting wouldn't be difficult. I agree, the schedule needs to be renovated for the better. I believe, the upcoming meetings would do that.
I logged into Labs ( https://wikitech.wikimedia.org ) and saw that I was added to a group, 'shell'. Is that the group I should be in ?

I think you will have to request for a shell account here : https://wikitech.wikimedia.org/wiki/Help:Getting_Started#Request_Shell_Access and request for a project ( NewsLetter extension ) and get access to it. Check out Cloud-Services for connection issues. Labs is a testing cluster in the Wikimedia cluster where you will be given access to VM's which are configured roughly equal to the production cluster. You will find about more soon :)

Tinaj1234 added a comment.EditedApr 29 2015, 1:13 PM

Requested for creation of a Wikimedia Labs project for Newsletter extension by creating T97523. Starting off with Special:NewsLetterCreate page as suggested by @01tonythomas ( right after I get a proper editor!)

Qgil added a comment.Apr 30 2015, 10:52 AM

We need to organize our chain of blocked tasks. T76199 is the main project task and needs to be up to date (for instance, the title of that task still says it is a "possible project", but it is no more.

The detailed plan needs to be placed also on that task, which will be open until the extension is released. This task here will be closed when the bonding period is completed, so it does not make sense to maintain key information here.

T76199 needs to be assigned to Tina, and it needs to be blocked by other tasks main tasks (not be blocker of tasks). For instance, T76199 is blocked by T97413: Community bonding evaluation for Newsletter Extension, not the other way around.

If you have questions or doubts about this, just share them. :)

Tinaj1234 updated the task description. (Show Details)May 2 2015, 10:00 AM
Qgil added a comment.May 6 2015, 5:33 AM

Please propose a 30 minute slot for a weekly meeting, if possible starting next week.

Please propose a 30 minute slot for a weekly meeting, if possible starting next week.

True. Let @Tinaj1234 decide according to her convenience.

Qgil added a comment.May 7 2015, 3:44 PM

@Tinaj1234 writes:

My first patch to newsletter is almost done, but where do I send it to ?

Would https://git.wikimedia.org/summary/mediawiki%2Fextensions%2FNewsletter work? I think the existing code can be safely replaced in order to start from scratch.

But... at least as co-mentor I don't feel that we have a detailed plan agreed. It's not that I'm disagreeing with anything that you are doing (I don't) but basically I'm seeing you jumping into coding without us having a greed an overall plan.

For instance, are we all in the same page about the features of the minimum viable product, the first complete iteration that should result in a functional piece of software? Are there mockups that you are taking as a reference to build the UI or are you aiming to just get the features in place leaving a more polished UI for later?

The description of T76199 should be updated to reflect our current understanding of the plan, including whatever needs to be added or modified based on your proposal at T93583.

I think it is worth investing some time in good planning and syncing in order to be all in the same page. This might mean that you will publish less patches in the next few weeks, but I believe this will help assuring that the code you write goes in the right direction, saving you time and effort at the end.

I completely agree on the fact that we need to plan before entering the coding phase, let alone send patches. We've been putting off that meeting we talked about for a long time. So without further delaying it anymore, how about tomorrow ? @Qgil, @01tonythomas Any time is fine for me - so please choose a time of your convenience and maybe message on our very own cozy room ? :) Assuming that we will have the meeting tomorrow, how about holding our weekly meetings on every Friday ?

No, I don't think we have any mockups other than M12 and I do think a few mockups for pages like Special: CreateNewsletter, Special: PublishNewsletter would be beneficial in the long run. Also, I believe it would be always better to have the basic features in place and then polish them as we go along. But, let's discuss this in tomorrow's meeting as well.

I completely agree on the fact that we need to plan before entering the coding phase, let alone send patches. We've been putting off that meeting we talked about for a long time. So without further delaying it anymore, how about tomorrow ?

Fine with me. How about today 8:30 pm IST ( 2:30 pm GMT ) ? http://www.worldtimebuddy.com/ist-to-gmt-converter?qm=1&lid=30,0,2643743&h=30&date=2015-5-8&sln=20.5-21

Qgil added a comment.May 8 2015, 5:05 AM

Tomorrow I will be flying back to Germany, sorry. No problem if you want to
meet anyway. The idea is to get a routine.

Tomorrow I will be flying back to Germany, sorry.

Okey. I think the meeting is scheduled for today. No wonder I dont see you online in IRC :) Safe Journey!

Due to bug with conpherence, we are moving the chat to a new channel #wikimedia-newsletter

P627 sums up today's meeting on #wikimedia-newsletter. Will be updating the description of T76199 shortly.

I think you could in future just use #wikimedia-ect for the same. It's not as if the meeting is very confidential. And that channel is mostly silent.

Qgil added a comment.May 11 2015, 7:14 AM

Thanks for the notes!

Honestly, I thought about meeting on a hangout or some way to have a conversation with smiling faces and spoken words. At least at this point of the project, I think it is good to know each other. What do you think?

Also, Friday 8:30pm does not sound like the best slot for a weekly meeting. After a week of hard work, is good to have some social life on Friday evening, don't you think? What about a day during the week?

Also, Friday 8:30pm does not sound like the best slot for a weekly meeting. After a week of hard work, is good to have some social life on Friday evening, don't you think? What about a day during the week?

True that. Looks like @Tinaj1234 is having university exams till next week. I think we can resume it right after next week, then ?

@Tinaj1234 Don't forget to publish your bonding period report by tomorrow so your mentors can evaluate it and give you constructive feedback. Thanks!

@NiharikaKohli Sure. Thanks for the remainder!

I've written a blog post as my community bonding period report: Community Bonding Period – Newsletter Extension for Mediawiki. Do mention if there are changes to be made or things to be done.

@Tinaj1234 It looks good to me. :) Further comments by your mentors awaited.

Looks good. @Qgil : Should the community bonding report should be published somewhere in the phab task ? I dont know how the system is now ( earlier we used the wiki page, so now of course phab )

Qgil added a comment.May 26 2015, 1:56 PM

Tina has clearly passed the community bonding period, and there is really nothing stopping her from coding in the right direction. As mentor, I have enjoyed the bonding period as well! And I'm looking forward for more.

About the blog post, two observations that should be useful for any blog post:

  • People are very busy these days! Make sure your first paragraph contains the basic messages you want readers to get. Think that they might or might not read the entire blog post, so if you leave the good stuff for later they might not see it at all. In fact, the lead paragraph is a basic principle of journalism. It just works.
  • This is a blog post in an HTML page, not a thesis to be printed in paper. Please convert in clickable links the words that you want to be seen as links. Make sure that the background information is linked as well, as you cannot assure that your readers will know everything about this program and about your project. When you write a blog post, think of i.e. a computer science student from Sweden that might have the technical skills to understand your project, but maybe not the background and the context. For instance, what is "GSoC"? Links can help you providing the background without having to explain everything.

... and wouldn't your blog post look better with some images? You have produced mockups. Use them! Even if humans like to read text, our eyes will go after images first. :)

Qgil added a comment.EditedMay 26 2015, 2:01 PM

I think we agreed somewhere that the weekly reports should go o a single Phabricator task, but the reports of milestones (bonding period, mid term, final) could go to a blog if Tina wants. It's her choice.

Qgil added a comment.Jun 2 2015, 1:42 PM

It is very silent lately... Is it just me, or do we need to bring the good rhythm back after Lyon?

@Tinaj1234 didn't take my feedback about the blog post at T97413#1312565, and now it's too late. No worries, but next team please take this feedback into consideration, or at least argue why your post is better without my suggestions. :)

We still don't have a regular time to meet every week, and we should be meeting on a weekly basis. Please, let's agree finally on a weekly slot that works for the three of us.

@0tonythomas, this task is assigned to you, and it is you who needs to resolve it when you consider that the bonding period is successfully completed.

01tonythomas added a comment.EditedJun 2 2015, 1:44 PM

True that. I almost got settled today morning after all the travel.

@Tinaj1234 sent me http://newsletter-test.wmflabs.org/wiki/Special:NewsletterPublishers back today so - I think she would be sending in the gerrit patch soon

I will close this once @Tinaj1234 edits this task description with the community bonding report ( the current version is fine ). We need to concentrate more on getting the MVP out, as of now.

It is very silent lately... Is it just me, or do we need to bring the good rhythm back after Lyon?

I was working on this pretty much the whole time since 27th May. Whenever I had questions, I interacted with developers on IRC but pretty much through private messages. To be frank, I totally let off my attention from the blog or community bonding report after I started coding - not intentionally though. I'm editing the blog and will get it done at the earliest ( I'm travelling right now ) even if its too late.

@Qgil I'm really sorry if you feel like I neglected your opinions, those were some good suggestions for any blog. I was trying to push the first patch at the earliest since we were done deciding the MVP.

This week's meeting can be tomorrow. Totally upto your convenience @Qgil, @01tonythomas.

Tinaj1234 updated the task description. (Show Details)Jun 2 2015, 6:43 PM
01tonythomas closed this task as Resolved.Jun 2 2015, 6:46 PM

Awesome! Time to close this one down !

Qgil added a comment.Jun 2 2015, 8:10 PM

No worries at all. I said "is it just me" and I meant it. Now it is clear that it was just me indeed. This only speaks for the usefulness of updating tasks with brief comments on the go (had the creation of http://newsletter-test.wmflabs.org/wiki/Special:NewsletterPublishers be mentioned somewhere?). IRC and private messages simply don't scale. Weekly meetings and reports will do the rest.

No need to improve the blog post at this point. Seriously! Moving forward, as you say.