Not sure if you're ready to air out a roadmap discussion in a public forum, but I did have some thoughts on the way zone characteristics are set and wanted to jot them down here. Feel free to comment or criticize as you see fit.
A big selling feature of a smart irrigation controller is that it will adapt and perform optimally on YOUR lawn/landscaping with minimal intervention. Your lawn has different characteristics than your neighbor's therefore the irrigation schedule developed for your lot should be unique. While the current Flex setup takes just about every necessary variable into account to make that unique schedule, it requires a user's understanding of those variables to be accurate. What could be improved upon is the guidance provided to the user to make the right choice when making the setting. Currently, you link to FAQ pages that explain the setting, but it requires a lot of patience to digest the information and make an informed decision, which usually results in a trial and error process. Those that have the time and inquisitive nature enjoy the process, but I suspect the majority are overwhelmed or at least slightly intimidated, which leads to frustration.
This is where I believe collecting some qualitative feedback, completely from within the app, can improve user education and make user input more accurate. Resulting in a more optimal schedule for each users' lawn.
1) Visual Feedback Survey - prompted by phone notifications
primary variable adjusted - MAD %
On a scale of 1-5, how does the grass in Zone A look today?
Based on your feedback, we're going to increase/decrease MAD by X%. We'll check back in next week to see if any improvements have been observed.
If improvement is observed:
Over the past X weeks, you've reported that grass in zone A has visibly improved in appearance. That's great! No need to change a thing. We'll keep checking in every so often and tweaking the schedule based on your feedback.
If no improvement:
After X weeks, you've reported little to no improvement to the grass in Zone A. We suggest doing a catch cup test to see if water is being evenly distributed across the zone (see below)
2) GPS Guided catch cup placement / results analysis
primary variable adjusted - Efficiency % and Sq Footage
GPS based zone outlining through the phone, with fine adjustment made on a map in the mobile app. Mapdevelopers.com has an area finder where this can be done manually. A phone's GPS would allow for a finer calculation and the results would be calculated by the app.
Based on a Zone area of XYZ sq ft, you should place your catch cups here - and either have GPS guide users to the location or display a map showing the approximate cup locations.
Run the zone for X minutes. Enter the results in ml in the app.
Based on your results, we've calculated an zone efficiency of XX% for this zone. This value will be used to adjust watering times to make sure the entire zone receives the correct amount of water. Here are some tips on improving efficiency...
3) GPS Guided moisture readings (for manual moisture sensors) OR wireless moisture sensor integration (plantlink, spruce, etc)
Primary variable adjusted - Efficiency % and/or MAD %
Based on moisture levels you've taken, we've adjusted the Efficiency % (if uneven) or the MAD % (if more uniform) to X%
4) Automated adjustments based on new seed/sod
Does this zone contain any new seed/sod?
Best practice for new seed/sod with a turf type X is to initially water every X days for Y minutes and slowly revert to the durations/frequencies calculated for established turf. Rachio can automate this for you.
5) Automated transition to Rachio scheduling from existing controllers
What's are current run times for each zone? What's the frequency?
Based on your input, we calculate that zone ABC should be run for X minutes every Y days. Since this is a variation from your existing schedule, we will slowly adjust your watering parameters to meet the correct levels over XX amount of days/weeks to avoid shocking your turf.
So that's my 2 cents. If nothing else, it can provide some developer eye-roll fodder in your SCRUM rooms Happy coding!