AMA with Harry Roberts

Ask Me Anything

Harry Roberts

Held on

Hey all!

I’ve had a bunch of fun answering everyone’s questions! There’ve been some really good ones, thank you :)

If I didn’t answer your question quite correctly, or you’d like a little more detail, please feel free to ping me an email and we can discuss things further there: csswizardry@gmail.com

For anything shorter form, you can just fire me a tweet: @csswizardry

I hope you all enjoy the rest of your days, wherever you are in the world. Thanks for having me!

If we’re ever at an event together, come say hi and let’s grab a beer!

H

What are a few of the simple, yet not very well known “front-end performance” tricks?

I love this question! I’m gonna focus on simple.

  1. Simply move your CSS’ link elements to as close to the top of the HTML document as you can. Seriously, it can make a difference. I did an audit for a company once and their CSS was linked on like line 81 of their HTML; this meant that touch icons, Facebook/Twitter card images, plugins’ JS, etc. were all being requested before their render-blocking CSS was. By moving the CSS up to line ~5 we managed to improve render time by a good half second.
  2. Don’t put scripts at the bottom any more: make use of async and defer attributes
  3. Make use of resource hints[1] to tell the browser to prioritise things out of regular order (or for subsequent navigation).

All of these are one-line (or less) fixes.

  1. https://www.w3.org/TR/resource-hints/
maruru

Marco Alka· 6 months ago

@maruruSoftware Engineer, E2.0 Evangelist, Hobby Game Developer

Hello Harry,

Thank you for the AMA! To be honest, I am a fan of your ITCSS and BEMIT techniques (at least what I could find out in the WWW), so I really look forward to the AMA and all of your answers!

As for my questions, here are a few which I find highly interesting:

  1. On CSSWizardry, you sometimes use CSS, but you also sometimes use SCSS. Do you have any pattern when to use what?
  2. What are your most-used SCSS features, which will probably not be replaced by upcoming CSS standards in the short-run?
  3. How do you decide on responsive breakpoints? For which elements do you add special breakpoints? (images, menues,...)
  4. I sometimes read that rendering performance can be influenced by carefully writing certain CSS selector rules. Do you think something like that is plausible, or even relevant for todays highly performant devices?
  5. If you could change any one way CSS is used today with a wish to a djinn, what would it be?
  6. I have been waiting for the release of an official ITCSS spec and the Inuit framework for some time. Can we expect anything this or next year?

I really hope you could answer one question or another. Thank you for your time and motivation to do this AMA :)

Wow! Good questions.

I am a fan of your ITCSS and BEMIT techniques…

Thanks :D

On CSSWizardry, you sometimes use CSS, but you also sometimes use SCSS. Do you have any pattern when to use what?

I am a little inconsistent with this, but I recently hit upon a rule of thumb for myself: if using Sass would obscure the message, I will avoid it. Even if Sass would improve the overall code, but masks the thing we’re trying to learn, then leave it out. I hit this conclusion on an article in which I was demoing custom properties and @supports[1]: using Sass would have made the code much more terse but would have definitely detracted from the whole point of the article.

What are your most-used SCSS features, which will probably not be replaced by upcoming CSS standards in the short-run?

Honestly, probably just flat @imports. Vanilla CSS @import is absolutely evil as far as performance is concerned, so having Sass flatten them for me is great. That said, HTTP/2 will negate the need for concatenation, so maybe even that will be less important to me in future.

How do you decide on responsive breakpoints? For which elements do you add special breakpoints? (images, menues,...)

This is really difficult. Usually a designer will have picked them already, loosely around ‘traditional’ screen sizes (480, 1024, etc.). This isn’t ideal, but it’s kinda just how things are: just make sure you convert the values to ems[2].

Any piece of UI that needs a tweakpoint should get one, so custom breakpoints should be used as soon as the design starts to look strained.

I sometimes read that rendering performance can be influenced by carefully writing certain CSS selector rules. Do you think something like that is plausible, or even relevant for todays highly performant devices?

Selectors do have an inherent performance value[3], but it should be the very last thing on our list to optimise.

If you could change any one way CSS is used today with a wish to a djinn, what would it be?

Honestly? I wish that only people who wanted to write good CSS would actually write it. Too many people openly don’t care about quality CSS, and that’s where we get problems. That said, I’d be out of a job if everyone did it properly!

I have been waiting for the release of an official ITCSS spec and the Inuit framework for some time. Can we expect anything this or next year?

I have a great team of contributors working on inuitcss at the moment, and we’re fast approaching a beta. ITCSS… it’s hard to say. I might publish it as an eBook, but that’s going to take more time than I currently have I’m afraid :(

  1. http://csswizardry.com/2016/10/pragmatic-practical-progressive-theming-with-custom-properties/
  2. https://zellwk.com/blog/media-query-units/
  3. http://csswizardry.com/2011/09/writing-efficient-css-selectors/

What are some of your favourite technical and non-technical books? Who is a developer you admire the most?

What are your recommended resources for getting an almost “complete” knowledge of CSS?

  1. Read specs.
  2. Focus on one thing at once.
  3. Find the people who specialise in areas the most (e.g. Hugo Giraudel for Sass, Rachel Andrew for grid, Ana Tudor for math, Sara Soueidan for SVG, Paul Lewis for rendering performance, Rachel Nabors for animation, Lea Verou for basically everything else).
  4. Take things apart. Seen something cool/intriguing? Take it apart and then put it back together, but better. Learn by (un)doing.

Do you advocate the use of CSS frontend frameworks like Bootstrap, Foundation, etc.? Have you used them?

I have opinions on this that will keep us here for more than two hours!

Firstly, I want to make a rather pedantic point that Bootstrap, Foundation, etc. are not frameworks. They’re toolkits. That’s not a criticism, but it’s important to note that, where a framework offers guidance and standards, toolkits like these go a step further and offer bits of styled/opinionated UI.

The comparison I make is that Symfony is a PHP framework, whereas WordPress is a blogging platform written in PHP. The difference there is the difference between a framework in its truest sense, and a UI toolkit like Bootstrap, Foundation, etc.

Do you advocate the use of CSS frontend frameworks like Bootstrap, Foundation, etc.?

If you need a UI out of the box (e,g. internal dashboards, reports, etc.), definitely. If you have your own design to implement, use a true framework, or start from scratch.

Have you used them?

I have, but via clients who’d realised that they weren’t the right thing to have used.

For more opinions like these: https://www.youtube.com/watch?v=xR6V9bHlrx0

LisaY

Lisa Yangson· 6 months ago

@LisaYAspiring polymath programmer, feminist

Hi Harry!

There's very little known about your personal life in the public. Sorry my questions are little personal, since it's AMA (Ask me anything). ;)

  1. Are you married?
  2. Am I invited to Harry's Bar? 😄 https://www.instagram.com/p/BAURBEPIjB3/
  3. What's your favorite drink?

Have been following following your talks, you are awesome! :)

Lisa

Hah!

I suppose it is an ask me anything.

Are you married?

I’m not.

Am I invited to Harry's Bar?

When I open Harry’s Bar for real, I’ll do a tech industry night. You can all come!

What's your favorite drink?

Either a split rye/cognac Sazerac[1] or an Aviation[2] with decent violette.

Have been following following your talks, you are awesome! :)

Thank you :)

  1. https://en.wikipedia.org/wiki/Sazerac
  2. https://en.wikipedia.org/wiki/Aviation_(cocktail)

If you’re aware of React, what is your opinion on coupling styles with components? What do you think of styled-components.com?

I’m aware of React.

I think packaging your styles with your components is, philosophically, a good idea. This is what Web Components will give us. What I am hesitant about, though, is writing your CSS as JS objects. Writing your styles actually as JS doesn’t sit too well with me. Keith Grant puts it best[1] when he says:

If in 14 months you find a new view library or framework you want to try out, you're out of luck. You will have to invest a lot of time into pulling styles back out of JavaScript modules and into stylesheets again.

By all means, bundle them together, but I’m all for keeping each language/syntax separate.

What do you think of styled-components.com?

I don’t have enough knowledge about it to comment I’m afraid.

  1. http://keithjgrant.com/posts/against-css-in-js.html

Hi Harry, I've followed your work since becoming a front end developer and it's shaped me into the developer I am today. Thanks! What are your plans for http://inuitcss.com/ and http://itcss.io/ ?

Hey! That’s really nice to hear, thanks for taking the time to let me know. That’s very humbling :)

What are your plans for http://inuitcss.com/ and http://itcss.io/ ?

Would you mind if I was real lazy and just pointed you to this answer?

Innocent

Stephan de Vries· 6 months ago

@InnocentFull stack developer, enthusiastic about new technologies.

Hi Harry, how are you? Thank you for hosting this AMA! Because of you our company is now using ITCSS + BEM to create scalable and maintainable web applications!

