Hi Ned - this sounds like a great project.

I had a look over the Pinecone library and really liked the clean markup and good organisation. It's great that this collection of components has already been validated through use in several projects. I've long felt that there is a gap in our lineup within Fluid, since Infusion has by now come to be a somewhat bulky application framework with a fairly steep learning curve, and we don't have anything clear to offer users who want to get off the ground quickly with a minimal set of progressively enhanced components, especially in the increasingly popular static site context.

Infusion has an odd dual role as an ongoing research project in open application design, together with its actual embedding in various projects and wrapping of components and expression of meta-frameworks such as the preferences framework - this means it isn't the best fit for every project. It's also somewhat expensive to support, so we tend not to solicit further uses of Infusion beyond those which are necessary to support its design. It’s part of our aim in this programme that everyone with the power to use an application should also have the power to adapt it. A long-term aspect of this aim is that even static sites should in practice be editable - sounds crazy, but it has to happen somehow!

It seems likely that Infusion and Pekoe might become complementary further down the line, since the upcoming rewrite of Infusion will be able to make greater use of application and component templates expressed in pure markup.

When you say that Pekoe will be a "vanilla JavaScript component library", I'm guessing you mean that it will largely come to consist of

i) 
https://github.com/platform-coop-toolkit/pinecone/blob/dev/src/assets/scripts/pinecone.js
ii) The module drivers for the various components plus the rollup/webpack config
iii) The component markup

A question I have is - what facilities, if any, you were planning to provide for templating? Is nunjucks, or some parameterisation point, or else, nothing at all, going to be provided in order to connect consumers of the markup to the markup? Given you said "vanilla Javascript" I was imagining you were planning for pekoe to be dependency-free, but it seems like there is something to be done in this area - primarily, what were you planning to factor out of pinecone in order to create pekoe?

Cheers on a great-looking and well-organised library, and I think it would be a great addition to the tools that Fluid supports for accessible web development.

Antranig

On 03/12/2020 18:55, Ned Zimmerman wrote:
Hello all!

Last year, Cheryl, Dana, Jon and I worked on a design system and component library <https://pinecone.platform.coop> for the Platform Co-op Development Kit. We called it Pinecone, drawing a connection between the principles of atomic design <https://atomicdesign.bradfrost.com/table-of-contents/> and the “twin pines” symbol <https://geo.coop/story/praise-pines> that has long been associated with the cooperative movement. We worked to make each Pinecone component progressively-enhanced (when possible) and to support assistive technology users through accessibility best practices.

We learned a great deal working on Pinecone and while the visual design is distinctively that of the Platform Co-op Development Kit, much of the underlying code has been repurposed in various in-house websites at the IDRC: the IDRC’s website <https://idrc.ocadu.ca>, the forthcoming Community-led co-design kit <https://secure-web.cisco.com/1QvuCdvCOiq3X-WkiAwQu6llsXHL6U3jDntZBlaA3CYbEJY8cSZYWuVfh3KydBdXcMgrV2cTxdOP5IZdluU8DgmOMXt_N0gyt3pmGYz5t55aCe_wG0viYq42GqIQrYvf09vL5q82DBx4F-N3ZMNC1s4NYEx7C6xLlbWa4cNx8SX0enTkMmd7eu2ottqGQrJMvwEltt_DPHmh4VpHXrrYlwRubehTXuHGi0LbkIycR6S5QxnLV5ny2BIA5b3fC9bDqN4UL3pezVfdxZ6D09j1yO6Wvi3nKBaS81zu9unqqfrlJ2CY59n32FMR-n2LGLjCttF4JkKfp0PrkIunOFc7TAFCtRqE_O3Mc6j74jTdRbLBDMm1q91OIR51vx3Eio4Bwyl6m8ZyTUeGeHq_1UciG7Jm5ecG44xGPUk6OuRcDsyyF5bwA9PFMDlf-UBQyldefc2hVg4xFZXPK2D1pDmfMsSi5hLbloGEmoPp_0lxn3Jo/https%3A%2F%2Fco-design.netlify.app>, and others.

I’d like to propose that some of the most frequently-used interactive components from Pinecone be extracted into a new, lightweight vanilla JavaScript component library, which won’t include any CSS but will include well-documented guides for integration of one or many components into any web project. I’m thinking we could call it “pekoe”, which fits thematically into the Fluid Project’s naming scheme and is a quasi-acronym for (p)rogressively-(e)nhanced (co)mponents. I’m eager to hear your thoughts!

Cheers,

Ned
_______________________________________________________
fluid-work mailing list - fluid-work@lists.idrc.ocad.ca
To unsubscribe, change settings or access archives,
see https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work

Reply via email to