Grants:IdeaLab/Build/April-July 2014 sprint plan

This is the planning page for the April - July 2014 worksprint we're doing on IdeaLab.

Participants edit

  • Siko - project manager: use-cases, prioritizing, big dreams, herding, copy writing
  • Heather - design: mocks, template-creation, front-end-page-making magic
  • Jonathan - UX: wireframes, interaction spec, bot-herding
  • Jeph - developer: tool-building

Sprint goals edit

  • Make it easier to endorse ideas
  • Make it easier to specify roles for ideas, and to get people to fill those roles
  • Make it easier to create ideas
  • Make it easier to turn ideas into proposals and project plans
  • Create clearer connections between ideas, learning patterns, and various types of proposals

Functionality edit

Endorsing a project edit

Problem edit

Endorsements are a method we use to understand how much community support an idea (/learning pattern/grant proposal) has. However, the workflow and call to action for endorsements is currently manual, the workflow varies across proposal types, and it is not always easy for the user to understand what to do.

Solution edit

An Add Me gadget should make it easier to add someone to a project.

For endorsements, it will accomplish the following:

Make it easy for someone to endorse an idea.
  • User sees an "endorse" call to action
  • When CTA is clicked, pop up box appears with their meta username auto-populated
  • User can also add a free text comment to explain their rationale for endorsement
  • User types 4 tildes, hits save, and their name and comment appears in the endorsements section
  • Total number of endorsements are tallied for display in infobox, linking to endorsement section of the page
  • Page is added to user's watchlist

Joining a project edit

Problem edit

For projects to grow beyond an idea creator, they often need more people with various skills to join them. However, the workflow and call to action for people to join ideas is currently manual, the workflow varies across proposal types, and it is not always easy for the user to understand what to do.

Solution edit

An Add Me gadget should make it easier to add someone to a project.

For joining, it will accomplish the following:

Make it easy for someone to join a project, either in a role specified by the idea creator, or as a general participant.
  • Participant sees a "join" call to action for roles needed
  • When CTA is clicked, pop up box appears
  • User must also add a free text comment
  • User hits save, and their name and comment appears in the participants section, attached to appropriate role
  • The page scrolls and a notification appears that points to their name on the list
  • User's name should now appear below the role in the infobox
  • Page is added to user's watchlist

Specifying roles edit

Problem edit

To make ideas actionable, they often require teams with varied skill sets. We want to connect people and projects using IdeaLab, but the current workflows don't facilitate this. For idea creators, it is difficult to specify what kinds of roles/skills you need to help your project succeed. For people with skills, it is difficult to find projects to get involved in ways that best put your skills to work.

Solution edit

Stickers attached to categories can be developed as a first step for tagging roles (needed or filled) in projects and skills in people. This will provide a foundation for better ways to match people and projects in future sprints. For this print, we're focusing on just building the roles component on ideas. In a subsequent sprint, we'll tackle adding corresponding skills to profiles & matching the 2 together.

A set of predefined tags that users add to their idea make it easy to specify roles for ideas.
  • Users are able to add free text comments next to stickers to specify details related to the role (what type of design or research, for example)

Stickers - set1:

Appears on ideas:

  • community organizer
  • project manager
  • developer
  • designer
  • researcher
  • advisor
  • volunteer
A workflow for adding stickers to ideas makes it easier to find ideas in need of specific roles

Workflow:

  • Idea-creator is given a list of roles that they need for their idea in the Form wizard
  • They can select multiple roles
  • When saved, selected roles are attached to the idea infobox, as stickers attached to categories. There is a clear call to action for another user to “join in this role”
  • Anyone can edit the markup on an idea to add or remove stickers when new roles are needed or old roles are no longer needed (ie, by changing a parameter in wikimarkup)

Creating an idea edit

Problem edit

Creating an idea currently involves a lot of markup, infobox parameters, etc. This presents a barrier to entry - creating ideas should be a structured workflow that is as easy as answering a few questions.

Solution edit