How do you normally make ITCSS 'components' responsive? I've seen the use of responsive classes, but do you ever use media queries within your component's CSS?

Thank you for hosting this AMA!

You’re welcome!

Because of you our company is now using ITCSS + BEM to create scalable and maintainable web applications!

Awww yis!

How do you normally make ITCSS 'components' responsive? […] do you ever use media queries within your component's CSS?

If a specific component needs to have a different appearance over several breakpoints, I write MQs inside of it. Responsive classes are usually reserved for utilities where responsive behaviour can be abstracted.

Further, I always write the MQs in the file that they affect (e.g. _components.buttons.scss) and not in a mega MQ toward the end of the project. Encapsulation :)

AlmaAL

Alma Sokolowski· 6 months ago

@AlmaALWeb Designer · CSS · UX

Have you come across !important soup in any of the code bases you ever looked at? Do you have guidelines on when and when not to use it? "!important everything" meme cracks me up :D

Allllll the time!

!important: 3 seconds to type, 3 years to remove.

Use important proactively: apply it to Utility classes, e.g.:

.u-text-center {
  text-align: center !important;
}

We’d literally never want this class to do anything other than text-align: center; so we force it to always win by using !important.

Never use !important in anger. Don’t use it to get out of specificity wars. Instead, hack the specificity of your existing selectors around[1].

I’ve written and spoken quite a lot about !important, actually[2][3].

  1. http://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/
  2. http://csswizardry.com/2016/05/the-importance-of-important/
  3. https://speakerdeck.com/csswizardry/css-for-software-engineers-for-css-developers?slide=65

Many times we associate front-end development only to the use of HTML, CSS and JS but going a step back, we have the UI/UX and Web Design.

As front-end developer/architect what do you think do both work at same time, is really necessary?

Do you mean what do I think do doing the design and build work at the same time?

I think that it’s usually impractical to do both in parallel, but getting close to parallel is a huge advantage. I don’t necessarily advocate designing in the browser, but I definitely share my buddy Dan’s[1] sentiment of decide in the browser.

Get into the browser as soon as you can, whether you’re the designer and FED on the project, or even if those are two separate people. Having the design phase then the build phase only sets everyone up for disappointment.

If that wasn’t what you were asking, well, you can have that one for free! if you want to reword it then I’ll gladly take another stab at answering :)

  1. https://twitter.com/danielmall
jitendra

Jitendra· 6 months ago

@jitendra#UX Engineer - Designer/coder with a passion for #rwd #usability #Accessibility and performance.

Do you still prefer to use Sass or would recommend PostCSS now?

Hmmm. This is interesting. I still really, really value Sass, so what I have been doing is a bit of both:

Sass » CSS » PostCSS (cssnext) » CSS

This means we can use standardised syntax for variables (--foo: bar;) but still transpile that down to static CSS for old browsers. As soon as we can use custom properties everywhere, we can transition over more easily, but still leave other things to Sass.

I've written a CSS toolkit following your teachings - BEM and ITCSS (http://blazecss.com)

Since ITCSS and BEMIT are popular, how do you go about promoting your work? Any tips you could give us?

I’d argue that you need to a) be a differentiator and b) solve problems that people are actually having. Solve those before you worry about popularity and popularity should follow.

I’d also consider why you want Blaze to exist—if you want it to be a promotional tool to raise your own profile (and hey, there’s absolutely nothing wrong with that at all!) then I’d probably apply to speak at meetups and confs about how it works and what it does. Also send some stickers or whatever to people who have either inspired or helped you, or who might be able to help you in promotion or some sort.

If you’re building Blaze to solve actual problems for people, just keep your head down and keep doing good work :)

What are a few things that I should keep in mind when refactoring CSS in an old code base?

  1. Try and avoid refactoring CSS whilst it’s still inside the codebase, otherwise you’re jut going to end up leaning on stale/legacy code. Refactor/rewrite/rebuild things out in Codepen (or similar) so that you’re starting with a completely clean slate, and then move things back into the codebase from there.
  2. Make sure you signal/highlight what has been refactored—you don’t want people redoing the stuff you’ve redone!
  3. Refactor the things with most business value first.
  4. Don’t refactor anything with a large surface area: refactor small things that only touch a small amount of the project.

Get all of this in long form here: https://slideslive.com/38898201/refactoring-css-without-losing-your-mind :)

What are your thoughts about Atomic CSS (acss.io) and other similar frameworks that uses single purpose styling units applied via classes?

Have you ever used them in production or recommended it to your clients?

