Giter Site home page Giter Site logo

Comments (13)

smoyte avatar smoyte commented on June 14, 2024 2

Today in the TSC call the question of the 'Add New Group?' modal came up, and whether we should get rid of it, and how that relates to these changes. After reviewing things I am thinking the following:

First: If we're going to maintain the left-to-right swipe metaphor/technique, I think the modal is a pretty good solution to the problem of how to prompt for adding a new repeat item. I can't think of any way of getting the user up into the jump screen to add a new item that wouldn't be jarring and confusing.

Second: We might want to add an option to automatically insert the first item. It seems in the vast majority of cases you're going to want at least one item, and I think it would be less jarring to the user then because they'd know they are already entering data about e.g. people, so the request to add another person makes sense. The way it is now, the first you hear about "people" is an abrupt and slightly cryptic modal.

For those rare cases where you don't want at least one repeat item, we could perhaps add an item to the question view dropdown for 'Delete present repeat item', which would then just dump you into the next question after the repeat group. (Or folks could use the new trashcan icon, but then they'd have to do a few clicks to get back to the question view in the right place.)

Third: It would be nice to spiff up the text in the repeat. Right now it says e.g. "Add another 'People' group?" Yikes! If we had some way in the XForms spec of specifying the noun or even the full string here, that would make things a lot more usable. So it could instead say "Add another person?" (noun-only version) or something totally custom like "Are there any more people in this household you'd like to interview?". For nested repeats it would be nice to be able to mention the parent item, like "Does Sally have any more pets?" The modal title is currently "Add New Group?" or "Add One More Group?" I think there is a title just by convention, but it's very similar to the body. I think it could be nixed.

If folks agree with this approach I could incorporate it into this proposal or do a separate one. Might be nice to include it since it's relevant.

from roadmap.

lognaturel avatar lognaturel commented on June 14, 2024 2

I think it would be helpful to consider the changes to the repeat dialog separately. Those will require specification amendments and I don't think it needs to block progress on the other UX changes.

There is deep in JavaRosa and early form specifications the concept of a "repeat juncture" - https://forum.opendatakit.org/t/change-static-text-in-groups-prompt/1505/ that allows for more customization. That might be something to look into and perhaps we could use just jr:addCaption for customizing the existing dialog.

from roadmap.

lognaturel avatar lognaturel commented on June 14, 2024

We might want to add an option to automatically insert the first item.

Take a look at XLSForm/pyxform#182 for an explanation of why a first item doesn't show up for forms created with XLSForm (it's because jr:template always gets included) and a possible way of addressing it. We're currently thinking of always including a first instance in addition to the template instance.

from roadmap.

smoyte avatar smoyte commented on June 14, 2024

Just noting here that there have been several mentions on the forum in support of having a new screen in the question flow "between" repeat items that could be used to manage same. I am still not convinced of this approach (I still think some kind of sidebar or flyout would be better) but in any case I see it as orthogonal to what has been proposed here. The two could end up being complimentary, and I think what's being proposed in the forum is quite more involved than the changes here.

I suggest we continue with this plan and then discuss next steps when it's done.

from roadmap.

smoyte avatar smoyte commented on June 14, 2024

One thing I just realized it would be nice to squeeze in here: right now I think a repeat group doesn't show up in the jump screen if it has no instances. How hard would it be to change that?

from roadmap.

jd-alexander avatar jd-alexander commented on June 14, 2024

One thing I just realized it would be nice to squeeze in here: right now I think a repeat group doesn't show up in the jump screen if it has no instances. How hard would it be to change that?

@smoyth I was wondering about that as well because I have utilized other mobile form solutions where repeat groups without instances still show up with its title and description along with an Add New Item button.
I realized there's a + icon in the UI to add a new item to the repeat group. Would attaching it to that functionality suffice?

from roadmap.

jd-alexander avatar jd-alexander commented on June 14, 2024

@smoyth I was looking at your mockups and I realized a comment about sibling to sibling navigation for the transition effect that takes places from a question row to the form input screen. I am not sure if that transition would work well with questions based on the examples I have seen of it where the transitions primarily take place with elements that are on the same hierarchy such as tabs but in this case I think a parent to sibling transition is being taken place and that animation seems a bit more fitting. Let me know what you think and if you have any examples of the sibling to sibling effect that would demonstrate its fit.

from roadmap.

jd-alexander avatar jd-alexander commented on June 14, 2024

In terms of the new proposed way of navigation based on my analysis of the existing code and what needs to be done this is the first approach that comes to mind.

  1. When the FormHierarchyViewActivity loads the hierarchy and a repeat group is clicked, the current group can then be center of focus and the refreshView functionality just does a reload that clears out the HierarchyElement collection binded to the list and adds only the items that are within the group itself.

  2. A whole new Hierarchy screen could be launched so that it's extremely clear that navigating to a repeat group goes to a seperate screen. This would utilize some of the ideas from number 1 where the Hierarchy list would simply load items within the group but the collapsed and expanded functionality would be removed.

I think utilizing the (2) second approach is what's best because we are able to utilize Android's navigation stack easily by adding a new activity to the stack.

The only advantage of (1) would be the ability to only change a portion of the screen without having to do a full navigation and the list animations would be smooth.

from roadmap.

smoyte avatar smoyte commented on June 14, 2024

@jd-alexander

Regarding empty groups -- I'm not sure I quite understand your comment. The + would appear on the screen for the repeat group. But we can't even get to that screen if there are no instances, since the group doesn't show up at all. If we made it show up, then when you tap on it, it would go to a screen saying e.g. 'There are no items in this group', then you could use the + button to add one.

Like this: https://app.moqups.com/sassafras/4WPu8QH3er/view/page/aa2a74b83

from roadmap.

smoyte avatar smoyte commented on June 14, 2024

@jd-alexander Regarding transition animations I trust your judgement here.

from roadmap.

smoyte avatar smoyte commented on June 14, 2024

@jd-alexander Regarding the implementation directions, I'm not that familiar with the code but just based on your comments #2 sounds better to me. I would expect that the expand/collapse should go and whatever happens when you go from a repeat instance view to the top-level view should also happen when you now go from repeat instance view to repeat group view. They are all just steps on the hierarchy. Unless I am missing a big piece of knowledge here...

from roadmap.

jd-alexander avatar jd-alexander commented on June 14, 2024

No you aren't missing anything. You are right on the ball!

from roadmap.

shobhitagarwal1612 avatar shobhitagarwal1612 commented on June 14, 2024

Closed in getodk/collect#2740

from roadmap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.