Roadmap 2013

Document status
Status: COMPLETE

How this roadmap was developed
We started with a list of possible things to work on -- things that had been requested by the Growstuff community in the past, come up during our market research and user experience research, discussed on our mailing list, and so on. This was, more or less, a cleaned up version of the "backlog" and "icebox" stories that we keep in Pivotal Tracker to guide our developers' work. This list has already been filtered, to some degree, for "doability" -- we don't include things that are impossible or way outside the scope of the project.

Next, we filtered this list to exclude things that were way too hard, for instance those that had too many dependencies that needed to be met first, or that just seemed impossible to do in the 2013 timescale. We also rearranged and rephrased the feature descriptions to make them more understandable to a lay audience (someone who uses Growstuff but isn't deeply involved in its development).

We wound up with 46 possible things to work on.

We surveyed/interviewed about 30 Growstuff members and asked them about their gardening habits, how they use Growstuff, and about our list of potential features. About 2/3 of them completed the full survey. When it came to features, we asked them to rate each feature from "Strongly disagree" to "Strongly agree" as to whether we should work on this feature.

The results were collated and mixed in with qualitative/anecdotal information from other discussions from the Growstuff community, to come up with the roadmap below.

Survey results
Based on the survey, the top 20 things that people wanted us to work on, in order of popularity, were:


 * Add sun/shade/water needs to crop page
 * Ability to mark a planting as finished (eg. dead, all harvested, etc.)
 * To-do list for future planting/maintenance (eg. feeding, pruning)
 * Add information about pests and diseases of various crops
 * Add propagation methods to crop page
 * Show information about what people near you are growing
 * Show a map of where a crop is being grown
 * Track harvests of produce (eg. 3lb tomatoes)
 * Offer seeds to sell/swap or find seeds that others are offering
 * Wishlist for things you'd like to plant in future
 * Threaded comments on posts
 * Better photo uploading
 * Say what you did with produce (eg. made jam)
 * Add information on companion plants to crop page
 * Expand the range of crops in the system
 * Ability to mark a garden as inactive (eg. moved house)
 * Ability to transplant from one garden to another
 * Track what seeds you have
 * Find members who grow things similar to you (regardless of location)
 * Follow other members

The least popular five items were:


 * Improved site design/visual appeal
 * Let me create my own forum/group
 * Plant "other" crops that aren't in our crop database (eg. houseplants, ornamentals)
 * Post your Growstuff activity to Twitter/Facebook/other social media
 * More/better/more visible RSS feeds

However, it should be noted that on average, all of these came in somewhere between "don't care" and "agree" -- there were no features that the respondents felt should not be worked on, overall.

However, a few items did have some individual "strongly disagree" respondents. These are the features that, in each case, one person "strongly disagreed" that we should work on:


 * Say where you got a plant/seeds from (eg. nursery, from a friend)
 * Buy paid accounts as gifts for other people
 * Improved site design/visual appeal
 * Plant "other" crops that aren't in our crop database (eg. houseplants, ornamentals)

Breakdown by type of use
Last year, when we were first starting out, we came up with four Use cases for Growstuff: Tracking, Sharing, Learning and Trading. You can read more about them at the link above.

When the potential features are broken down by their primary use case, we can see how much our community wants us to work on each use case.

The following table shows that information. The number is based on the "strongly disagree" to "strongly agree" scale:


 * strongly disagree = 1
 * disagree = 2
 * don't care = 3
 * agree = 4
 * strongly agree = 5

The "misc" category included such things as visual design, Internationalization, mobile, APIs, etc.

As you can see, of the four use cases we originally set out, at the moment our survey respondents care most about us working on "Learning" and "Tracking" features, and least on "Sharing", i.e. social uses of the site. However, this is somewhat at odds with feedback we've had in other venues, so we suspect that there may be an element of self-selection at work here: the social users found few social features on the site, and so didn't stick around so much, and weren't there to answer the survey. Or perhaps the social features we suggested in our survey were simply less compelling than the tracking/learning features, perhaps because we've given more thought to tracking/learning so far.

Regardless, the scores are all quite close, so while they can guide us in what features to focus on, there's nothing the respondents hated so much that we shouldn't work on it at all.

Features for 2013
The following is a breakdown of features we hope to work on in 2013, based on survey results, discussions with our community, and an analysis of what we think we can get done in the time.

Improvements to crop pages
Rationale: this is the key "learning" page of the site. An individual crop page (eg. the page for "tomato") should show lots of information to help visitors and members grow that crop. It should also lead into other areas of the site: member pages, forums/discussions, finding seeds for that crop, etc.

What we will do:


 * Expand the range of crops in the system: We will recruit volunteer "crop wranglers" to add more detail to our crops database, including varieties of many kinds of crops, and build tools to help the wranglers do this.
 * We will also modify the way crops are displayed elsewhere on the site to deal with the increased number and make it easier to find what you're looking for. For instance, we may replace the crop dropdown (as seen on the planting form) with a search/suggest box, so you don't have to hunt through a long alphabetical list.
 * Sun/shade and propagation metadata: We will aggregate sun/shade and propagation methods (eg. seed, graft, cutting) from individual members' plantings, and display them on the crop page. ✅
 * Map of growing locations: We will display a map of where the crop is being grown, worldwide.
 * Show harvests: see below.
 * Show seeds available for trade: see below. ✅

Out of scope:


 * Planting times: We want to aggregate this from our member data, as we do with sun/shade and propagation metadata, and display it based on the viewer's location. Eg, "people in your area typically plant tomatoes in February-April". In theory we have the technical ability to do this, however we won't have useful data to display until the site has been running for at least a year.
 * Water needs: we don't know how to gather this information at present, but will keep considering it.

Seed tracking and trading
Rationale: keeping track of what seeds you have is an important "tracking" feature, and also enables our first "trading" feature. Seed swapping is one of the most important ways for gardeners to come together and help each other out. Seed saving is also vital to crop diversity and keeping heirloom varieties in circulation, and we want to help out with that.

Trading seeds was ranked higher than tracking them on our survey, however tracking is required before you can trade them, so we have put these together as one group of features.

What we'll do:


 * Seed tracking: You'll be able to track what seeds you have in your stash, including their "plant before" date, so you won't buy things twice and will remember to plant things before they expire. ✅
 * If you already have seed for something, we'll remind you when you look at that crop.
 * Seed trading: We'll let you mark seed as "available to trade", and say whether you're prepared to trade with people locally, nationally, or internationally. We'll facilitate communication between people who have seeds and those who want them, though we're not going to get involved in figuring out shipping, customs/quarantine, etc -- that'll be between you. ✅
 * See seeds available: when you look at a crop on Growstuff, you'll see who has seeds available. If you're signed in, we'll show people near you, to make it easier to find someone who's prepared to send to you. ✅

Out of scope:


 * Marketplace: just to be 100% clear, we're not going to arrange buying/selling/shipping; that'll be between you to arrange however you want. We expect most people will arrange in-person or by-mail swaps, or send seeds for minimal postage costs, so this should be fine for now.  We may revisit the marketplace idea later.

Improvements to tracking planting
Rationale: Tracking what you're growing is the core feature of Growstuff. We want it to be useful, complete, and pleasant to use. If this feature sucks, the whole site will suffer for it.

What we'll do:


 * Mark plantings as finished: At the end of summer, when all your tomatoes have died off and you pull them out, we want you to be able to say so, rather than having them cluttering up your Growstuff garden or you having to delete them. We'll let you mark a planting as "finished", which could mean you've harvested it all (eg. as with lettuce) or that it's died.  "Finished" plantings will be shown less prominently on your garden page.
 * Mark gardens as inactive: When you move house or give up your community allotment, you'll be able to mark that former garden as "inactive". It'll then get out of your way (no longer appearing in the planting dropdown, for example) and appear less visibly on your profile page. ✅
 * Transplants: stretch goal (see below).

Improve photo uploading
Rationale: It's important that the site be visually appealling to visitors, and photos of crops and harvests are a big part of that. Photos are also important documentation of how a crop grows, what it looks like, and what problems it might have. We want to make it easy for our members to add photos to Growstuff, and display them well.

At present we use Flickr for photos, to save ourselves the trouble and expense of image hosting. We suspect that when many people said they wanted us to "improve photo uploading", they were hoping we'd offer non-Flickr options. We don't think we'll be able to do this in 2013, but are keeping it in mind for later (possibly as a paid feature). Meanwhile, we hope to make our Flickr photo functionality much smoother and more useful.

What we'll do:


 * Improve photo selection from Flickr: we'll let you specify a set or tag, to make it easier to find the photo you want. ✅
 * Add photos to harvests: see below, under Harvests.
 * Choose Flickr photo for profile pic: see below, under Profile/Settings.

Out of scope:


 * Non-Flickr photo hosting: we may revisit this in 2014.

Harvests
Rationale: this is a key "tracking" feature, and is why we grow things. We've wanted to do this from the start.

What we'll do:


 * Track harvests: just as you can currently record what you've planted, we'll let you record what you've harvested. You'll be able to note amounts, which planting(s) the harvest came from, and add pictures. ✅
 * Show on crop page: harvests will be shown on the crop detail page (eg. for "tomato"), alongside plantings. ✅

Out of scope:


 * Uses: a lot of people asked us to work on tracking how you use your harvests (eg. to make jam). We're keen to do this, but it depends on doing harvests first, so will probably have to wait until later.
 * Money: in future, we'd like to help you track the monetary value of your harvests, so you can see how much you're saving by growing your own food. We won't be able to work on this this year, however.

Wishlists
Rationale: when we're not gardening, many of us are dreaming about gardening or making plans. Lots of people asked to be able to track the future as well as the present/past on Growstuff. This addresses that need.

What we'll do:


 * Wishlist: we'll let you mark certain crops as things you would like to plant in future, and annotate them. Our design for this is not yet fleshed out, so we can't be more specific at this point.

Out of scope:


 * To-dos: eventually we'd like to be able to track specific to-do items, with dates when they should be done, and send reminders about them. However we won't have time to get to this in 2013.  We feel that the wishlist is a good start in this direction, however.

Forum/discussion improvements
Rationale: although this is not high on the priority list for our survey respondents, we'd really like to be able to move much of the discussion that currently happens on our Mailing list onto the Growstuff site itself. This would make our development process more visible/transparent to our members, and let more people get involved with building the site. However, to do this, we need to improve the discussion system so that our contributors (coders, testers, etc) can participate as easily as they do via email.

What we'll do:


 * Threaded comments: we'll allow you to reply directly to a comment, and when you do so, we'll notify the person you're responding to as well as the original poster. We'll display comments so that you can see who's replying to whom.
 * Follow a forum or discussion: we'll allow you to follow a forum or discussion, so that you get notifications when something new is posted or when a comment is made. (Note: as email notifications cost us money, we may cap this feature to a usable but not exorbitant level for free accounts.)
 * Improve editor UI: stretch goal (see below).

Social features
Rationale: these were not high on our survey respondents' list of priorities, but we did get considerable feedback when we first launched that people were surprised that we didn't have some of these things. We think it's worth doing a little work on them, in part to keep our more social members happy, and also because social members help us with outreach and getting new members.

What we'll do:


 * Follow other members: we'll let you "follow" members you're interested in. You'll see information from members you follow on the homepage if you're signed in.
 * Make it easier to find members near you: we have this feature (here) but you might not have seen it; we'll make this feature more visible. ✅
 * Show information about what people near you are growing: as well as showing maps on our crop pages (see above), we'll surface this information elsewhere on the site -- perhaps on your homepage and/or on the crop index page (TBD).

Out of scope:


 * Tweet/post to Facebook/etc: some people love this idea and some hate it. We're going to set it aside for now, but by exposing more RSS feeds (see below) we'll make it possible to cross-post to other services if you are so inclined.

Reassurances:


 * We'll make sure you don't get spammed with Growstuff email, and can easily switch off notifications you don't want.

Member profile/settings improvements
Rationale: Growstuff is about people and community as much as it is about plants and food. We want you to be able to see who's using Growstuff and get to know them. We also want you to be able to express who you are (to the degree that you're comfortable doing so) through your profile information.

