Design Improvements: the Hierarchical Data Model vs the Graph-like UX

Thanks! Heading over to the data model…

3 Likes

How is it that Locations are not Records?
More specifically, how is it that Locations are not Records of kind/type: Asset?
The UI in a Farmier instance says “Locations represent places of interest. They are assets”.
Under the menu item “Assets”, Location(s) is not in the list.

(I think this sort of cognitive load/dissonance can be improved, and new users could understand the system much more quickly.)
Thanks!

Matt

1 Like

The Records > Assets menu lists assets by type.

Any asset can be designated as a location, regardless of what type it is.

Some asset types default to locations (meaning the is_location attribute defaults to true). Land assets, Structure assets, and Water assets are all locations by default.

But there’s nothing stopping you from making assets of other types into locations too! :slight_smile:

This might also help: Location | farmOS

From Location | farmOS
“physical location of Assets”.
So a Location is an attribute of an Asset?
If so, then the UI should probably be reworded from “Locations … are assets”?

(This might get a little drawn out and comical, but I’m going to stick with it one step at a time in hopes of either understanding or helping, hoping we’re chuckling together. Many times we don’t document our own early usability testing, and then forget how things were for us before someone explained the intended UI/UX/IA.)
Thanks!

Matt

1 Like

The classic example is
“I am a plumber.”
When we really (hopefully) mean “I am a unique person, and my current career is plumbing.” :slight_smile:

1 Like

Assets have locations which in turn are other assets.

semantically, it is similar to how people have parents which in turn are other people.

1 Like

Quick example, which hopefully helps to illustrate (starting with a fresh farmOS with no records):

  1. Add a “Land asset” to represent your field and draw its geometry: “Field A”
    • Go to Records > Assets > Land and you will see “Field A” in the list.
    • Go to Locations (above Records in the main menu) and you will also see “Field A”
  2. Create an “Animal asset” to represent a cow: “Bessie”
    • Go to Records > Assets > Animals and you will see “Bessie” in the list.
  3. From the list of animals (Records > Assets > Animals), click the checkbox next to “Bessie” and then select “Move asset” from the “Action” menu (and click apply). Type “Field A” into the “Location” field, enable “This movement has taken place”, and click “Move”.
    • In the “Location” column of the animal list, you will now see “Field A”.

Both “Field A” and “Bessie” are assets, because both of them are “things that need to be managed”. They can also be related to one another in various ways, and “moving” assets to other assets is one of those ways.

Hope that helps! :slight_smile:

1 Like

Today’s discussion of how areas used to be separate was helpful; and I’d like to read more & understand that better. Can anyone provide links to any of those old discussions in the forum or elsewhere?

1 Like

Thanks for joining the call @rmattb! I wish I could have stayed on longer to demonstrate more. Hopefully you got to see some of the “temporary geometry” features for things like movable fencing.

Can anyone provide links to any of those old discussions in the forum or elsewhere?

Here are a few related to the v1->v2 upgrade process decisions, specifically, if that’s what you’re interested in:

https://www.drupal.org/project/farm/issues/3182176

https://www.drupal.org/project/farm/issues/3210067

https://www.drupal.org/project/farm/issues/3193669

There’s probably others but that’s a lot to chew on already. :smile:

These are exactly what I was hoping for; thanks!

1 Like