Language-Mapping / language-map

Front-end codebase for Language Mapping web map
https://languagemap.nyc
MIT License
6 stars 4 forks source link

Popups/Info View: create initial design #23

Closed abettermap closed 4 years ago

abettermap commented 4 years ago

Summary

This can be just a wireframe, whiteboard, CodePen demo if it's super easy, or even a text outline, but let's get something in place before any heavy coding.

Intent

The plan at the time of writing is to:

  1. Use standard popups with basic info (language name + another field or two) as a landing/gateway (via a View details button or similar) to a much more detailed view.
  2. ...which will contain all the other goodies. The bulk of this issue will involve organizing said goodies into a meaningful, clean, intuitive, aesthetic UI.

UI structure and ideas

Even with a well-organized UI there is a lot going on, so we need to choose how to display it carefully.

Content

Just a rough suggested organizational outline at this point, mainly based off the details found in the Schema/Requirements. The UI is in very early stages largely confined to that sheet so far, so let's instead add to this issue as we go along.

Intro

Centered text, with Heading the largest in the view.

Classification info

Hopefully a better section title, but these ones:

Stats

This section, focused on class-based and/or quantitative-ish info, is just part of Jason's mental UI grouping, but developers might not exactly represent the general user base 😄 . So, let's modify/juggle as needed.

Where spoken

Hopefully a better heading than that, but basically the global-ish info:

Local geography

Less exciting than the other sections, although neighborhood may be more important than the others. If these fields are used then maybe display in a smaller, more subtle manner and/or put it further down the view.

Media

Description

Description can be quite large, so put it at the bottom of the view and make it collapsible at ~100ish characters with a standard Read more... to toggle the remainder. Determine if <a> or other HTML will be included and, if so, set dangerouslySetInnerHTML on the React component.

Sharing

We haven't discussed social sharing too much but if routing does get implemented at least at a per-feature level then we could take advantage of the shareable nature with a "Share this" section for various platforms. This is not in the SOW though, so (assuming there is interest) treat as a wishlist item.

Examples

Example from COVID project:

image

Example from SBHT popup (click More Info button at top left):

image

rperlin-ela commented 4 years ago

Looks great, and if I understand right now describes what will appear in the Details panel. We might not want to squeeze everything in there, but let's put it all in at first if possible and whittle down from there.

Re: sharing, wishlist makes sense, but this would be stellar. I could see a lot of people wanting to share their community/dot, which could drive lots of traffic to the map.

abettermap commented 4 years ago

Awesome. I’m confident I can fit all the important stuff without crowding. Some sections may need to be expanded via click if it’s too busy, but I’ll see how it’s looking before I resort to that.

I don’t think the UI part of the sharing would take terribly long, but there are some things I’ll need from you regarding what appears in the sharing previews (the little auto-generated content when you post a link). Basically the name/title of the post and the description/summary, and an image to use (can be a screenshot of the map perhaps).

Unfortunately a server and setup are needed to make it truly dynamic (e.g. a post preview description based on selected feature details), but we can at least have a catch-all blanket blurb and title.

Can explain more if not clear. Belongs in a new issue though I’d say.

rperlin-ela commented 4 years ago

Ok, ready to work on this whenever, seems like a much later step.

abettermap commented 4 years ago

Yeah no hurry. Made an issue: #55

abettermap commented 4 years ago

closed by #69