Although they make compelling arguments, I’m on the fence about them.

They borrow a very tried and tested paradigm from computer science—composition over inheritance[1]—which means the concept is sound, however it’s being applied in a way that has the potential to go in the other direction.

I haven’t worked with ACSS (or similar) myself, but I am glad people are experimenting with it.

My fuller thoughts can be found on my site[2].

  1. https://en.wikipedia.org/wiki/Composition_over_inheritance
  2. http://csswizardry.com/2015/03/can-css-be-too-modular/

Hi Harry,

We've be working in-house with ITCSS and Inuit for bit now. How do you reconcile certain philosophical conflicts between the two?

Examples:

  1. ITCSS: flat file structure vs. Inuit: directory-based
  2. ITCSS: DRY vs. Inuit: Node install requiring potential overrides (a la Bootstrap)

Many thanks for the AMA!

Hmmm… interesting.

To understand the two, I usually say that ITCSS is an architecture, and inuitcss is the embodiment of it. They share the exact same philosophies.

ITCSS: flat file structure vs. Inuit: directory-based

ITCSS doesn’t actually prescribe a directory structure; you can use whatever you wish. For a while I had a demo which was flat, but most people do (and can) implement it in directories. The primary idea of ITCSS is that it’s flexible enough that the implementor gets to make a lot of decisions.

ITCSS: DRY vs. Inuit: Node install requiring potential overrides (a la Bootstrap)

ITCSS aims for reduced redundancy, but can never completely eliminate it. That’s why inuitcss does often require a few overrides, they are definitely minimal. inuitcss also has a lot of preconfiguration which would hopefully reduce the amount of unused CSS in there.

So yeah, the intention is that they’re not really different in approach at all: inuitcss is just what you get when you put ITCSS’ theory into practice :)

What's your opinion on the Polymer framework? Have you tried it yet?

I like it! I used it once with a huuuuuuuge client, and they were getting great mileage out of it. It’s effectively a polyfill for Web Components, so I’m all for something that is paving the way for a standard.

Shadow DOM, encapsulation, bundling, etc. are wins in my book.

  • What are your opinions on utilising data attributes for styling? (such as http://codepen.io/SudoCat/pen/wzBzoG - shameless plug, I know, but a prime example of what I'm talking about)

  • A lot of people slam unqualified attribute selectors and wildcard attribute selectors, but they provide a huge amount of power to us devs, especially helping make our CSS more Object Orientated - where do you stand on the matter? (Kind of related to the above question)

  • I know you're a huge BEM advocate, but what about SUIT?

  • How do you deal with the horrors of JavaScript/CMS plugins injecting their nasty markup into your projects? I often try to avoid plugins with markup like the plague, but it's often unavoidable (Bloody carousels)

  • Is the dream of a truly clean, tidy, maintainable code base really achievable? I feel like my FED life is spent fighting for nearly unattainable goals - is there a light at the end of the tunnel?

  • Agencies or Products? I've been in the agency rat race my whole career, where few companies or clients value code quality. What do you think is more useful to improving your development practises, and which do you personally prefer?

I just want to take a second to say a huge thank you for your contributions to the front end community. Your blog posts have been a huge inspiration for me, and I credit a lot of my front end success to your writing and the mindset you approach CSS with.

Cheers!

Thanks for all the questions!

What are your opinions on utilising data attributes for styling? (such as http://codepen.io/SudoCat/pen/wzBzoG - shameless plug, I know, but a prime example of what I'm talking about)

The purist in me doesn’t like it. Data attributes, as per the spec, are:

to store custom data private to the page or application.

They’re a store, not a hook.

However, I’m starting to soften that stance a little. If you want to style something because it contains certain data, it might be a good idea[1]. However, using them where a class could/should have sufficed is probably not the right way to go.

A lot of people slam unqualified attribute selectors and wildcard attribute selectors, but they provide a huge amount of power to us devs, especially helping make our CSS more Object Orientated - where do you stand on the matter? (Kind of related to the above question)

As above, if a class could have done the job, and you’re not actually storing data, then a class it should be :)

I know you're a huge BEM advocate, but what about SUIT?

At the risk of trivialising the work that both Yandex and Nicolas do, I’d argue they’re both different flavours of the same thing. The only thing I’m interested in is the fact that you’re using a naming convention at all (and you’re using it uniformly and consistently).

How do you deal with the horrors of JavaScript/CMS plugins injecting their nasty markup into your projects?

Usually I just Deal With It™—there’s probably something more important to be worrying about. However, if the HTML is littered with IDs that we can’t get rid of, opt to use an attribute selector to style it instead (e.g. [id="foo"] {} instead of #foo {} because then at least we’re not using an ID’s worth of specificity[2].

Is the dream of a truly clean, tidy, maintainable code base really achievable? I feel like my FED life is spent fighting for nearly unattainable goals - is there a light at the end of the tunnel?

Until every developer on the team is a clone of a very talented developer, then it’s not realistic to have a completely perfect codebase. As soon as we recognise and acknowledge that, we can start focusing on good enough, and that’s where we can make value: It’s not perfect, but we can work with it; we have tech debt, but we have a plan to repay it; it could be neater, but it’s not slowing us down.

Whenever I write or get on stage, I’m talking principles and ideals and theory—even applying them word for word isn’t enough when you’re working in the real world. They exist to make life easier, not perfect.

Agencies or Products?

Each have their own merits, but I absolutely prefer products. Agencies give you diversity and variety, but there is little incentive from anyone (clients, managers, us) to focus on code quality. The client just wants it working for as cheaply as possible; your manager can’t sell ‘code quality’ like they can sell social media integrations; developers will be on a different project in eight weeks anyway.

When you work for a product, however, the tables are turned! You’re both the client and the developer, so it is absolutely in your interests to write better quality code. You’re going to be looking after this in two years time, so do your future-self favour and do a good job. As soon as you hit Save, you’re leaving legacy—make sure it’s worthy.

As an aside, here’s an interesting piece I read on code quality recently: http://www.darkcoding.net/software/facebooks-code-quality-problem/

  1. http://csswizardry.com/2016/10/pure-css-content-filter/
  2. http://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/

A few years ago; front-end was just HTML and CSS. Now we have “front-end architects”, and kudos for being a good one. Do you think back-end will have a sunset in the future with all the emerging “serverless” technologies?

I’d really like to answer this, but I’m not sure I get what you mean by sunset. If you’re reading, please can you reword for me? :)

greedee

Grey Davis· 6 months ago

@greedeeFrontend and other stuff

Hey Harry! thanks for hosting the AMA...

We had to wait for a long time for the flexbox spec to be implemented.. What are some useful(and overlooked) specs that you think should to be implement soon?

I’m gonna cheat and answer with features and specs, and what I would like to see implemented more widely:

  • Grid
  • Web Components
  • all: initial;
  • Custom Properties

Hi Harry,

I'd love to hear your thoughts on http://youmightnotneedjs.com and especially using the radio/check buttons and :checked "hack" in css (See tabs/accordion)

Hey!

This site has been a bit of a talking point lately, eh?

I like it. I think it’s a good idea. I’m also a stickler for wording, so when I see ‘you might not need JS’, I read ‘you might not need JS’. A lot of these perhaps should be best left to JS, and the project itself doesn’t make any claim otherwise.

I recently had a bit of fun making a pure CSS content filter[1] which I ultimately decided should be done with JS, but the process of at least trying it was a bunch of fun, and taught me some things about CSS that I didn’t know.

Experiment, have fun, do things just because, but make sure you’re fully aware of the implications of making it public (which I think youmightnotneedjs.com did, but still took heat for it).

… especially using the radio/check buttons and :checked "hack"

There are documented issues with this, and we already know that it’s bad because we all call it the Checkbox Hack. Don’t use it :)

  1. http://csswizardry.com/2016/10/pure-css-content-filter/

Hi Harry,

What is your opinion on normalising CSS? Is there still a need for this?

What's the best and worst thing about being from Yorkshire?

Best: I live in the best place on earth.

Worst: Sometimes I have to leave it.

(For anyone not familiar with Yorkshire, it’s breathtaking[1] and enormous and diverse and beautiful and no it’s not London. We’re also remarkably proud of it.)

  1. https://www.google.co.uk/search?q=yorkshire+landscapes&source=lnms&tbm=isch
jitendra

Jitendra· 6 months ago

@jitendra#UX Engineer - Designer/coder with a passion for #rwd #usability #Accessibility and performance.

Would like to know your thoughts on CSS-Modules and leveraging it with ITCSS https://github.com/css-modules/css-modules

I was a little unsure about CSS Modules until I saw Mark (who’s a really great guy, by the way!) deliver a very compelling talk on them at Front-Trends (which is a really great conference, by the way!)[1].

It made me realise that ITCSS and CSS Modules can quite happily coexist. All of the layers except Components can be written in Sass or whatever (this is like your ‘global’ CSS), then as soon as you get to your Components layer you could write that 100% in CSS Modules if you like.

  1. https://www.youtube.com/watch?v=KmtgJ1d4zuY

On recent project I split up CSS into multiple files in which there were chunks of layout (e. q. base, header, main, footer..), which were loaded asynchronously after each chunk's HTML so that the page loads/displays it's bits before whole page finishes loading while preventing FOUC. Is this considered good practice at the cost of more HTTP requests?

I love this question! We’ve learned recently that the best performance practices of yesteryear are a little more nuanced.

To my mind, the advice ‘Reduce HTTP requests’ should now be given as ‘reduce HTTP requests that will keep the user waiting’. If we can render the page in 3s with 30 requests, or in 2s with 40 requests, it’s clear that the more requests version is the better option.

I’d love to see a writeup or demo of the technique you’re describing, if you can share one…?

It's simple really. In header's <style> I put CSS to hide root elements of each section targeted by separate stylesheets, which are loaded via https://github.com/filamentgroup/loadCSS . Of course one would want to minimalize code repetition in their styles so that the styles are not repeated for no good reason. CSS that is used across all pages such as utilities/objects/other global styles is loaded the standard way. One also has to watch for bloat from style libraries, since usually it is desirable to have access to all mixins, variables and such in all of your separate stylesheet sources.

Not sure if that is enough to create write up or some sort of blog post + I am not that great of a writer so I hope this does the deed.

Hey Harry, big fan of your work!

I'm wondering, what's your take on creating and especially maintaining a style guide?

Any thoughts on deeper design systems like Rizzo from Lonely Planet, who kinda works as an API for production and their style guide?

Thanks!

Thanks!

I'm wondering, what's your take on creating and especially maintaining a style guide?

I’m absolutely all for it!

I had this exact discussion with a client today. Most (if not all, I imagine) of the styleguides that are actually successful have their own backing and funding from the business—they’re run as their own product.

Unfortunately, for most companies, this is unlikely to happen. This means the styleguide is maintained in spare time, or alongside product work, or isn’t maintained at all. What happens then is the exercise looks (on paper, at least) like a failure. This is really disheartening, but understandable.

So for a styleguide to really shine, it has to be treated as its own product/project. Or, at the very least, all design work should be carried out styleguide-first[1]. That is to say, we don’t build a new component for X page; we build a new component for the styleguide and then deploy it to X page.

Any thoughts on deeper design systems like Rizzo from Lonely Planet, who kinda works as an API for production and their style guide?

Things like Rizzo[2] and Origami[3] are great, and were built by some very clever people indeed. The API-style of deliver really helps to keep things in sync, whilst also dogfooding your work. But, again, there’s an entire team dedicated to maintaining Origami, which I would argue is a large part of its success. Same with the other forerunner, Salesforce’s Lightning Design System[4].

  1. https://www.youtube.com/watch?v=ldW7zVmqu5g
  2. https://rizzo.lonelyplanet.com/styleguide/design-elements/colours
  3. http://origami.ft.com/
  4. https://www.lightningdesignsystem.com/

Hi Harry - What's yr most hated front end framework?

Ohhhhh man, I can’t answer that 😂

Has there ever been a codebase you've consulted at where rewriting (at least parts) has been the best course of action?

There have been one or two. It’s hard to convince the business to spend money on a complete rewrite (the cost of six months of work just to get back to (visually) sqaure one is a tough one to sell) but the first ever high profile project I worked on was a total rewrite jobbie. It was all the better for it :)

hi harry. bootstrap or material ? react or angular or vue ? why ?

This isn’t a question one can really answer out of context, I’m afraid. It’s kinda putting the cart before the horse.

What problems do you need to solve? Ask that first, then work toward the natural solution. Avoid picking a solution before you understand your problem(s).

In an earlier answer, you said by just moving tags to the top, you have observed an increase of over 0.5 seconds. I have a follow up question : what are the tools you use to perform audits, and measure improvements?

There are loads of great tools out there, but my go-to tools every time are Webpage Test[1] and Chrome’s dev tools[2]. There isn’t much you can’t do with those two, and they’re free!

  1. http://webpagetest.org/
  2. https://developer.chrome.com/devtools
mevrael

Mev-Rael· 6 months ago

@mevraelLeader, Entrepreneur, CEO, CTO, Sr. Web Software Architect, designer & engineer. PHP, JavaScript, author of https://bunnyjs.com

What is missed in W3C specs for enterprise-level CSS architecture?

loading ...