Prototype development - thinking and approach

I would be very grateful for any feedback on this! I’m trying to create an interactive prototype, and I’m not getting the results I expected - so I thought I should try to check my thinking and approach. There is a screenshot of the page outline below. The prototype is pretty buggy, but I published it in case you’d like to see it’s current condition: Untitled Document.

The prototype has maps as the basis, and it’s intended to let the members of a few-hundred person global community know more about each other. The homepage has a map of the world, and gives the user the opportunity to browse or search to discover where other members live and work … and a bit about who they are. Here are the key components of my approach thus far:

search field (Dynamic Panel, single state) - contains the text field where search terms are entered … always visible, unless search term not found (error)

error message (Dynamic Panel, single state) - becomes briefly visible when search term not found

submit button (Dynamic Panel, single state) - created solely for the purpose of letting the user hit return when searching rather than always needing to click on a filtered list item

search data (Dynamic Panel, single state) - contains repeater with search data

site pages (Dynamic Panel) - each state of the panel is a different map with indications about members in that area … I’m starting out with just a World map, a US map, and a Seattle map … the Seattle map has pins representing community members in the area, but only one of the pins is active - letting a user see a brief bio and then extended bio - each a single-state Dynamic Panel.
[ul]
[li]On each map (panel state) I have some annotations that I’d like to appear only the first time the user visits the page - this is one of the several things not working the way I want. I have the annotations grouped, and I’m thinking of that group as a layer … and trying to only show it the on the first visit. Is that a good way to think about getting that result?[/li][/ul]

Am I making gross and silly errors in the way I’m thinking about and building this prototype?! Am I right in saying that the page-load on my prototype happens only once whereas the widgets, items, and panels reload every time they are called? I can imagine wanting to put 6-10 profiles of actual people in this prototype - does that sound reasonable for this kind of thing?

Thanks very much for any feedback!!

Hi Keith, I am also a newbie but I would question the value of a lot of single-state dynamic panels. My understanding is that the usefulness of a DP is in being able to switch between states as you are doing with your map. So for example you could put all of your search-related states into one DP.

To have your annotations appear only the first time you visit each map, you could create a variable per map (e.g. MapVisited_Seattle) and set it to true if you go to that map. Then you can hide/show the annotations depending on whether the variable was set. I’m sure more experienced Axure users will have other and better ideas!

Thanks for the reply Lyns! I was wondering about the single-state dynamic panels choice. Do you know if there is a reason why it’s a bad idea? I could just have them as groups, I suppose. I’m hoping to start getting better at understanding the thinking behind good interactive prototype development. I think you had a good suggestion about combining the 2 search panels into a single panel with 2 states - I did that - thanks!

For some reason, I haven’t been able to get the conditional logic right to display the annotations on only the first visit. Should MapVisited_Seattle be a global variable? Does ‘OnPageLoad’ get executed only once for my file because everything is managed on/via the homepage?

Hello, yes, make MapVisited_Seattle a global variable. I see your prototype has been deleted, and I can’t remember it well enough to make a suggestion for your annotations. If you would like to put it up again I will see whether I can help you.

Hi!

In 7.0 there were many more reasons to create a single-state dynamic panel than there are now that groups exist.

For example, if you want to move multiple objects with a single move command, in 7.0 dynamic panels were your only option: now you can do that with a group. Or you want both the icon and the the rectangle of a button to simultaneously react when moused over: you can now set “Trigger Mouse Interaction Styles” to True on a group (and also have the group handle OnClick).

Groups are easier to edit, since you just click into them, AND you can edit them in the context of their surroundings. That said, here are remaining reasons to use a single-state dynamic panel:

[ul]
[li]A dynamic panel is the only thing you can drag[/li][li]Dynamic panels can scroll; you can’t create a scrolling region in a page with a group[/li][li]Push-pull widgets is confined to the boundaries of a dynamic panel, so you’d use one to limit the scope of push-pull to an area on the page. Push/pull of objects in a group pushes/pulls objects outside of the group as well (which has its own situational advantages)[/li][li]A dynamic panel has its own coordinate system, whereas a group uses the page’s coordinate system. When you are using Move commands on items in a dynamic panel, panel.x and panel.y don’t change; moving an object in a group can change the group’s (x,y) location on the page, so group.x and group.y don’t provide a reliable basis relative placement of the group’s objects.[/li][/ul]

1 Like

Thanks for this helpful post about the scope of push/pull!
I just ran into a problem with push/pull only affecting widgets within a dynamic panel when I enhanced my prototype with nested dynamic panels. After reading your post, I switched from DPs to Groups to achieve the same behavior, but now push/pull moves ALL the widgets below (and outside) of the group. That’s exactly what I wanted!

I wouldn’t have thought to try Groups, instead of DPs, without reading this post.

Cheers!

1 Like