Skip to content
This repository has been archived by the owner on Jul 19, 2022. It is now read-only.

State of CSS TODO #188

Open
6 of 35 tasks
SachaG opened this issue Mar 27, 2019 · 13 comments
Open
6 of 35 tasks

State of CSS TODO #188

SachaG opened this issue Mar 27, 2019 · 13 comments

Comments

@SachaG
Copy link
Member

SachaG commented Mar 27, 2019

Demographics

  • Participation by Country
  • Salaries
  • Average Salary per Country
  • Years of Experience
  • Company Size
  • Source Breakdown
  • Gender Breakdown
  • Job title (how to normalize "other" option?) horizontal bar chart ranking
  • JavaScript Proficiency (waffle/vertical bar chart?)
  • Back-end Proficiency (waffle/vertical bar chart?)

Features Overview Template

  • Intro
  • Overall scatterplot/bubble chart?
  • Top 20 most used (?)
  • Top 20 least used (?)

Features Template

Introduction

  • Make intros shorter

Scatterplot

  • Weird to have % vs absolute units?
  • Add labels
  • Make axes easier to understand

Feature Blocks

  • Use waffle charts?

Units & Selectors

  • horizontal bar chart rankings

Tools & Methodologies

  • Overview (stacked bar chart?)
  • Tool blocks (horizontal stacked chart)
  • Other answers
  • Salary (?)
  • Experience (?)
  • Company size (?)
  • Usage by country (?)

Other Tools

  • Horizontal bar char ranking

Environments

Browsers/Form Factors

  • horizontal bar chart ranking
  • Other options

CSS for Print/Email

  • vertical bar chart/Waffle chart?
  • Other options

Resources

  • horizontal bar chart ranking

Opinions

  • vertical bar chart?

Awards

Conclusion

  • Conclusion
@SachaG
Copy link
Member Author

SachaG commented Apr 22, 2019

Misc questions/issues:

  • why is labelTextColor set on ResponsiveBar props instead of coming from theme?
  • why is font family specified in theme?
  • should years of experience, company size, etc. all be refactored into the same component instead of all having separate files?
  • refactor SalaryPerCountryMapChart and ParticipationByCountryMapChart into same component?

@plouc
Copy link
Member

plouc commented Apr 22, 2019

  • labelTextColor can inherit from bar color, theme or be a static color, that's why.
  • font family is defined in theme because canvas doesn't care about stylesheets :)
  • Maps could use the new @nivo/geo package's Choropleth component

@plouc
Copy link
Member

plouc commented Apr 22, 2019

Refactoring years of experience, company size, … means using an abstract bar component, I'm not sure it's required as nivo already provides the abstraction.

@plouc
Copy link
Member

plouc commented Apr 22, 2019

Regarding labelTextColor, please have a look at this guide (Single color property)

@SachaG
Copy link
Member Author

SachaG commented Apr 22, 2019

Regarding refactoring, I think the biggest thing we're missing is some kind of generic block and component for things like bar charts. Looking at DemographicsSalaryBlock for example, I don't see why it needs to have its own component?

And then same thing with DemographicsVerticalBarChart, it could just be a generic VerticalBarChart?

@SachaG
Copy link
Member Author

SachaG commented Apr 22, 2019

  • Where do we get the tools descriptions (block.sass.description) from? If it's not automated, we might as well remove them?
  • Browsers/Form Factors/resources/etc.: can we combine main options with "other" option in a single chart?

@SachaG
Copy link
Member Author

SachaG commented Apr 22, 2019

  • Is it useful to specify blocks in the raw sitemap for pages like Demographics since we also list them out in the component itself? Isn't that redundant?

@SachaG
Copy link
Member Author

SachaG commented Apr 23, 2019

  • We need to harmonize names between the sitemap and data. For example the sitemap uses company-size but the data has company_size

@plouc
Copy link
Member

plouc commented Apr 23, 2019

Yes, because we wanted to use company-size for urls, but it's not valid in elasticsearch

@SachaG
Copy link
Member Author

SachaG commented Apr 23, 2019

  • It's also a little inconvenient that the data isn't always nested under the same property name. For example salary data is at salary.ranges but source data is at sources.by_source.

@SachaG
Copy link
Member Author

SachaG commented Apr 23, 2019

  • Another related issue: do we want to compute just the data relevant to a single block first and then pass that to the block; or else pass the entire page's data to the block and let it extract the relevant data? Currently we're doing approach Interactive results visualization / work in progress #2 but it feels a little messier maybe…?

@plouc
Copy link
Member

plouc commented Apr 23, 2019

We could use the same terminology as elasticsearch which use the buckets property, but I liked to have more meaningful names :) It might be easier when consuming the data for a single chart, but when manipulating it, it's really unpractical

@plouc
Copy link
Member

plouc commented Apr 23, 2019

I prefer the first approach, isolating the block's data, unless we have blocks which depends on each other

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants