indentlabs / notebook

Notebook.ai is a set of tools for writers, game designers, and roleplayers to create magnificent universes – and everything within them.
http://www.notebook.ai
MIT License
365 stars 75 forks source link

Generalize Location links #115

Closed T4nky closed 5 years ago

T4nky commented 8 years ago

So, I've noticed that Places has kind of a weirdness. It is only possible to add cities. If you re-title the Cities tab and add parent-regions, sub-regions and landmarks fields, you could make it much better. Also, this solution, while not elegant, is something I could cut my teeth on. A more elegant (and more coding-intense) solution is to change the "Type Of" Field in the Overview section to a drop-down menu that choose whether the Place is a Region, City, or Landmark.

Another thing that I would like to add is put a Notable Citizens field that can have People added to it. Also, a Founder tab would be nice. Again, these are things I can do.

drusepth commented 8 years ago

I think we definitely want to do something with Locations (and probably eventually Items, as well as some other content types) since it's a bit weird it's so specific to cities right now.

Retitling the Cities tab into something more generic (as you suggested) would be a great fix to put in place until we've got something that can act more specific based on the type of location. I think that's definitely something we want to do as well, but I'm not sure the best way to handle multiple location types quiet yet, especially with the current changes to content types coming up.

We definitely want to leave the current links about cities in place though, to make sure no one loses any content, even if they've used them as a workaround just to link to other locations. We'll figure out a way to move them to locations that are actually cities later.

Lets move forward with your ideas if you want to get your teeth cut in:

Seems like a big improvement. I'd check out the relates method on models (and the concern it comes from) to get started. If you want to PM me an email to send an invite to (from reddit is fine), I can shoot you over an invite to Slack so we can answer any questions you have also. :)

T4nky commented 8 years ago

For an alternate name to Parent Regions and Sub Regions, how about "Is part of" and "Includes"?

drusepth commented 8 years ago

I think that works. 👍

Ideally, we should really be using Rails' i18n features so what gets shown for each field is super easy to customize, but we can always add that in later (as I'm sure @Cantido will :P ). Let's do "Is part of" and "Includes" for this, unless you'd prefer "Contains" instead of "Includes" here. Your call.

drusepth commented 8 years ago

Also, I don't know how familiar you are with Rails or Rails migrations, but just wanted to pass along https://github.com/indentlabs/notebook/pull/77/files, which is a pretty good example of what the changes look like to add a single, new relation field (e.g. "Past Owners" to Items, in this case).

I'd look up some basic info on generating rails migrations to add columns if you're not familiar with them, but otherwise it should be pretty straightforward. :)

luminousreaver commented 7 years ago

If I could chime in on how the Location category feels as a user, I would say that I'm not sure what the category is meant to be used for. As it is right now, "Locations" invites me to write about geographical locations and natural features, political territories, public and private institutions, as well as residences... the way things are currently hashed out doesn't feel very one-size-fits-all, if you follow. For instance, the language spoken in a nation or city state makes sense, but it doesn't in a hidden cave tucked away inside a valley. Likewise, Notebook.ai keeps asking me of Pyreflies are native to the Rosenholt Inn. This doesn't really make a whole lot of sense.

I think part of this is an implicit conflation between geographical locations and political (or artificially demarcated) territories. The way nations stand in relation to continents is no different from the way villages stand in relation to continents, but the way nations stand in relation to villages is very different. This weirdness is also reflected in the way things like "The Sodapop Factory," or "The Smith Residence" stand in relation to continents (or planets) and to each other.

To remedy this my most immediate suggestion would be to simply split Locations into Locations (For things like Galaxy -> Planet -> Continent -> Valley/Cave/Island) and Establishments (For things like Kingdoms -> Villages -> Homesteads).

Currently we already have "Groups," which sort of does the job. I don't know if a rename is appropriate or if that's too much for me humble commenter to suggest. "Establishments" could comfortably solve the locations awkwardness and better accommodate groups. "The Death Eaters," "The Sodapop Factory," and "The Smith Residence" all fit even though they're all different kinds of groups/locations. Subgroups/subestablishments allow for things like the "Kingdom of Suchandsuch" to house "The Great Court of Suchandsuch" without stepping on any toes. All in all, "Locations" feels like it should contain information you would find in an atlas. (Biological and geological information. Automatically populated lists of establishments.) "Establishments" consumes "Groups" and allows for greater flexibility and specificity.

I would appreciate it if anyone wanted to weigh in on my thoughts. This would mean that free users would lose a bit of functionality, but maybe you could add some other category in the future to balance things out.

drusepth commented 7 years ago

@Lumireaver you bring up some good points. Locations are definitely a kind of "one-size-fits-all" fit right now that doesn't actually fit all. We'd talked about changing the fields of Locations based on answers to (a dropdown) Type Of field (or specifying scope, size, or another way to specialize it). I think (and you pointed out) there's enough different kinds of locations that a single solution for all of them doesn't quite cut it.

I think the best bet to be able to specialize locations and keep the people/places/things triumvirate in the free tier would be to split out some of the more specific fields from Locations and keep them super generic (while allowing users to create custom fields), and then create new content types for at least:

These don't quite handle kingdoms (and other politically-based locations) or smaller one-off places (like hideaways, individual houses, and caves), so we probably need something to handle them as well. Groups kinds of overlaps with Kingdoms, minus the location aspect of it. Do you think Establishments would be more suited for the former?

(It should also be noted that eventually I'd like people to be able to create their own content types and all but that's quite a bit further off, so a solution in the meantime is worth pursuing.)

I truly appreciate the thoughts. I think locations have easily been the most complex content type to wrangle in, and figuring out how to break out each type of location into a category that properly suits it will definitely be a huge improvement overall.

luminousreaver commented 7 years ago

After some reflection, the unsettling feeling "Locations" stirred in me was certainly caused by the misaimed serendipitous questions that Notebook.ai would send my way. It made me question whether I was using the content category correctly. Sorry if it sounds like I'm repeating myself, but whereas I was just sort of feeling around in the dark before I've put a lot more thought into it now and I'm pretty confident. If I'm understanding you correctly, you want to preserve "Locations" as a content type but are considering additional and separate content types for Regions and Cities? Furthermore, your motivation for keeping "Locations" is purely out of interest for free users?

I think having "Locations" and "Regions" existing in tandem might become a bit redundant. With all due respect, I feel that the breakdown which you've sketched out is roughly the same as breakdown which I have suggested. Here "Regions" stands in for "locations in physical space" and "Cities" stands in for "geographically bound corporate entities." With respect to scale, "Regions" could cover everything from star clusters to castle gardens. (Although I think the "Locations" label is more ambiguous about size and thus preferable. "Regions" feels bigger than "Locations" does. Although this may be a matter of personal taste and I'm perfectly willing to make concessions here.) "Cities", as you've noted, is a bit narrower in its scope and I think "Establishments" addresses its scale problem rather comfortably.

I previously made a short argument concerning why there is a sense in which "Establishments" could be seen as infringing upon "Groups." However for the sake of keeping our content types separate we can use "Establishments" in a more strict sense to refer to the physically bound portion of any given group. Enforcement of this strict sense could be easily achieved though the judicious use of fields and content links. To illustrate, creating a content link in "Establishments" along the lines of "Groups which operate in this establishment:" should express the relation we're aiming to foster well. (Note that on the schema I'm drawing here we could also populate "Locations" automatically with "Groups" through "Establishments" as this relationship logically operates in an "X contains Y, which contains Z" kind of way...)

With all that said, why not consider a quadrumvirate? In reality you're not giving any content types away that you were previously capitalizing on, but splitting an established content type up into two of them. Free users would get Locations, Establishments, Characters, and Items.

Thanks for your response. I'm not a coder or anything, but I'd love to help in any way that I can. One loose end that came to mind while I responding was the "Location" of mobile establishments. Imagine a band of fantasy pirates which permanently resided on board an airship which sailed the globe. (Though I suppose this could be remedied by content linking the "Location of operations" to the planet itself or something along those lines.)

drusepth commented 7 years ago

I think you may have hit the nail on the head with the serendipitous questions, since they're meant to be more "contextual" and understanding of your content, which doesn't quite work with such a generic use of "locations" (and the problems above, e.g. ties to cities and not handling various classes of locations properly). A good intermediary step with the next update may be to temporarily disable a few of the questions for particularly-ambiguous fields on locations.

(And just to clarify, I'd like locations to work well for both free and paid users, although I think it makes sense to strip it down to a more bare, generic multi-use type and add more complex content types for particular kinds of locations for paid users.)

And ha, I'm glad you felt the two breakdowns were similar -- I was merely trying to rephrase what you said in context with other feedback I've received. Regions and locations may indeed be a bit redundant to have side-by-side. I think Locations could take the burden of Regions (omitting the latter), and adding Establishments seems like it'd fit the scope of cities, as well as villages, buildings, and other man-made gatherings. Good call on that. (And I agree -- nesting groups under establishments as "groups operating here" or similar is a great way to draw a distinction between the two.)

Thank you for your response. As the project gets more complicated, more and more eyes are necessary to make sure things progress well, but also to keep the complexity in check. Clearly something has to change with Locations (they've been a pain point in feedback for quite some time), so I'm happy to get some discussion going on how to change them.

I think Locations and Establishments make sense to have side-by-side. For the more one-off geographical things like particular mountains, caves, oceans, lakes, etc -- would you see those fitting under Locations as well?

drusepth commented 7 years ago

Going through a lot of feedback currently, pasting in relevant feedback here (will edit comment as I come across more):

"Under the history tab there is the category notable wars, if it could be changed to include notable events or add notable events as a category. Also, can't wait to have planets added to locations!

drusepth commented 5 years ago

Since users can now fully customize what fields they do/don't have and can link any kind of page from any field, I'm going to mark this closed.