stem

Systematic approach for wettability prediction using molecular dynamics simulations

Soft Matter, 2020, 16,4299-4310
DOI: 10.1039/D0SM00197J, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Ahmed Jarray, Herman Wijshoff, Jurriaan A. Luiken, Wouter K. den Otter
An efficient approach for fast screening of liquids in terms of their wetting properties.
The content of this RSS Feed (c) The Royal Society of Chemistry





stem

There Is No Design System

Jina Anne silences the night to talk about how we talk about Design Systems. Can the language we use impact the effectiveness of the solution? Fear not, if mighty dread has seized your troubled mind. Design systems of great joy we bring to you and all mankind.


Ooh, clickbaity title. Why on earth would I, a self-proclaimed “design systems advocate”, say there is no design system? Yes, I’m being a little tongue-in-cheek. Maybe I just wanted an excuse to use the “there is no spoon” gif. But I do have an actual point, so bear with me.

Design systems as a “thing” vs design systems as a methodology

Recently I tweeted my thoughts on why I have been tending to use design systems in plural form (rather than using an article like “a” or “the” in front of it). During my time at Salesforce when our team was called “Design Systems” and my role was “Lead Designer, Design Systems”, I would get asked “Why is it plural? We only have one.”.

My thoughts:

Lately, I’ve been thinking a lot about the way we talk about design systems, including the confusion and negativity that can come along with it. Amélie Lamont gave a talk in 2018 called “The Language of Design”, and in it, she talked about the way we talk about design systems and design itself from a “jargony point of view”. She argues that design is technically problem-solving.

I definitely agree. People get caught up in “design” as the actual role or action of designing and have even taken issue with the term “design systems” for this very reason (and have suggested it be more focused on code). I don’t think it really does us a good service to just swap out one role for the other. And… is it even about the role?

For other folks, which I include myself, we see design as a larger effort that involves the end-user experience (which includes usability, accessibility, performance, etc) as well as having a huge impact on the business. This includes code.

But really, it should all be focused on people. I like Mina Markham’s definition of what makes for good art direction in design systems:

Art direction is progressive. Localized. Cross-functional. Inclusive. Systematic.

Mina Markham

You’ll notice that the emphasis of what she speaks about is on people.

So in the design systems work we do, you often think of a style guide. Or a component library. Or a Sketch UI Kit. And there are arguments on whether either of those things can be called a design system if it doesn’t include this other thing or that other thing. We even talk about whether design systems are products or are more of a service. My take? The word “design” and “system” used in combination together literally just means to systemize your design (and in my world view that is more about the overall experience). And so if for you that means a Sketch UI Library, then you do you! My point is I think there is too much focus on the deliverables in the first place.

I touched on this briefly very recently:

Something I’ve been thinking a lot about is how much time we spend on making beautiful design system websites. I love looking at them. They’re great. But as our design and engineering tools get closer and closer together, will we come to a point where we don’t need the website? Can our tools surface suggestions for better accessibility, localization, performance, and usability, because our design system is baked into the tools? Just a thought.

Quote from post in Smarter Design Systems Tools

Invisible Design Systems?

So this is something I am striving for in 2020 — in what ways can we improve our collaboration, remove any proverbial gaps between design and engineering (not just bridge them), and have more meaningful conversations around the work we do? I don’t have any wrong or right answers here, but I am looking forward to seeing this progress in our field.

Design tools are bringing in smarter, automated ways to check for color contrast and other accessibility issues that can be detected early on. Sketch just announced their Assistant feature planned for 2020, which will check for your visual design discrepancies. And some design tools are using real code to be used in your product.

