New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussion: Process composition and nesting UX #170
Comments
Suggested examples to run ideas through, choosing for variety of visual needs:
|
Please see the discussion here: #164 (comment) |
Copied from #164 (comment) What I'm thinking about now is separate UIs for different aspects:
Oh, I also think there's an aspect of the ResourceSpecification/EconomicResource duality that needs to be made more clear in the UI. We need to show that the ResourceSpecification is a category of resource and that it's possible that, in certain circumstances, any of the EconomicResources which conform to it might be substituted for another. There are obviously certain cases like if a ResourceSpecification is 'Alcohol Infusion' and the EconomicResources are 'Tepezcohuite' and 'Mallow' or if a ResourceSpecification is 'Git Repo' and the EconomicResources are 'REA Plaspace' and 'We'. This plays into #37. |
@fosterlynn RE: Garden class of Code A, that's a good use case for thought. We currently don't seem to have a mechanism for specifying recurring plans. I've just heard the thought around keeping a long running process around. There's just the issue of coordinating work on that. To me it seems cleaner to have logic that creates new plans that allow repeating a process on a regular interval. I'm also wondering if maybe there shouldn't be a option for making a template plan (the original plan?) that has a repeating boolean field and an interval field for defining how often it should be done. |
What VF has is recipes, which are not (yet?) in Playspace. They are exactly for creating plans that are the same or similar, where the series of processes will be done frequently enough to make it worth having a recipe. In NRP, we had a way to choose a recipe, an end or start date, the end quantity in case the recipe should be multiplied out, and it generated the plan. (From memory, approximately like that.) Seems like to create recurring plans, we could use recipes, and also have an option to create more than one plan from the recipe if it is recurring on an interval. Maybe sort of like in a calendar, creating recurring events. [edit: Or your idea of a template with a repeating boolean and interval, something like that could work too.] Side note. We also had a request for being able to copy a plan to create a new plan. And a request to create a recipe from a plan.
Agree, that is not the best way to handle a lot of use cases. |
I mean specifically a mechanism for fully specifying the logic of how often and when an event recurs. Using a recipe still pushes that logic off to something outside of the core data model. this is why I mentioned adding:
I would actually suggest having a Recurrence object with a schedule data structure. That object can point to a template plan (for plans more complicated than a recipe, since in the current data model the Recipe is only for creating a specific EconomicResource), proposal (maybe agreement?), or a recipe. |
Yes, true. I hope we could do it as logic, not any new data structure, at least on the plan level.... how would you put events against commitments for example?... but see also below...
Your template idea might fit in the knowledge layer, something to consider when we add a Recipe class. Maybe that is what you meant? That would also support more easily creating plans that contains more than one deliverable, which we will need. (For example, a past requirement was to plan a "campaign" with events, brochures, etc). But I'd suggest we hash the detail out when the need arises and we can work on it with real requirements.
Going back a step, I like a lot of these ideas. Now that we have a runnable Playspace, let's figure out how to leverage that to work with our various user groups and potential user groups to understand a possible roadmap. Maybe we can do it with some kind of simpler prototyping on top of the Playspace too? |
I was thinking that we could at least have a schedule object that could be part of Valueflows since a recurring schedule would seem just as valid as part of the model data as any other date object referenced by hasBeginning, hasEnd, hasPointInTime. The Recurrence object would just we a way of putting that outside of the original object that would recur, but I can see it as completely valid as part of a few other object. Perhaps it could be a hasRecurringSchedule relation that points to a schedule. The schedule object would be something like:
The field
Yes, putting that in a Recipe or something else (perhaps a PlanTemplate or a Plan with an added isTemplate boolean) in the Knowledge layer would be good. What I see happening is that some people will want to have new Plans created with either Intents or Commitments at the intervals created by the schedule. People will then manually transition from Intents to Commitments that satisfy those intents. People will also manually enter the Events that fulfill those Commitments. That way, if the Plans are not done, they will build up and can be a clue of where things are failing.
Cool. I was pretty happy with these breakthroughs. I could see where people were struggling. And this seemed to be the best segmentation of the ideas. I need to work through the tech debt in #168, but after that we can definitely start to prototype things more quickly, since we have most of the data structures. |
This is an issue meant to house some UX ideas centered on processes and process flows, specifically the "nesting" of processes. This has taken two forms, "up" (less detailed) and "down" (more detailed). It is some thoughts that have arisen in recent days, from several discussions, including this, and our earlier experience.
It is NOT meant in any way to imply something we should be coding without actual user input on something we are actively working on!!
Valueflows does not support "down", it supports one level of actually operational processes, i.e. we will do / are doing this. If an operational process is defined such that people feel they need to have events pointing at some internal part of it, then it is probably not defined low enough. Operational processes need to be the lowest level, or there will be duplication of data and confusion on what needs to be done, tracking/tracing, etc.
For "up", VF currently supports Plans, which nest Processes, and Scenarios, which can nest Plans (and other things, but that is other use cases). I think this is worth doing as the need arises, and I think it will arise. For example, when I was putting the data collected in the Simon's Rock garden project (using Leanne's temporary app) into the Playspace, it became apparent that the canvas was going to get very large and very difficult to follow, as it is. Supporting Plans will help a lot (one Plan on the canvas at a time), but by itself, it won't solve a need to get a simpler overview of what is happening and how it all connects.
So I think one thing we will want to consider in the future is to derive at least one level "up" by showing plans and the connecting flows, derived from the processes, and excluding anything that happens just inside the plan. So just show inputs that come from outside the plan, and outputs that go to outside the plan. There will need to be something about finished vs unfinished plans (based on process.finished).
If we find that a user group needs further levels "up", we could experiment with offering Scenario as a way to define that for them.
On the "down" side, while not really "nesting", it will at some point be good to have a Process page, which is more than the current CRUD modal, and would include all related flows. This would be a focused place for coordination among the agents working on one process, perhaps even including chat/discussion (a requirement brought from projects that are adding VF on top of social networking). This isn't nesting, but I think it fits here, and is the way to think about "down". I think all of us are coming to something like this, @adaburrows has sketched a Process level page, and @shanedeeodonnell has also, as part of a thought process of building up from lower pieces of information. We have had a Process page in all of our previous software - and I suspect that even though we didn't have the visualization CRUD building UX, this still is probably a valid unit for a page. We'll hopefully find out with more user group feedback.
The text was updated successfully, but these errors were encountered: