Having high-quality bricks isn’t enough, you also need to know how to use them.
But not having high-quality bricks are even more hindering. If you have differently shaped wood blocks for example, it makes much harder to build.
Creating a brand-new component that “blends in” with an existing third-party design system is really friggin’ hard.
On the other hand, creating a whole design system which takes care to every detail is even more harder.
But as time goes on, they get bogged down.
I won’t fall in the trap to compare students with multiple-years-of-experience professionals. Sounds kinda obvious why students can’t bend existing components as they want to.
As someone with limited web skillz who’s been building a web UI with Bootstrap for a few months, I disagree. Having a framework and box of components has made the work so much easier, especially in getting the level of visual polish I desire.
I’ve built a few small websites in the past, from 1995 to maybe 2005, but it was a pain in the ass and the results didn’t look very good.
Experts often underestimate the difficulty of working without their expertise. I’m sure for someone like the author, a framework would often be more trouble than it was worth.
Take a note of how things are spaced, and what font sizes are used.
As an application developer, why should I have to specify these things at all? Why can’t I provide pure content and semantics, and let the user agent render the UI in the way that’s best for the user?
Looking at it a different way, when implementing accessibility, a developer specifies content and semantics through the appropriate HTML markup and ARIA attributes, or a platform accessibility API for non-web apps, and adapting that information for a specific disability is someone else’s problem (e.g. the screen reader developers). I want to apply that same approach to the UI for typical users.
Granted, my perspective on this is idiosyncratic, because I’m legally blind, and the UIs I develop are primarily for blind people. So I guess my attitude toward sighted users is like the attitude that I assume most mainstream developers have toward blind users.
Because visual design is an art form, not a set of rules. Or put differently, we don’t have AIs that can figure out an objectively-optimal layout for a bag of semantic data. (“Art is any science having more than seven variables” —unknown)
In limited cases like purely tabular data, automatic layout can often do OK — viz. the HTML “table” element. But even there the browser often makes bad decisions about column widths.
Because theory (pure semantics) does not survive contact with reality. People will quickly find edge cases where what is provided does not meet what is needed.
As someone who works on internal applications, if there is any way for a user to hack a solution together that will make your tool do something you didn’t intend, they will do it. And people quickly integrate their horrifying creations into critical workflows.
As someone inside the company, I have a chance to address this by working with management to find better solutions or provide training.
This completely falls apart when you can’t control the users of a system.
The best real world example of this I can think of is, ironically, HTML…
I think the book Refactoring UI is quite helpful for this. It has many examples of UI before and after various tweaks, demonstrating the effects of changes such as rotating a hue in a gradient or adding a second, smaller drop shadow to represent ambient light.
Sure you don’t “need” one but eventually you’ll end up writing your own.
Maybe not because you need the components, the pieces I use the most out of these frameworks are the helpers and utilities so spacing, alignment, layout. All these utilities are so common it’s worth having “at least” a personal framework to work with.
You really do need one, but sadly, you are trying to use a hypertext document technology instead.
But not having high-quality bricks are even more hindering. If you have differently shaped wood blocks for example, it makes much harder to build.
On the other hand, creating a whole design system which takes care to every detail is even more harder.
I won’t fall in the trap to compare students with multiple-years-of-experience professionals. Sounds kinda obvious why students can’t bend existing components as they want to.
The realization I have had recently is that Tailwind is a competitor to Sass, not Bootstrap. Once you see that, it makes more sense.
As someone with limited web skillz who’s been building a web UI with Bootstrap for a few months, I disagree. Having a framework and box of components has made the work so much easier, especially in getting the level of visual polish I desire.
I’ve built a few small websites in the past, from 1995 to maybe 2005, but it was a pain in the ass and the results didn’t look very good.
Experts often underestimate the difficulty of working without their expertise. I’m sure for someone like the author, a framework would often be more trouble than it was worth.
As an application developer, why should I have to specify these things at all? Why can’t I provide pure content and semantics, and let the user agent render the UI in the way that’s best for the user?
Looking at it a different way, when implementing accessibility, a developer specifies content and semantics through the appropriate HTML markup and ARIA attributes, or a platform accessibility API for non-web apps, and adapting that information for a specific disability is someone else’s problem (e.g. the screen reader developers). I want to apply that same approach to the UI for typical users.
Granted, my perspective on this is idiosyncratic, because I’m legally blind, and the UIs I develop are primarily for blind people. So I guess my attitude toward sighted users is like the attitude that I assume most mainstream developers have toward blind users.
Because visual design is an art form, not a set of rules. Or put differently, we don’t have AIs that can figure out an objectively-optimal layout for a bag of semantic data. (“Art is any science having more than seven variables” —unknown)
In limited cases like purely tabular data, automatic layout can often do OK — viz. the HTML “table” element. But even there the browser often makes bad decisions about column widths.
Because theory (pure semantics) does not survive contact with reality. People will quickly find edge cases where what is provided does not meet what is needed.
As someone who works on internal applications, if there is any way for a user to hack a solution together that will make your tool do something you didn’t intend, they will do it. And people quickly integrate their horrifying creations into critical workflows.
As someone inside the company, I have a chance to address this by working with management to find better solutions or provide training.
This completely falls apart when you can’t control the users of a system.
The best real world example of this I can think of is, ironically, HTML…
I think the book Refactoring UI is quite helpful for this. It has many examples of UI before and after various tweaks, demonstrating the effects of changes such as rotating a hue in a gradient or adding a second, smaller drop shadow to represent ambient light.
Sure you don’t “need” one but eventually you’ll end up writing your own.
Maybe not because you need the components, the pieces I use the most out of these frameworks are the helpers and utilities so spacing, alignment, layout. All these utilities are so common it’s worth having “at least” a personal framework to work with.