ropensci / ozunconf19

OzUnconf19
http://ozunconf19.ropensci.org/
21 stars 5 forks source link

πŸ‘©β€πŸŽ¨πŸŽ¨πŸ‘¨β€πŸŽ¨ Package design collaboration corner #19

Open mitchelloharawild opened 4 years ago

mitchelloharawild commented 4 years ago

The design of a package and its functions can be particularly difficult. At tidyverse developer days there is a table for design Q&A, and I think something similar could be useful at the ozunconf.

:+1:

There are some suggestions on what good package design looks like (https://design.tidyverse.org/), but there is no such thing as the 'correct' design. Choosing between design options often needs a second, third or many more external opinions to get the best outcome.

A (relatively minor) example of design decisions is for the gghdr package (#3):

Should the boxplot geom be called geom_hdr_boxplot() or geom_boxplot_hdr(). When thinking about adding a hdr boxplot geom to a plot, do people first think about...

  • adding a boxplot (and seeing possible options, such as a normal boxplot or a hdr boxplot)
  • adding a hdr object (and seeing possible options, such as a boxplot, or a rug, etc.)

There are a few ways I can see this working in an ozunconf setting:

(I mention collaboration corner because this is how it is ran at the tidyverse dev days, but I don't think it works for this event as participants likely want to work on their selected projects!)

stephstammel commented 4 years ago

Love this idea Mitch!!!!

Human centred design is incredibly useful. Maybe we can dedicate morning tea to the discussion? @JohnOrmerod and @emitanaka what do you think?

njtierney commented 4 years ago

I love this idea a lot!

In addition to a morning tea / lunch discussion like Steph suggested, I also vote for Mitch's suggestions:

smwindecker commented 4 years ago

Very interesting! I did like at the dev day that there was always somewhere you could go to confirm style and format... though more crucial when adding to existing packages than when creating new ones, it is still nice to imagine a reference point for consistent strategies.