What we'll do:


 * Add bio and website links to profile page: you'll be able to write a short bio, and add links to your website/blog/etc.
 * Rearrange settings page: we'll rearrange/redesign the settings page to make the sections clearer, rather than one long page of options.
 * Select Flickr photo for profile pic: currently we use Gravatar, which we know some people hate. We'll let you choose whether to use Gravatar or a Flickr photo of your choice as your profile pic.

Visual design/layout
Rationale: The visual design of the site is what people first see when they visit, and people use screenshots and other visuals from our site when they talk or write about us. We want to make a good impression. At the same time, we want to make sure that we're not "all style, no substance". It's a matter of moderation, but we're hoping we can improve things a bit.

What we'll do:


 * Branding: We are currently working with a designer to develop a logo and overall brand for Growstuff. We'll integrate this into the current website, and develop other related collateral.  We'll make our logo and collateral available under a CC license, via this wiki.
 * Layout: We will standardise the layout of pages on the site, to make it easier to find information. In particular, "detail" pages such as member profiles, crop detail pages, planting detail pages, etc will be made more consistent.
 * Style guides: We will write down guidelines for use of our brand/logo and for site layout, and put the documents on this wiki. These will be helpful for our developers and other volunteers, as we develop new site features and have to make sure they fit in with what we already have.

