akvo / akvo-product-design

Products Design Documents
GNU Affero General Public License v3.0
12 stars 9 forks source link

Show usage to Flow users #265

Closed janagombitova closed 5 years ago

janagombitova commented 7 years ago

Note: This is a summary of multiple discussions, research and discovery work done under the Billing/Usage project

Problem

How can we be transparent about how our users are using Flow in relation to their pricing plan? How can I, as a Flow user know how many forms I have left, from my contract without having to contact Akvo?

Ideal solution

Show the usage of the instance simply and transparently on the instance to the user. Have a system in place that informs the user that they are reaching towards a contract end or overstepping their limit. Have a simple way to purchase more. Have an automated way for Akvo account managers to keep track of contracts and usage of their respective partners.

The solution is consistent across all Akvo products in terms of how it looks, how it interacts and what measures are put in place in the case of contracts reaching the end or contracts that are overstepped or expired.

Solution within Flow

1st step

After the validation of our initial big ideas we agreed that we need to start with the basics: showing the current usage in the tools.

For users

The idea is to create an Admin page where the user (any user) can see the overview of their usage: their plan (name and size); if they have Caddisfly purchased as well; if they have extra forms purchased; start date of the contract; end date of the contract; number of submitted forms and when that number was last updated; how many forms they have left. If the user has gone over their limit, show the number of forms that need to be paid for. Show clearly if the contract is expired.

To be discussed

For Akvonauts

We currently track Flow's usage and contract details in the SaaS overview spreadsheet. This is regularly updated and the place where Akvonauts will use to keep track of things. No changes will be made for Akvonauts in the first step as the goal of this initiative is to show our users their usage.

However, we need to clarify who will keep the contract details up to date. This task can be linked to adding/updating the contract details to each instance.

Next steps

(not ordered by importance or priority and will most likely have their own issue as they need to be tested and validated)

Move from showing the important messages right away, not hidden in the admin view

Move from showing the status quo only to being preventive.

End of contract

Initial design

This design will evolve based on feedback gathered. (from 14 June 2017)

flow_usage_display-2.pdf

janagombitova commented 7 years ago

Even though this does not fall under the initial scope of this feature, Julie has pointed out some interesting needs that I think we should look into in more depth.

https://flowhelp.reamaze.com/admin/conversations/akvoflow-support-request-number-63153-from-julie-at-lifewater-dot-org

1- What can we help you with? I would like to request a feature

2- Who will be using this feature? At Lifewater International, we use Akvo for all our programs and thus receive an immense amount of survey submissions every day. It would be extremely helpful to receive a daily summary email of which forms were submitted and under which programs. If there is any way to currently see this, please let me know.Thank you,Julie WaechterSr. WASH Program OfficerLifewater International

3- How do you want to use it? This would allow us to know which data to download, as opposed to searching through each existing form to see if anything new has been submitted. The "activity" function does not suffice because of the amount of data we receive each day.

4- Why do you need to have it? To save time.

In Lumen user testing the need to monitoring the progress of form submissions came up as well. As a project manager I want to see how many submissions a form has over a course of time

The might also relate to this issue: https://github.com/akvo/akvo-product-design/issues/180

janagombitova commented 7 years ago

Building upon the need: As a project manager I want to see how many submissions a form has over a course of time. we currently have a script that allows us to see the form and number of submissions per that form in total. The script gives a text file with the instance url, form name, form ID, public/private and number of submitted forms.

To summarise we have three user needs in this one issue:

  1. See the total usage of an instance in relation to a contract tier (contract date and pricing tier)
  2. Know total submission for each form
  3. Know submission for each form in a specific time period (either contract tier, or data collection week, or project dates, etc)

All these needs fall under the overall goal to know how many submissions are being made to be able to manage the usage of an instance.

As we have the script for generating the form usage count, we can build on that. We could improve the structure of the file (what we want it to consist of) and built it in as an option for our users to see their usage as an MVP before we move toward the option of seeing the usage and contract details. The users would then get a file of total submissions per form. The question is, where can this live in Flow. As a second step we could have the users to filter on collection date to show the number of submissions per form per period the user defined.

@loicsans; @stellanl and @Kiarii what do you think?

janagombitova commented 5 years ago

In light of the new strategy we have to reconsider what usage statistics we want to generate for our users and what contract relevant info. This will be handled in another issue in another repo, so I am closing this issue. All future work will however be based on this research.