Open tomzemp opened 5 years ago
(They may also have suggestions for other people to talk to.)
Spoke with Michelle Jenije on May 13, 2019:
Primarily using Mechanism Finder App to check against source of truth in FACTS Info and to see the history of a mechanism (e.g. when a Partner says information is not right in DATIM). App allows confirmation that DATIM and FACTS Info are in sync and lets one find when changes occurred.
Miscellaneous Thoughts for Improvements:
2016
FY != COP 2016
)Spoke with Josephine Mungurere-Baker on May 15, 2019:
General
Mechanism/Agency/Partner
Table
Spoke with Celeste Scott on May 16, 2019:
Celeste used app mostly when working on ER Tier II Support to be able to help diagnose problems (e.g. when user can't see a mechanism...probably because of a slightly different name) Mostly using table to look at history.
General
Table
One other thing: Maybe we want additional pages of results?
@benguaraldi @jakub-bao
I've tried to summarize the suggested changes I got from users above into various areas and to attach a subjective priority and level of effort to each. (see below, or I can share in spreadsheet form)
I've also put together these changes in a mockup: https://app.moqups.com/oMElRP3xlk/view . The mockup is conceptual only (i.e. it's not meant to be a mockup for styling purposes, just to show the new functionality/features that would be in the app based on the changes below).
I don't know if you guys want to discuss this together, or take it back to the end users for comments, or just want me to start working on things with the assumption that these changes will be okay, and therefore it's better to have something interactive before talking more?
Task | Priority | Level of Effort | Comments |
---|---|---|---|
Add pagination | Medium | ? | Might be good to pull more data as needed (regardless of whether we implement other changes) |
Add number of days as search parameter | Medium | ? | Celeste mentioned that it's kind of odd that the response is limited to 90 rows, and that it might make more sense to limit it to 30 days in the past (and that it wouldbegood if this were customizable) |
Specify fields to search in | Low | ? | Might be useful to users if they know exactly what they're searching against (e.g. if they know a DUNs begins 123, maybe they don't want to search for Mechanism IDs that have 123). This wasn't currently a big problem though. |
Transform array to object | Low | ? | Might be easier to manipulate if response is an object. e.g. {FY: '2019', ID: '12345'} vs [['FY','ID'],['2019','12345']] . We could also convert array to object on client-side, however. |
Task | Priority | Level of Effort | Comments |
---|---|---|---|
Toggle search options | Medium | Low | If adding in more search options than just Production/Test, it might be good to allow users to toggle these choices |
Specify number of days (UI) | Medium | Low | If adding in option to specify the number of days from FACTS Info, then we will want to allow to control this |
Specify fields to search in (UI) | Medium | Low | If adding in option to limit to search against certain fields of FACTS Info, then we will want to allow to control this |
Task | Priority | Level of Effort | Comments |
---|---|---|---|
Make Mechanism Active Status clearer | Medium | Low | Users thought it should be clearer if mechanism is active |
Add Last Updated date | Medium | Low | |
Add multiple agencies info | Medium | Medium | Josephine mentioned that sometimes a mechanism has more than 1 agency, and it's useful to know this. |
Add agency count | Medium | Low | If adding multiple agencies info, then might be useful to display count of agencies in agency box |
Task | Priority | Level of Effort | Comments |
---|---|---|---|
Stop auto-search redirect when clicking | High | Low | This highly annoys most users and doesn't add much functionality |
Update DATIM info on row click | Low | Medium | The DATIM info corresponds to the first row of the table, so maybe it would be more useful to have DATIM info update when you click a given row |
Delineate Date Groupings | Medium | Low | Put a visual break between the different days of FACTS Info feed |
Always show horizontal scrollbar | High | Low | Most users don't mind the horizontal scrolling, but don't like that the scrollbar is all the way at the bottom of the page |
Make active/inactive consisten | Medium | Low | The app code is converting active (1) inactive (0) by looking at the last "column" of each "row". So dates with more columns beyond active show up as 1/0, and older ones show up as check/x-s |
Highlight Changes | Low | High | Michelle and Celeste are often interested in finding dates when something changed. This might be interesting to (optionally) highlight in the table automatically, but we would need to discuss more about how it should work |
Add option to pull more data | Medium | Medium | If we paginate the response, then we will want to allow user to load more data |
Add filters to columns | Medium | High | Allow user to filter data table (e.g. filter Reporting Cycle column by `2019 COP`) |
Allow users to hide certain columns | Low | High | This would (partly) solve the horizontal scrolling issue, but users pointed out that it would be better if your default preferences got saved |
@tomzemp Thinking about this, I think we want to head for an MVP with the Mechanism Finder, with as many of these features that are low or no additional LOE, at least to start. Do you agree? If so, which features would those be?
Also, I'd be curious if there is a javascript table library or the like that allows "Add filters to columns" and "Allow users to hide certain columns" without much LOE.
@benguaraldi: Sure. I'll defer to you if it's worth it to roll out a react version of the app with minimal feature updates. Celeste, Josephine, and Michelle all seem fine with the existing app, so I'd guess I'd like to deliver some kind of improvement for each of them so they don't just think of the visual changes as extra annoyance.
Backend changes I don't know how difficult this is because I haven't been involved with this in any way. I think these are nice to have and could be handled later.
DATIM information I think updating the DATIM information (what Josephine is most interested in) are doable fairly easily, but maybe I should circle back to confirm with you and @hardingt that it works as Josephine/myself think it does.
Table For the table, I think Celeste and Michelle would be most happy with just getting rid of the auto-click search redirect (which is thankfully easier than having it). Michelle seemed most eager to have a delineation between the dates. This would be easy to implement with an out-of-the-box Material UI Table
They both seemed to be of the opinion that filters/hiding columns could possibly be useful, but it wasn't something they were specifically asking for. Looking around, this library seems the most popular for fancier React tables: https://www.npmjs.com/package/react-table. I think that visually it's "okay". It provides support for filtering and seems to be customizable for hiding columns (FoldableTable
if you search on their npm site) with a bit more work.
Would you like to check this out and see if it's okay for you? If yes, I will look at using this in the app
Filter + general other features: https://nk5yjjvx1j.codesandbox.io/ Foldable columns: https://8pkrj5yorl.codesandbox.io/
@tomzemp The fancy react table looks good to me, though I do agree it could use some styling. @jakub-bao, any concerns with Tom using that table?
Here are the sandbox links:
Filter + general other features: https://nk5yjjvx1j.codesandbox.io/ Foldable columns: https://8pkrj5yorl.codesandbox.io/
I imagine we'll need to write the code that saves the user's state (i.e., which columns are hidden)—is that right? Or does it do that too?
@benguaraldi: we'd need to save the state of the hidden columns, and Michelle and Celeste actually thought it would be more useful if default could be saved to user settings.
I think maybe a MVP would let users hide columns on the fly with react-table and then build out to have the options more explicit and savable?
@tomzemp That sounds like a good MVP. We could also make MVP just the app with react-table without hiding column functionality too.
I guess the next step is to separate these out into tickets and then mark some as MVP?
I've set up some tickets for issues I think are MVP @benguaraldi. If there are some missing, let me know. If you want me to spin out other issues into non-MVP tickets I can also do that
@tomzemp Yes, let's go ahead and make the non-MVP tickets and then close this ticket. Thanks!
Talk with Josephine and Harry to define any changes that they want to see for Mechanism Finder App