Reassurances:


 * Usefulness is our top priority, not flashiness.
 * We will maintain, if not improve, our current level of accessibility.
 * We will maintain or improve our current level of mobile-friendliness.

Bonuses:


 * There will quite likely be merch/schwag!

Paid accounts
Rationale: Growstuff is 100% independent, open source, and ad free. However, it costs money to run it, and we currently have one full-time person working on it (Skud) who'd eventually like to be paid for her time. We'd also like to be able to further support our volunteers by helping them increase their skills (training, conferences, books, etc) and come together for events such as hack days/working bees/code sprints/seed swaps/etc. To do all this, we need monetary support. Our primary way of making money is by selling paid accounts, so we need to make sure that it's easy to buy an account and that people feel like they're getting something worthwhile when they do so.

What we'll do:


 * Co-gardeners: This will be our first paid-only feature. If you've got a paid account, you'll be able to specify co-gardeners who work on a garden with you: perhaps your family members, or other members of your community garden.  Those people will be able to plant things in your garden, and generally share the ownership of it.
 * Community garden accounts: We want to set up a special class of paid account for non-profit community gardens, to give them access to "paid" features (especially the "co-gardeners" feature, above) without them having to pay for it. Instead, we'll ask our community to buy accounts on their behalf, through the "buy one, give one" program where if you buy a seed account for > $300 on our sliding scale, we will create a second "community" account for a community garden.
 * Monthly subscriptions: in our research earlier this year, we had a number of respondents who said they'd prefer to buy a monthly subscription than an annual or seed account. We'll offer this as an option.