A Form wizard will make it easier to start an idea.

  • User clicks "create new idea" button, first screen has them name their project
  • Second screen gives a few input boxes, with questions above each box (and ideally a spot for "hints" next to each box)
  • Creator enters the requested information, hits submit, and the new wikipage is created
  • When they need to make changes to the page after this, it is ok that they have to edit the raw wikimarkup (though, ideally, we'd let them make changes using the form too...but that's probably much harder!).
  • If additional buttons could be embedded in the created page, this would allow a second form to help them create additional sections, for an idea moving to an IEG proposal, for example.
Design notes
  • The Guided Tours extension seems ideally suited for use as a Form wizard. Using a structured workflow like this will allow us to help people complete all the complex steps necessary to set up a good proposal. It also allows us to "show them around" the Idea page, and suggest next steps. Full spec in progress on the Build/Tools page.

Expanding an idea edit

Problem edit

Ideas are just the start of actionable projects. To move forward, an idea needs community engagement/feedback, a more fully fleshed out project plan, other participants, and sometimes funding. At present, most of these workflows or next steps either don't exist at all, or they aren't very clear: turning an idea into an IEG is a clunky series of steps that confuse people; turning an idea into a PEG, other sort of proposal, or even a generic project plan is non-existent.

Solution edit

A sub page can be generated for the idea-creator after saving their idea, offering suggestions for next steps

This page is linked from the main idea page, and contains the following components:

Share an idea or event:

  • FB & Twitter sharing buttons (like POTY on commons), which give you a customized link containing a message to share about your idea on social media
  • on-wiki announcement template: boilerplate text about your idea that you can post into a noticeboard on your home wiki
  • custom userbox: a userbox for your userpage, which displays the name of your idea and links to it.

Find people to collaborate with:

  • System autopopulates a list of up to 3 people with skill stickers that match the stickers listed as needed on the idea.

Turn idea into project plan:

  • Turn this idea into a project plan (generic version)
  • Turn this idea into an IEG proposal
  • Turn this idea into a PEG proposal

(User is able to click a button to add more sections based on which choice they select, using form gadget to go through structured workflow)

Learn from past projects:

  • A list of predefined learning patterns (we’ll provide this list), with link to “browse more patterns”
A form wizard can be used to expand an idea into proposals or plans by adding a second set of sections to the idea, and making some automagic infobox adjustments
  • User clicks button to turn idea into IEG/PEG, or "other" proposal
  • button loads input boxes to create sections needed for that type of proposal
  • ”other” project plan should have list of suggested sections a user may want to consider adding (Siko can define these. See example of a generic plan in the lab)
  • Infobox fields will need to be changed/added depending on the type of proposal/plan being generated, and the idea page should likely be moved as part of this workflow as well. Will need to give some further thought to this in terms of specifications.

Surfacing learning edit

Problem edit

Learning from past projects can be useful for informing ideas and grant proposals, and is beginning to be captured in the form of Learning Patterns. However, learning is currently disconnected from the process of generating new ideas and project plans - there is no hook to learning patterns from IdeaLab, or vice-versa.

Solution edit

IdeaLab should begin to surface learning patterns in small, contextualized ways
  • Link to Learning Patterns in Idea toolkit page

Milestones edit

APRIL edit

Add me gadget v1 (Endorse functionality)
  • mocks: April 9
  • code complete: April 23
  • production testing/fixes complete: April 30
Infobox template & stickers set1 (Design, non-automated)
  • spec: April 16
  • build complete: April 23
  • production testing/fixes complete: April 30

MAY edit

Add me gadget v2 (Join functionality)
  • mocks: May 7
  • code complete: May 21
  • production testing/fixes complete: May 28
Usability testing (Add me gadget)
  • on-site testing (Wikicon USA): May 30 - June 1

JUNE edit

Form wizard v1 (Basic functionality - create new idea)
  • Heather's mocks: June 13
  • Jeph's code complete: June 27
  • testing/fixes complete: July 3
Gadget deployment (Add-me)
  • live and available for testing: June 20

JULY edit

Gadget deployment (Form wizard v1)
  • production-ready: July 18
Idea toolkit page
  • Heather's redesign: July 15
  • functionality working w/ Jmo's help: July 18
Form wizard v2 (Expansion functionality - turn idea into proposal)
  • mocks: July 18
  • production-ready: July 25
Whole system testing
  • bug fixing, live in production: July 28-Aug1

AUGUST edit

Usability testing
  • on-site testing (Wikimania): Aug 6-10

Out of scope edit

Things that we're leaving out of this particular sprint, but will consider for the future:

Specifying skills on people & matching to roles on ideas edit

A set of predefined tags that users add to their profile make it easy to specify skills that people want to share.
  • Users are able to add free text comments next to stickers to specify details related to the role (what type of design or research, for example)

Stickers - set1:

Appears on both ideas & profiles:

  • community organizer
  • project manager
  • developer
  • designer
  • researcher
  • advisor
  • volunteer

Appears on only profiles

  • committee
  • staff

Ideas for developing stickers set2:

  • event organizer, writer, bot-herder
  • idea scout, idea creator, idea improver
  • grantee (this should be added as a role when ideas move to grants)
A workflow for adding stickers to people's profiles makes it easier to find people with specific skills

Workflow:

  • Profile-creator is given a list of skills that they have, to add to their profile in the profile-creation widget
  • They can select multiple skills
  • When saved, selected skills are attached to their IdeaLab profile, as stickers attached to categories
  • Anyone can edit the markup on a profile to add or remove stickers (ie, by changing a parameter in wikimarkup)
  • Nice to have: edit-intro preload for updating your profile in wikimarkup, with clear instructions.
Surfacing people and ideas according to roles and skills begins to facilitate matchmaking and connections

Workflow:

  • Participant enters IdeaLab and can easily sort by a list of projects needing x skill, and a list of people having x skill.
  • We will feature a set of skills at any given time (people & projects w/ developer stickers)
  • Note: a larger redesign is planned for IdeaLab in the next sprint, so that's when we'd aim to take this on.

Recognition edit

Workflow for using "thanks" feature to thank participants for edits to ideas/profiles (JMo TBD)

Staying up to date edit

It should be easy for people to keep track of what's going on around ideas they're interested in. This will help bring in new participants, and also bring people who are already participating back to the portal.

  • Idea creators (and joiners) should know when someone has joined, commented, endorsed their idea
  • Endorsers should have the opportunity to stay up to date as well.
  • Visitors to the lab should be able to see what's going on in the lab when they visit the front page, the Ideas page, etc
Design notes
  • it would be awesome to have custom Echo Notifications for the lab. Worth exploring, but possibly not feasible. Regardless, a script or bot-based workflow could use the @mention functionality of the current Notification system to make creators/joiners aware when there is a new endorsement, or a new person joins. It would also be useful to let people know when an Idea changes status (for example, becomes a PEG proposal). Not sure how that would work. Happens less often though, and is usually initiated by the idea creator, so perhaps that's lower priority.
  • when you endorse an idea, the page is added to your watchlist. you get a pop-up confirmation afterwards, that lets you know the page was added (in case you want to un-watch it)
  • an activity feed records new ideas, endorsements, joins, and comments. Bot or Lua based, and could accept output from an Add me gadget and a Form wizard. Ideally, we want to come up with a more robust solution than is currently implemented.

Make editing metadata easier without sinking in markup edit

Currently needs editing of a template. However perhaps the same could be done by storing the data (idea creator, status, description) at Wikidata? I think I remember some similar thought — storing data at Wikidata — of Wikipedia infoboxes. (Then editing a page would edit the page, and editing metadata would edit the metadata at Wikidata through a dialog where you can choose status from a dropdown, edit description, etc) (Added by Gryllida 03:33, 19 February 2014 (UTC))

Interesting idea! I'd guess that this would take some additions to Wikidata in order to support this, as I'm under the impression we can't define new metadata types there ourselves. We can explore it, but this may be a longer-term solution rather than something we can accomplish this sprint. If anyone learns anything further about how to do something like this, feel free to add details here! Thanks, Siko (WMF) (talk) 00:13, 20 February 2014 (UTC)

Namespace edit

Make Idea:* a separate namespace? This way people would be able to type "Idea:Foo" and click create, see a preloaded template for their idea. (I would like to see ideas evolve for anything at Meta, not just for grants! --Gryllida 02:43, 19 February 2014 (UTC))

See also edit