Engineering tools are advancing every day as well. I was just attending Flutter Interact recently, which was an event held by Google about their Flutter UI toolkit. It previously enabled you to get apps built for native platforms like Android and iOS, from one code base, and now has also announced their support for desktop and web. The push at this year’s event was focused on making this approachable for creatives (with their integrations into tools like Adobe XD. It really does feel like design and engineering tools are coming closer and closer together. And that’s all really cool and exciting.

However, I have to tell you: a lot of the time that I’m working in design systems, I’m not even touching a design tool. Or coding. Rather, it’s a lot of people-focused work: Reviewing. Advising. Organizing. Coordinating. Triaging. Educating. Supporting. That’s a lot of invisible systems work right there. (I use “invisible” here to mean there is not a direct tangible object in some of this work, though it all does serve the end-user through the product outcomes).

Designed objects are the fruit of invisible systems.

Amélie Lamont

This definitely is not me saying “don’t build a style guide” or “don’t make a Sketch UI Kit”. Use whatever works best for your organization. But this essentially is a plea to always put the focus on the people using your products. And, think about design systems as more of a methodology. A shining example of this way of designing systems is the newly released Encore from Spotify. I had the opportunity to see this revealed at Design Systems London, and they just published a post on it recently.

What’s different about Encore is that it isn’t a single monolithic thing. It’s a framework that brings Spotify’s existing design systems under one brand—a “system of systems.”

Source: Reimagining Design Systems at Spotify

This design systems work is not about one style guide website and instead focuses on the needs across several systems that are connected. Design Tokens help this to be a reality. Needless to say, I’m a big fan.

Love for your community

When you’re doing design systems work in your organization, you are actually building a community. This can involve shared language and nomenclature, an aligned purpose, and better, closer collaboration. It doesn’t have to be a “style police” situation (I actually very much dislike the term “governance”). This can be a joint effort – working together to share the ownership of design systems together.

I was a big fan of the pairing model that we had at Salesforce when I was there. The work we did in design systems informed the work our product designers did. But then the work that the product designers did, in turn, informed the work we did in design systems. It was a very cyclical model and combined Nathan Curtis’s observed models of the Centralized Team and the Federated Contributors.

From my experience, I have found that great design systems teams have hybrid skillsets. Whether that is having actual hybrid designer/engineers on the team, or just ensuring that those skillsets are represented across the team, it’s important to have the perspectives of design, engineering, product, content, accessibility, and more.

I think that part of a designer’s role – and not even a designer. Anybody who uses the design system by nature of what a design system is – it’s the conglomeration of all the disciplines. Some code, some design, some product knowledge, some writing. And what that means is I think everybody on the team has to approach it with some humility.

Dan Mall

Kim Williams spoke recently in her talk, Start with your Brand Purpose, on Design Systems Love:

Love is patient. With design systems, …it’s a marathon and not a sprint. …this is a long game and it is a labor of love. And love is kind. We support everyone through change. Internally change is so hard. How do you help engineers work in a different way, how do you help PMs think strategically and embrace a new definition of analytical, how do you make in-roads with marketing so that they’re comfortable with you talking about brand and that you’re comfortable with marketing talking about user experience? How do you really, really build those relationships up through empathy. …the onus is on us to educate, to facilitate, to help others understand, to speak the language, to be that bridge, to be that connector, to be that catalyst for our companies. It always trusts, always hopes, always perseveres. Never fails. I love this because there’s a resiliency that we need to have, a resilience when we go through this.

Kim Williams

I love, love, love that.

And so while I still think it’s fun to explore new tools and get really excited about certain processes, at the end of the day, (in my most humble opinion), the best design systems teams are not just hybrid teams — they are also teams that work and supports each other really well, thus producing amazing user-centered work.

So, my suggestion for the coming year is to perhaps move away from thinking of design systems as an actual thing (especially when it comes to the negative perception of spending time on them) and more as a way of working better, more efficiently, and more creatively so that we can build great experiences for our users. I like to repeat in my work, Design Systems are for people, because it is a call to cherish, support, and empower the people you serve (both internally and externally).

Happy holidays!


About the author

Jina is a design systems advocate and coach. At Amazon, Jina was Senior Design Systems Lead. At Salesforce, she was Lead Designer on the Lightning Design System. She led the CSS architecture and style guide for the Apple Online Store. She’s also worked at GitHub, Engine Yard, Crush + Lovely, and Memphis Brooks Museum of Art, and more. She developed projects with W3C, Mass.gov, FedEx, etc.

Jina coauthored Design Systems Handbook, Fancy Form Design, and The Art & Science of CSS. She’s published several articles. She’s spoken at conferences including Adobe MAX. Print Magazine featured Jina as a leading San Francisco creative.

More articles by Jina




stem

Four Ways Design Systems Can Promote Accessibility – and What They Can’t Do

Amy Hupe prepares a four bird roast of tasty treats so we can learn how the needs of many different types of users can be served through careful implementation of components within a design system.


Design systems help us to make our products consistent, and to make sure we’re creating them in the most efficient way possible. They also help us to ensure our products are designed and built to a high quality; that they’re not only consistent in appearance, and efficiently-built, but that they are good. And good design means accessible design.

1 in 5 people in the UK have a long term illness, impairment or disability – and many more have a temporary disability. Designing accessible services is incredibly important from an ethical, reputational and commercial standpoint. For EU government websites and apps, accessibility is also a legal requirement.

With that in mind, I’ll explain the four main ways I think we can use design systems to promote accessible design within an organisation, and what design systems can’t do.

1. Bake it in

Design systems typically provide guidance and examples to aid the design process, showing what best practice looks like. Many design systems also encompass code that teams can use to take these elements into production. This gives us an opportunity to build good design into the foundations of our products, not just in terms of how they look, but also how they work. For everyone.

Let me give an example.

The GOV.UK Design System contains a component called the Summary list. It’s used in a few different contexts on GOV.UK, to summarise information. It’s often used at the end of a long or complex form, to let users check their answers before they send them, like this:

Users can review the information and, if they’ve entered something incorrectly, they can go back and edit their answer by clicking the “Change” link on the right-hand side. This works well if you can see the change link, because you can see which information it corresponds to.

In the top row, for example, I can see that the link is giving me the option to change the name I’ve entered because I can see the name label, and the name I put in is next to it.

However, if you’re using a screen reader, this link – and all the others – will just say “change”, and it becomes harder to tell what you’re selecting. So to help with this, the GOV.UK Design System team added some visually-hidden text to the code in the example, to make the link more descriptive.

Sighted users won’t see this text, but when a screen reader reads out the link, it’ll say “change name”. This makes the component more accessible, and helps it to satisfy a Web Content Accessibility Guidelines (WCAG 2.1) success criterion for links which says we must “provide link text that identifies the purpose of the link without needing additional context”.

By building our components with inclusion in mind, we can make it easier to make products accessible, before anyone’s even had to think about it. And that’s a great starting point. But that doesn’t mean we don’t have to think about it – we definitely do. And a design system can help with that too.

2. Explain it

Having worked as the GOV.UK Design System’s content designer for the best part of 3 years, I’m somewhat biased about this, but I think that the most valuable aspect of a design system is its documentation.

(Here’s a shameless plug for my patterns Day talk on design system documentation earlier this year, if you want to know more about that.)

When it comes to accessibility, written documentation lets us guide good practice in a way that code and examples alone can’t.

By carefully documenting implementation rules for each component, we have an opportunity to distribute accessible design principles throughout a design system. This means design system users encounter them not just once, but repeatedly and frequently, in various contexts, which helps to build awareness over time.

For instance, WCAG 2.1 warns against using colour as “the only visual means of conveying information, calling an action, prompting a response or distinguishing a visual element”. This is a general principle to follow, but design system documentation lets us explain how this relates to specific components.

Take the GOV.UK Design System’s warning buttons. These are used for actions with serious, often destructive consequences that can’t easily be undone – like permanently deleting an account.

The example doesn’t tell you this, but the guidance explains that you shouldn’t rely on the red colour of warning buttons to communicate that the button performs a serious action, since not all users will be able to see the colour or understand what it signifies.

Instead, it says, “make sure the context and button text makes clear what will happen if the user selects it”. In this way, the colour is used as an enhancement for people who can interpret it, but it’s not necessary in order to understand it.

Making the code in our examples and component packages as accessible as possible by default is really important, but written documentation like this lets us be much more explicit about how to design accessible services.

3. Lead by example

In our design systems’ documentation, we’re telling people what good design looks like, so it’s really important that we practice what we preach.

Design systems are usually for members of staff, rather than members of the public. But if we want to build an inclusive workplace, we need to hold them to the same standards and ensure they’re accessible to everyone who might need to use them – today and in the future.

One of the ways we did this in my team, was by making sure the GOV.UK Design System supports users who need to customise the colours they use to browse the web. There are a range of different user needs for changing colours on the web. People who are sensitive to light, for instance, might find a white background too bright. And some users with dyslexia find certain colours easier to read than others.

My colleague, Nick Colley, wrote about the work we did to ensure GOV.UK Design System’s components will work when users change colours on GOV.UK. To ensure we weren’t introducing barriers to our colleagues, we also made it possible to customise colours in the GOV.UK Design System website itself.

Building this flexibility into our design system helps to support our colleagues who need it, but it also shows others that we’re committed to inclusion and removing barriers.

4. Teach it

The examples I’ve drawn on here have mostly focused on design system documentation and tooling, but design systems are much bigger than that. In the fortuitously-timed “There is No Design System”, Jina reminds us that tooling is just one of the ways we systematise design:

…it’s a lot of people-focused work: Reviewing. Advising. Organizing. Coordinating. Triaging. Educating. Supporting.”

To make a design system successful, we can’t just build a set of components and hope they work. We have to actively help people find it, use it and contribute to it. That means we have to go out and talk about it. We have to support people in learning to use it and help new teams adopt it. These engagement activities and collaborative processes that sit around it can help to promote awareness of the why, not just the what.

At GDS, we ran workshops on accessibility in the design system, getting people to browse various web pages using visual impairment simulation glasses to understand how visually impaired users might experience our content. By working closely with our systems’ users and contributors like this, we have an opportunity to bring them along on the journey of making something accessible.

We can help them to test out their code and content and understand how they’ll work on different platforms, and how they might need to be adjusted to make sure they’re accessible. We can teach them what accessibility means in practice.

These kinds of activities are invaluable in helping to promote accessible design thinking. And these kinds of lessons – when taught well – are disseminated as colleagues share knowledge with their teams, departments and the wider industry.

What design systems can’t do

Our industry’s excitement about design systems shows no signs of abating, and I’m excited about the opportunities it affords us to make accessible design the default, not an edge case. But I want to finish on a word about their limitations.

While a design system can help to promote awareness of the need to be accessible, and how to design products and services that are, a design system can’t make an organisation fundamentally care about accessibility.

Even with the help of a thoughtfully created design system, it’s still possible to make really inaccessible products if you’re not actively working to remove barriers. I feel lucky to have worked somewhere that prioritises accessibility. Thanks to the work of some really brilliant people, it’s just part of the fabric at GDS. (For more on that work and those brilliant people, I can’t think of a better place to start than my colleague Ollie Byford’s talk on inclusive forms.)

I’m far from being an accessibility expert, but I can write about this because I’ve worked in an organisation where it’s always a central consideration. This shouldn’t be something to feel lucky about. It should be the default, but sadly we’re not there yet. Not even close.

Earlier this year, Domino’s pizza was successfully sued by a blind customer after he was unable to order food on their website or mobile app, despite using screen-reading software. And in a recent study carried out by disability equality charity, Scope, 50% of respondents said that they had given up on buying a product because the website, app or in-store machine had accessibility issues.

Legally, reputationally and most importantly, morally, we all have a duty to do better. To make sure our products and services are accessible to everyone. We can use design systems to help us on that journey, but they’re just one part of our toolkit.

In the end, it’s about committing to the cause – doing the work to make things accessible. Because accessible design is good design.


About the author

Amy is a content specialist and design systems advocate who’s spent the last 3 years working as a Senior Content Designer at the Government Digital Service.

In that time, she’s led the content strategy for the GOV.UK Design System, including a straightforward and inclusive approach to documentation.

In January, Amy will continue her work in this space, in her new role as Product Manager for Babylon Health’s design system, DNA.

More articles by Amy




stem

The sovereignty game: Neo-Colonialism and the Westphalian System / Will Hickey

Online Resource




stem

Managing interdependencies in federal systems: intergovernmental councils and the making of public policy / Johanna Schnabel

Online Resource




stem

Militarization: a reader / Roberto J. González, Hugh Gusterson, Gustaaf Houtman, editors ; in collaboration with Catherine Besteman, Andrew Bickford, Catherine Lutz, Katherine T. McCaffrey, Austin Miller, David H. Price, David Vine

Dewey Library - U21.2.M558 2019




stem

The Putin system: an opposing view / Grigory Yavlinsky

Dewey Library - JN6695.I36813 2019




stem

Identities, trust, and cohesion in federal systems: public perspectives / edited by Jack Jedwab and John Kincaid

Dewey Library - JC355.I34 2018




stem

Explicit stability conditions for continuous systems [electronic resource] : a functional analytic approach / by Michael I. Gil’

Berlin, Heidelberg : Springer Berlin Heidelberg, 2005




stem

Complex Dynamics [electronic resource] : Advanced System Dynamics in Complex Variables. Intelligent Systems, Control and Automation: Science and Engineering, Volume 34

Springer 2007




stem

Dynamical systems with applications using mathematica [electronic resource] / Stephen Lynch

Boston, Mass. : Birkhäuser ; [2007]




stem

Dynamical systems [electronic resource] : examples of complex behaviour / Juergen Jost

Berlin ; New York : Springer, [2005]




stem

Digital control systems [electronic resource] : design, identification and implementation / Ioan D. Landau and Gianluca Zito

Berlin ; New York : Springer, [2006]




stem

Control of uncertain systems--modelling, approximation, and design [electronic resource] : a workshop on the occasion of Keith Glover's 60th birthday / B.A. Francis, M.C. Smith, J.C. Willems (eds.)

Berlin ; New York : Springer, [2006]




stem

Control of nonlinear and hybrid process systems [electronic resource] : designs for uncertainty, constraints and time-delays / Panagiotis D. Christofides, Nael H. El-Farra

Berlin ; New York : Springer, [2005]




stem

Control and observer design for nonlinear finite and infinite dimensional systems [electronic resource] / Thomas Meurer, Knut Graichen, Ernst Dieter Gilles (eds.)

Berlin ; New York : Springer, [2005]




stem

Advances in electric power and energy systems : load and price forecasting / edited by Mohamed E. El-Hawary




stem

Adaptive food webs : stability and transitions of real and model ecosystems / edited by John C. Moore (Colorado State University, CO, USA), Peter C. de Ruiter (Wageningen Universiteit, The Netherlands), Kevin S. McCann (University of Guelph, ON, Canada),




stem

Wind and solar based energy systems for communities / edited by Rupp Carriveau and David S-K. Ting




stem

The green marble : earth system science and global sustainability / David P. Turner

Turner, David (David P.), 1950- author




stem

An epistemology of noise / Cecile Malaspina ; foreword by Ray Brassier

Malaspina, Cécile, author




stem

Silvopasture : a guide to managing grazing animals, forage crops, and trees in a temperate farm ecosystem / Steve Gabriel ; foreword by Eric Toensmeier

Gabriel, Steve, 1982- author




stem

Microgrids and other local area power and energy systems / Alexis Kwasinski (University of Pittsburgh), Wayne Weaver (Michigan Technological University), Robert S. Balog (Texas A&M University)

Kwasinski, Alexis, 1970- author




stem

Satellite remote sensing for conservation action : case studies from aquatic and terrestrial ecosystems / edited by Allison K. Leidner (ASRC Federal/National Aeronautics and Space Administration), Graeme M. Buchanan (RSPB, Edinburgh, UK)




stem

Promoting biodiversity in food systems / edited by Irana W. Hawkins, PhD, MPH, RDN




stem

Climate change and crop production : foundations for agroecosystem resilience / edited by Noureddine Benkeblia




stem

Microbes for restoration of degraded ecosystems / edited by D.J. Bagyaraj, Jamaluddin




stem

Global perspectives on air pollution prevention and control system design / [edited by] G. Venkatesan, Jaganathan Thirumal




stem

Advances in energy systems : the large-scale renewable energy integration challenge / edited by Peter D. Lund (Aalto University, Finland) [and three others]




stem

Smart power systems and renewable energy system integration / Dilan Jayaweera, editor




stem

Use, operation and maintenance of renewable energy systems : experiences and future approaches / Miguel A. Sanz-Bobi, editor




stem

Climate change and terrestrial ecosystem modeling / Gordon Bonan (National Center for Atmospheric Research, Boulder, Colorado)

Bonan, Gordon B., author




stem

The thermodynamic chemistry of the aqueous copper-ammonia thiosulfate system / Silvia Beatriz Black

Black, Silvia Beatriz




stem

067 JSJ Testem with Toby Ho

Panel Toby Ho (twitter github blog) Joe Eames (twitter github blog) Aaron Frost (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:53 - Aaron Frost Introduction Domo 1.21 Gigawatts - Chromeapps with Angularjs and Node (Aaron Frost and Dave Geddes) 02:45 - Toby Ho Introduction testem Toby Ho - Testem: Interactive JS Test Runner Toby Ho: Better TDD Workflow via Exclusive Tests in Jasmine and Mocha 03:06 - testem Autotest guard Jasmine Mocha QUnit Buster.JS PhantomJS node.js 04:43 - Integration Tests 038 JSJ Jasmine with Justin Searls capybara 06:32 - guard 07:49 - The testem UI node-charm 09:55 - The Browser Launcher 11:40 - CI Mode Jenkins TeamCity 12:27 - Is it a Global Installer? npm 13:39 - Workflow Grub Filtering testem.json/testem.yml Devmode Exclusive Tests in Mocha Karma .only Console Logging 21:27 - Debugging Git Hooks Minification 25:25 - testem vs Karma AngularJS 28:08 - Testing JavaScript Jasmine Mocha QUnit 29:50 - Browsers Chrome 30:54 - Configurations 32:11 - Contributors Jake Verbaten (Raynos) Derek Brans Justin Searls David Mosher lineman 33:33 - Grunt.js grunt-testem 35:09 - Testing & TDD Bryan Liles: TATFT - Test All the F***in Time Picks The Rithmatist by Brandon Sanderson (Joe) Call of Duty: Black Ops 2 (Aaron) Amazon Prime (Chuck) Big Bang Theory (Chuck) HandBrake (Chuck) Rails Conf 2013 The Magic Tricks of Testing by Sandi Metz (Toby) Giles Bowkett - Secrets Of Superstar Programmer Productivity: Flow (Toby) Book Club JavaScript Allongé with Reginald Braithwaite!  He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th. Next Week ES Next with Aaron Frost Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]  [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]  CHUCK:  Hey everybody, and welcome to Episode 67 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE:  Hey there. CHUCK:  We also have Aaron Frost filling in for us. AARON:  Hello. CHUCK:  And we have a special guest and that is Toby Ho. TOBY:  Hi everyone. CHUCK:  I’m Charles Max Wood from DevChat.TV. Guys, why don’t we have you introduce yourselves really quick? Let’s start with you, Aaron. AARON:  Okay. So, I’m a frontend developer at Domo. JOE:  Open-source evangelist. AARON:  Well, you can call me whatever you want. [Laughter] AARON:  I’ve worked here for a few months. I love it. I’m writing a book on the next version of ECMAScript and a dad with three kids. So yeah, that’s me. JOE:  Aaron’s too modest. He’s also a big-time conference speaker. He’s a regular presenter at local user groups. And like I said before, he’s one of our evangelists, so he was hired as a really high-level frontend engineer here at Domo to help us take our JavaScript and frontend work into the next level, really. CHUCK:  Yeah, I also showed up late to a workshop that he was putting on using Node and Twilio and that was pretty cool. JOE:  Yeah, that thing has been the bomb. Also, Aaron’s presentation at Fluent Conf with Dave Geddes was apparently the hit of the entire show, the best received. The organizer said he thought it was definitely one of the best presentations done at Fluent Conf. AARON:  Yeah. They said it was the most entertaining and Simon said he wished we could cut it down in ten minutes and that they had made us keynote, because it was pretty fun. We had a lot of fun with it. CHUCK:  Cool. JOE:  Yeah, it’s up on YouTube. We’ll put links in the show notes. It’s really great.




stem

115 JSJ The ES6 Module Loader Polyfill, SystemJS, and jspm with Guy Bedford

the panelists discuss the ES6 module loader polyfill, SystemJS, and jspm with Guy Bedford.




stem

JSJ 378: Stencil and Design Systems with Josh Thomas and Mike Hartington

Sponsors

Panel

  • Aimee Knight

  • Chris Ferdinandi

  • Joe Eames

  • AJ O’Neal

  • Charles Max Wood

With Special Guests: Josh Thomas and Mike Hartington

Episode Summary

Today’s guests Josh Thomas and Mike Hartington are developers for Ionic, with Josh working on the open source part of the framework on Ionic. They talk about their new compiler for web components called Stencil. Stencil was originally created out of work they did for Ionic 4 (now available for Vue, React, and Angular) and making Ionic 4 able to compliment all the different frameworks. They talk about their decision to build their own compiler and why they decided to open source it. Now, a lot of companies are looking into using Stencil to build design systems

The panel discusses when design systems should be implemented. Since Ionic is a component library that people can pull from and use themselves, Jeff and Mike talk about how they are using Stencil since they’re not creating a design system.

The panel discusses some of the drawbacks of web components. They discuss whether or not Cordova changes the game at all. One of the big advantages of using Stencil is the code that is delivered to a browser is generated in such a way that a lot of things are handled for you, unlike in other systems.The panelists talk about their thoughts on web components and the benefits of using a component versus creating a widget the old fashioned way. One such benefit of web components is that you can change the internals of how it works without affecting the API. Josh and Mike talk about some of the abilities of Stencil and compare it to other things like Tachyons. There is a short discussion of the line between frameworks and components and the dangers of pre optimization. If you would like to learn more about Stencil, go to stenciljs.com and follow Josh and Mike @Jtoms1 and @mhartington.

Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award

Links

Follow DevChat on Facebook and Twitter

Picks

Aimee Knight:

AJ O’Neal:

Chris Ferdinandi:

Charles Max Wood:

Joe Eames:

Josh Thomas:

Mike Hartington:




stem

JSJ 397: Design Systems with Kaelig Deloumeau-Prigent

Kaelig Deloumeau-Prigent is a self taught web developer from west France. He has worked for BBC, The Guardian, and The Financial Times in the UK. He has also worked in the US for SalesForce and currently works for Shopify on their Polaris design system. Shopify has multiple design systems, and Polaris is open source. Today the panel is talking about design systems and developer tooling around design systems. 

To begin, Kaelig explains what a design system is. A design system is all of the cultural practices around design and shipping a product. It includes things like the words, colors, spacing grid system, and typography, plus guidance on how to achieve that in code. The panelists discuss what has made design systems so popular. Design systems have been around for a while, but became popular due to the shift to components, which has been accelerated by the popularity of React. The term design system is also misused by a lot of people, for it is much more than having a Sketch file. 

Next, they talk about whether design systems fall under the jurisdiction of a frontend developer or web designers. Kaelig has found that a successful design system involves a little bit of everyone and shouldn’t be isolated to one team. They talk about what the developer workflow looks like in a design system. It begins with thinking of a few common rules, a language, and putting it into code. As you scale, design systems can become quite large and it’s impossible for one person to know everything. You either give into the chaos, or you start a devops practice where people start to think about how we build, release, and the path from designer’s brain to production.

The panelists then talk about how to introduce a design system into a company where there are cultural conflicts. Kaelig shares his experience working with SalesForce and introducing a design system there. They discuss what aspects of a design system that would make people want to use it over what the team is currently doing. Usually teams are thankful for the design system. It’s important to build a system that’s complete, flexible, and extensible so that you can adapt it to your team. A good design system incorporates ‘subatomic’ parts like the grid system, color palette, and typography, referred to as design tokens. Design systems enable people to take just the bits of the design system that are interesting to them and build the components that are missing more easily. 

The conversation turns to the installation and upgrade process of a design system. Upgrading is left up to the customer to do on their own time in most cases, unless it’s one of the big customers. They talk about the role of components in upgrading a design system. Kaelig talks about the possibility of Shopify transitioning to web components. Kaelig shares some of his favorite tools for making a design system and how to get started making one. A lot of design teams start by taking a ton of screen shots and looking at all the inconsistencies.Giving them that visibility is a good thing because it helps get everyone get on the same page. The panelists talk about the role of upper management in developing components and how to prioritize feature development. Kaelig talks about what drives the decision to take a feature out. The two main reasons a feature would be removed is because the company wants to change the way things are done and there’s a different need that has arisen. The show concludes by discussing the possibility of a design system getting bloated over time. Kaelig says that Design systems takes some of the burden off your team, help prevent things from getting bloated, allow you to ship less code.

 

Panelists

  • Chris Ferdinandi

  • Aimee Knight

  • Steve Emmerich

With special guest: Kaelig Deloumeau-Prigent

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Emmerich:

Aimee Knight:

Chris Ferdinandi:

Kaelig Deloumeau-Prigent:




stem

Zenoss core 3.x network and system monitoring [electronic resource] : a step-by-step guide to configuring, using, and adapting this free Open Source network monitoring system / Michael Badger

Badger, Michael




stem

Zenoss Core network and system monitoring [electronic resource] : a step-by-step guide to configuring, using, and adapting the free open-source network monitoring system / Michael Badger

Badger, Michael




stem

Predicting Pulmonary to Systemic Flow Ratio Using Chest Radiograph in Congenital Heart Disease

This study develops and validates a quantitative method to predict the pulmonary to systemic flow ratio in patients with congenital heart disease from chest radiographs using deep learning.




stem

[ASAP] A Nanoprimer To Improve the Systemic Delivery of siRNA and mRNA

Nano Letters
DOI: 10.1021/acs.nanolett.0c00752




stem

Vertical flow constructed wetlands : eco-engineering systems for wastewater and sludge treatment / Alexandros Stefanakis, Christos S. Akratos, Vassilios A. Tsihrintzis

Stefanakis, Alexandros, 1982-




stem

Marine ecosystems : human impacts on biodiversity, functioning and services / edited by Tasman P. Crowe, University College Dublin, Ireland, Christopher L.J. Frid, Griffith University, Queensland, Australia




stem

Federal ecosystem management : its rise, fall, and afterlife / James R. Skillen

Skillen, James R., author




stem

Deep marine systems : processes, deposits, environments, tectonics and sedimentation / Kevin T. Pickering & Richard N. Hiscott ; with contribution from Thomas Heard

Pickering, K. T. (Kevin T.), author




stem

Pollution status, environmental protection, and renewable energy production in marine systems / Ahmed El Nemr, editor




stem

River ecosystem ecology : a global perspective : a derivative of Encyclopedia of inland waters / editor, Gene E. Likens




stem

Marine ecosystem-based management in practice : different pathways, common lessons / Julia M. Wondolleck and Steven L. Yaffee

Wondolleck, Julia Marie, author




stem

Floodplains : processes and management for ecosystem services / Jeffrey J. Opperman, Peter B. Moyle, Eric W. Larsen, Joan L. Florsheim, and Amber D. Manfree

Opperman, Jeffrey J., 1971- author