Out of scope:


 * Gift accounts: we probably won't do this this year, except for the "buy one, give one" community account deal mentioned above.

API/RSS/Mobile
Rationale: Since the beginning, we have said that one of the core goals of Growstuff is to gather data about who's growing what where, and make it available to the world under open licenses. At present we offer only rudimentary means to access this data. We want to make it more available/accessible so that people can start building apps, doing research, or using our data in ways we can't even imagine yet.

In the survey, more people said they wanted "improved mobile" than wanted an API (application programming interface). We need to do more research about this, but we suspect that what many people are thinking by "mobile" is "apps". Apps depend on there being an API, and so we need to do the API first before we can build mobile apps.

What we'll do:


 * Develop initial API spec and beta release: we'll consult with our developer community and people interested in building apps with Growstuff data, and determine how best to meet their needs. We'll develop a spec, which we'll post on this wiki, and an initial cut of an official API.
 * Incremental improvements to responsive mobile site: Our website currently uses "responsive" HTML to display on small-screened mobile devices. We will incrementally improve this throughout the year, especially where the layout of any given Growstuff page is awkward on mobile screens.
 * Improve and promote RSS feeds: RSS is one of the building blocks of the open web, and we think it provides not only a handy way to subscribe to news feeds, but also a "glue" to tie together web services (eg. via If this, then that (ifttt)). RSS is, in fact, a rudimentary API.  We already have several RSS feeds on the site, but we want to make them more ubiquitous and more visible, and encourage people to use them for a range of purposes.

Out of scope:


 * Official Growstuff mobile apps: we don't have the skills/time to do this this year, but might be able to consider it in 2014. If anyone else wanted to have a shot at doing this, though, we'd definitely support them!

Pests/diseases
Rationale: this was a very high priority for our survey respondents, but we have to admit we're not quite sure how to go about it yet. There is a choice to be made between creating an official database of pests/diseases (as we currently do for crops), or allowing members to put in their own information and aggregating it (as we currently do for planting guidelines such as sun/shade). We need to consider and discuss this at some length, so while we'd like to be able to do this in 2013, we're considering it a "stretch goal".

Companion planting
Rationale: as for pests/diseases, we're just not sure how to design this, and it needs a lot of discussion. For that reason, we're considering it a stretch goal.

Plant "other" crops
Rationale: Sometimes you plant something that isn't, and will never be, in Growstuff's crops database. For example, "microgreen mix" is not in itself a crop, it's a mixture of crops. Other members have said they'd like to track their houseplants or ornamentals alongside their edible plants. We'd like to offer an "other" option on the planting form for this purpose, but as it's not a very common use case (as far as we know), we haven't set it as a high priority in 2013.

Transplanting
Rationale: this builds on the idea of "finished" plantings: a transplant can essentially be broken down into the idea of finishing a planting in garden A, then copying its data to garden B and letting the owner edit the details. Once we have "finished" plantings in place, we may be able to get to this, but we suspect it will have lots of fiddly details which we don't yet understand.

International/multilingual support
Rationale: we would very much like to import international names for crops from Wikipedia/Wikidata/Freebase/???, however we're not sure we'll get to it in the time.

Improved editor for descriptions/posts/comments
Rationale: We'd like an editor with some buttons to easily insert markdown for links, images, emphasis, etc. However, we just don't know if we'll get to it in the time.

How we'll follow this roadmap
Growstuff is developed by a crew of volunteer open source developers, collaborating with Growstuff members who act as "customers" to test new features and provide guidance on what we should be building. To date, we have had about 30 code contributors, including 4 committers (i.e. lead developers). There are typically 4-6 coders active in any two-week period. One person (Skud) works full-time on Growstuff.

Our development team use Pivotal Tracker to track what we're going to work on next. You are welcome to take a look at the "stories" (i.e. features) we have lined up.

We will put all the features listed above into Pivotal Tracker (most are already there) and estimate whether they are small, medium, or large amounts of work. This is represented by a little icon on Tracker, showing 1, 2, 4, or occasionally 8 bars. Each feature is also tagged "roadmap-2013", which is the "Epic" we're working towards. At the end of the Epic is a milestone, to mark it completed.

We arrange our stories/features by priority, which you can see in the "Backlog" (centre column of the screen). This will give you an idea of what we'll work on first. However, the backlog is quite changeable, and may vary as we decide to work on things sooner or later, depending on interest/availability/dependencies/etc.

The backlog is broken down into two-week "iterations", with a certain number of points worth of work assigned to each iteration, based on our former "velocity" (which you can see in the top right of the screen). Knowing our velocity from the last few iterations helps us plan for future ones. Our velocity for 2013 so far has been 9 points per iteration, on average (or to put it another way, about two large features every two weeks.) However, for much of this time, there was no full time staff on Growstuff, which there now is. We hope we will have a velocity averaging 10 or above for the rest of the year.

With an assumed velocity of 10, the roadmap stories should be completed in early December 2013, which gives a bit of wiggle room for delays, other features that come up, and so forth. We are confident that we can complete most, if not all, of the roadmap features, by the end of 2013. We also hope to be able to at least start on some of the stretch goals.